Configuring Oracle NetSuite 

Integrate your Oracle NetSuite account with Chargebee to automate the synchronization of Invoices, Customers, and other data from Chargebee to NetSuite. This data is crucial for the financial management and analysis of your business.

We recommend consulting an accounting advisor before configuring the integration. You can test the integration on the Test Site before setting up the integration on the Live Site.

  • This integration supports NetSuite OneWorld and NetSuite Standard editions (without subsidiary) of the NetSuite ERP financial products only. Contact support  for more help.

Pre-implementation steps in Chargebee 

Make sure the following configurations are set up in your Chargebee site before enabling this integration.

  • Enable Accounting fields: Login to the Chargebee app. Click Settings > Configure Chargebee > Billing LogIQ and enable accounting fields for NetSuite. This will add the Accounting attributes in the Plans and Addons pages.

  • Enter a General Ledger (GL) Account for each Plan/Addon in Chargebee. Navigate to Product Catalog > Plans/Addons > Select a Plan/Addon > Accounting Information. Enter the GL Account Name. You can also provide a Revenue Recognition Template ID for Plan/Addons. This ID refers to the internal ID of the Revenue Recognition rules in NetSuite.

  • To differentiate the invoices sent from Chargebee (from the invoices already present in NetSuite), you can enter a prefix and sequence number for Invoices and Credit Notes in Chargebee. Navigate to Configure Chargebee > Invoices & Credit Notes > Invoices/Credit Notes and set a prefix and a sequence number of your choice.

Pre-implementation steps in NetSuite 

  • Authentication: Authentication is done based on Tokens created in NetSuite. You can follow the steps mentioned in this page and create the tokens. It generally takes 3-4 hrs to refresh the tokens and it is recommended to create the tokens at least one day before setting up the integration in Chargebee.

  • Unlock Accounting Periods: Ensure you have the necessary periods unlocked in NetSuite. Navigate to Setup > Accounting > Manage Accounting Periods and make sure that the FY/Quarters are unlocked.

  • Currencies: The currencies present in Chargebee should be present in NetSuite. You need to manually add the currencies in NetSuite. Click here for more information.

  • Enable Features: Ensure you have enabled features such as SuiteCloud or Advance Revenue Management for the integration. Navigate to Setup > Company > Enable Features and enable the features as required.

  • Create Rev Rec Start Date/End Date (Advanced Revenue Management (ARM) Start/ End Date):

    • If you want Chargebee to send the subscription start date and end date to NetSuite, you can create a Start Date and End Date.
    • Navigate to Customization > Lists, Records & Fields > Transaction Line Fields > create invoice level fields (Transaction Column Custom fields) to accept Start Date and End Date.
    • You can then map the custom fields with Advanced Revenue Management fields by navigating to Setup > Accounting > Revenue Field Mapping.
  • Mandatory Custom Fields: If there are custom fields mandatory in NetSuite, it is recommended to make the fields optional and set a default value.

    • Custom fields at Customer, Item, or Invoice levels should be reviewed before setting up the integration. Navigate to Customization > Lists, Records & Fields > Entity Fields or Item fields and make the necessary edits.
    • If you do not prefer to make the fields optional, you can create custom fields in Chargebee and map them to the respective fields in NetSuite. Contact support  for more help on mapping custom fields.
  • Override Document Numbers: You can select Chargebee's document numbers in NetSuite.

    • You can enable this option in NetSuite by navigating to Setup > Company > Auto-Generated Numbers > Review the option in Entities and Document Number sub-tabs.
    • If you have checked the Allow Override option, then Chargebee's identifiers will be set as the primary ID for Invoices, Credit Memos, Customers, and so on.
  • Timezone Alignment: As a preliminary step, ensure that the timezone set for the user in Netsuite matches that of the Chargebee site before establishing the integration. This alignment is crucial as Netsuite converts the UTC date format sent by Chargebee to the user's timezone, potentially leading to discrepancies in invoice dates, revenue recognition dates, and other relevant timestamps if the time zones differ.

  - Chargebee's ID is set as the External ID for search/reference purposes in NetSuite.


The following steps provides information on how you can configure the Chargebee-NetSuite Integration.

1. Connect 

Log in to the Chargebee app and navigate to Apps > Go to Marketplace > Accounting > Oracle NetSuite. Click Connect and enter the login credentials.

Once you have completed the token creation process as explained in this document, you will have the following:

  • Consumer Key
  • Consumer Secret
  • Token Key
  • Token Secret
  • Account ID

2. Select a Subsidiary 

To connect your site with NetSuite, Chargebee attempts to retrieve your NetSuite subsidiaries and map customers. If Chargebee is unable to retrieve subsidiaries, the following message is displayed:

If you do have multiple subsidiaries in NetSuite, you can click Refresh to try once again. Or if you don't have subsidiaries in your NetSuite account, click Proceed.


NetSuite's Standard edition currently does not support subsidiaries. Therefore, while integrating your Chargebee site with NetSuite Standard edition, you can click Proceed right away.

When subsidiaries are successfully synced inside Chargebee, you can do the following:

  1. Choose a default subsidiary: You can select a default subsidiary to which Chargebee should post customer and invoice information in NetSuite.

  2. Set up additional subsidiaries: You can enable this setting to set up more subsidiaries to which you want to sync your accounting data in NetSuite.

    • Click Map via CSV to map the customer records in Chargebee to different subsidiaries based on the country of location. If your subsidiaries are not based on their country of location, you can contact support  to map the customer records based on any other fields.
  3. Click Proceed.


Customer attributes can only be used for routing customer and invoice information to specific subsidiaries.

3. Verify Accounting information 

Chargebee will check whether your plans/add-ons have valid GL information. If a plan/add-on doesn't have the GL information, the error details will be listed.

You can download the CSV file to add the accounting information for all plans and addons, by following these steps:

  1. Click Fix via CSV and download the CSV file.
  2. Open the CSV file and update the following information for all plans and addons:
    • SKU: This field is used to map the existing items from NetSuite to the respective plan/addon in Chargebee. It can be used as an alternative name for plan/addon and its character limit should not exceed 30 characters.
    • Accounting Code: The Accounting code field should be filled for all the plans and addons.
    • Item GL Group: You can optionally insert a new column named Item Gl Group, and add the name field of the Item GL Groups used in NetSuite for the respective plans and addons.

Once you update the details, save the file and click Upload CSV to upload the file back into Chargebee.

4. Check Prerequisites 

Next, Chargebee will perform a list of checks in NetSuite:

  • Customer duplicate check: In order to avoid duplicates, you should map the customer records between both systems. You can download the list of customers as a CSV file, map the records and upload the updated sheet in Chargebee. If there is no possibility of duplicates, you can skip and proceed. Note that, Chargebee's ID and equivalent NetSuite's Internal ID is required to do the mapping.
  • Currency check: The currencies present in Chargebee should be present in NetSuite. You should manually add the currencies in NetSuite. Navigate to List >Accounting > Currencies > New in your NetSuite account to add the required currencies.

NetSuite does not accept UTF-8 characters for customer email field.

5. Setup Reconciliation 

It is recommended that you create a clearing account to map payments and refunds in NetSuite. If you have created one already or you choose to manage reconciliation on your own, you can skip this step.

6. Configure Sync Rules 

Configure how Chargebee integrates with NetSuite:

a. Payment/Refund Account Mapping:

Payment/Refund transactions can be mapped to payment accounts in NetSuite. For Reconciliation purposes, you can select a clearing/undeposited funds account. If you have multiple currencies or payment gateways (or methods), you can choose specific account accordingly.


If different clearing account is required to be used for each offline payment method and currency, contact support  to add this configuration.

b. Account Mapping for invoice line items:

Configure a GL Account for other invoice line items:

  • One time charges: One time/Ad-hoc charges created in Chargebee can be mapped to a GL Account in NetSuite.
  • Setup fee: If you have configured a setup fee for plans in Chargebee, the setup fee line items can be mapped to a specific GL in NetSuite.
  • Discounts: Select an Account to map Discounts/Cost of Goods (COGs) in NetSuite.

If Discount/Cost of Goods are required to be mapped with a different GL account, contact support .

  • Bad debts (write-offs): You can choose where Bad Debts should be mapped to in NetSuite.
  • Round offs: If there is a difference in the invoice total calculation between Chargebee and NetSuite, then Chargebee will add a round off item automatically, you can select an Account to map these round off line items.

c. Customer Duplicate check:

You can choose a duplicate check criterion for customer creation in NetSuite using any of the options shown below:

  • Customer ID will be used as the default criterion for existing customers if the customers did not enable the duplicate check option. Existing customers need to do mapping between Chargebee and NetSuite. For new customers, if the Chargebee's customer ID is not mapped, then Chargebee creates them as a new customer, else the data is synced to the mapped customer.
  • If you want to identify duplicate customers based on the email address, you can choose this from the list.
  • You can even configure duplicate check for customer records based on a custom field in the customer entity. Contact support  to avail this feature.

  • Make sure that you enable the customer duplicate check setting for the duplicate check to be carried out during the integration (if duplicate check is done by Email or Custom field id).


By Default, if duplicate is found based on the email id, we will display the check as a sync error. If the customer wants to link based on the email id, contact support 

d. Sync Offline Payments:

When offline payments are reconciled against Payment Due invoices in NetSuite, invoices will be updated as Paid in NetSuite. These payments will be synced back and close Payment Due invoices in Chargebee. You can choose to enable this option.


If you want to run the offline payment sync to previous dates, contact support . The previous date can go back only till the sync start date.

e. Payment Method mapping:

Payment methods in NetSuite can be mapped to payment methods in Chargebee. Or, if you want Chargebee to create the Payment Methods in NetSuite, you can choose to do so.

f. Revenue Recognition Rule Mapping:

If you are using NetSuite's revenue recognition module, follow these steps to send the invoice line amount, start date, and end date when an invoice is synced from Chargebee to NetSuite:


If you want to send service period for discounts and round off, contact support . The discount service period will be inherited from the plan/addon service period for which the discount is applied. For round offs, the service period start and end dates are passed as invoice dates.

  • Enable Revenue Recognition Rule Mapping. You can also choose to mandate the revenue recognition template ID as part of the sync. This will ensure that the revenue recognition information is captured for every invoice that is synced from Chargebee.
  • Enter the revenue recognition template ID (internal ID in NetSuite) for one-time charges, discounts, bad debts, and round off.
  • Navigate to the respective Plans/Add-ons and specify the revenue recognition template ID in the Accounting Information section.
  • You should also map the service period start and end dates to Transaction Column Custom fields (per invoice line items) in NetSuite. This is an optional step and is applicable if you want Chargebee to send service periods.

If you are not using NetSuite's revenue recognition module, you can skip this step during configuration. Learn more about how you can use Chargebee's reports for revenue recognition.

g. Tracking Categories:

If Class/Department/Location is already configured in NetSuite, it will be automatically applied when invoices are created in NetSuite. Alternatively, you can choose to send Class/ Department/Location from Chargebee.

Tracking categories can be configured on the document, line item, and customer levels.

You can select only one of the tracking categories methods provided.

For line item level, you need to define the applicable tracking categories for each plan, addon, and other line items including Round off, One time charges, Discounts, Setup Fees.

For Document level, we support the following entities: Invoices, Sales Credit Memos, Items, Customer Payments, customer refunds, and Sales order. For example, when an invoice is generated, and if the location tracking category for the invoice is defined as "California", then all the invoices synced from Chargebee will have the location category value as "California".


Sales Order tracking category is applicable only when a Sales order is created through Chargebee's NetSuite Connector. At document level, we send only a constant value for the tracking categories defined.

For customer level, you can send the dynamic value for tracking categories. For example, if a customer has a tracking category for the "Texas" location, then for any document synced from Chargebee to NetSuite, the value of the Location tracking category is synced as "Texas".

  • For other line items, you can enter a value in this step:

    • Adhoc charges
    • Discounts
    • round off line item

7. Setup Taxes 

You can sync taxes from Chargebee to NetSuite as follows:

US Sales Taxes:

  • US Sales taxes will be created in NetSuite.

UK/ Aus/ NZ/ Canada/ EU/ Switzerland Taxes:

  • You can select a tax code for the following in NetSuite:
    • Sales Tax
    • Exempt
    • Export
    • Reverse Charge

Alternatively, you can choose not to send the tax amounts to NetSuite. The tax codes configured in NetSuite will be applied on the invoices automatically. For more detailed steps on tax sync workflow and configuration between Chargebee and NetSuite, refer this document.

8. Select Sync Start Date 

Select a date from when invoices generated in Chargebee should be synced to NetSuite.

You can choose from one of the following:

  • Sync all invoices
  • Sync invoices from a specific date

Invoices and related records, from the specified date, will only be synced. Invoices created before the specified date will not be synced. If there are updates (such as payments, refunds, void, or delete invoices) to invoices or credit notes before the specified date, then you should update these records in NetSuite manually.

9. Run Initial Sync 

Once the configuration is complete, you can begin the sync. Chargebee will sync the first 10 invoices to ensure the mapping, conventions, and sync criteria align with your requirements.

We recommend that you review these invoices in NetSuite, if the sync works as expected, you can click on the Sync All Records option and proceed.

NetSuite setup is now complete.

Sync Preferences 

Once the sync is setup, you can see when the last sync was run, success/errors in the sync, and options to edit the configurations:

Enable/Disable Auto Sync

After setting up the integration, you can set a daily schedule to sync all the information to NetSuite automatically. Invoices and related information will be synced, once every 24 hrs by default. You can reach out to support  for reducing the sync timing to 4 hrs and also disable auto-sync if required.

Sync Now

For on-demand sync, you can sync data from Chargebee to NetSuite immediately.

Manage Mapping
You can edit the configurations/ GL Account mapping provided during the setup process.

  • If you want to update details, please do so in Chargebee; the modifications will be synced to NetSuite in a subsequent update.
  • We recommend that you make the changes in NetSuite, such that data is consistent in both systems.
  • If you do the payments and refunds mapping for each offline payment and currency, then to update the mapping deatils, you need to contact support .

Manage Tax Mapping

You can modify the tax code mapping provided during the setup process. If you have added tax regions in your Chargebee settings, you can update tax codes here.

In case you want to stop syncing data from Chargebee to NetSuite, you can unlink the integration. For more information, contact support .

Display sync details

When Customer or Transaction records sync to NetSuite, the status of the sync is captured right within the Customer page.

A new section within the Customer module referred to as the Integrations subsection displays details of customers synced with Netsuite.

A new section within the Transactions module referred to as the Integrations** subsection displays details of transactions synced with Netsuite.


1. Are UTF-8 characters supported in customer email field?

No, NetSuite does not support UTF-8 encoding for the customer email field.

Was this article helpful?