Getting Started

Building Blocks

Custom Fields

Subscription Features




Order Management

Billing Features


Payment Methods

Direct Debit Payments

Configuring Gateways

Revenue Recovery

Hosted Pages


Reports and Analytics

Data Privacy & Security

Fraud Management


Open Source Resources

Other Features

API Integration

Third Party Integrations


Chargebee's integration with Xero simplifies your accounting process by automatically syncing invoices and related details to your Xero account. This reduces the manual effort spent on exporting invoices from Chargebee and importing them into Xero and increases data accuracy.

After the integration is set up, you will be able to:

  • Sync Customers, Plans, Addons, Coupon discounts, Invoices, Credit Notes, Taxes, Payments, Refunds, and charges like Setup charges, One time charges, Round offs
  • View updated transaction details that are synced to Xero in the Reports such as the Accounts Receivables report, Balance Sheet, Profit and Loss statement
  • Match payments to the corresponding invoices in your Xero account and reconcile with the bank statement
  • Create / Download tax liability reports and file returns within your local tax authorities within Xero
  • This Integration is available only on select plans. To know more, visit Chargebee's Plans and Pricing page.
  • This is a one-way sync, all invoices and related information from Chargebee will be updated to Xero.
  • Two - way sync is enabled only for offline payments, i.e., payments updated in Xero will be synced to Chargebee.
  • Any edit/ updates on customers, invoices and other details that has been updated in Xero will not be synced to Chargebee.

Account Summary Report 

If you are processing large number of invoices and do not prefer to sync each and every invoice to Xero, then you can utilize the Account Summary Report.

The Account Summary Report summarises all the billing transactions and provides the net values to be accounted for:

  • Sales (Invoices & Credit Notes)
  • Discounts
  • Taxes
  • Bad Debts, Adhoc charges
  • Payments, Refunds, Adjustments
  • Revenue to be recognized for the corresponding customers / subscriptions

You can create consolidated journal entries manually in Xero using this report.


The Account Summary Reports can be used if you prefer to update all the transactions on a daily / weekly / monthly summary in one journal entry in Xero.

Sync Overview 

Chargebee syncs the following information to Xero:


  • Customer details and address details will be synced
  • Chargebee will check if a customer is already present in Xero
  • If a Customer is already present, the name will be suffixed by (name)1, (name) 2 to differentiate between the customer records


  • Invoices in PAYMENT DUE, PAID, VOID statuses will be synced
  • Invoices generated on renewal or subscription changes will be synced

Credit Notes

  • Credit notes in REFUNDABLE and REFUND DUE statuses will be synced


  • Payment & Refund Transactions will be synced
  • Successful transactions will only be synced
  • The gateway transaction ID or offline payment reference number will be synced

Plans / Addons

  • Plans, Addons will be synced as Items to Xero
  • Plan/ Addon ID will be set as Item Name
  • Plan/ Addon Invoice Name is set as Item Description
  • If an item is already present, then you can enter the Item ID in Chargebee to avoid duplicates from being created

Discounts/ coupons applied in Chargebee

  • You can create item level and invoice level discounts - % and fixed $ amount in Chargebee
  • Chargebee will sync these discounts as % discounts in the invoice
  • Invoice level discount will be proportionately distributed across all line items


  • Taxes applied in the invoice will be synced

Any updates made to invoices in Xero will not be synced back to Chargebee. It is recommended that you update invoice or related information in Chargebee. The changes will get updated in Xero in the subsequent sync.


1.Setup Product Catalog

Enter/update accounting information for Plans and Addons in Chargebee:

Once you have selected Xero, click Connect to link your Xero Organization to Chargebee.


These fields will not be available by default, you should enable these fields at Settings > Configure Chargebee > Billing Rules > Enable Accounting Fields for integration.

There are four accounting fields required to be filled to configure the integration between Chargebee and Xero.

They are SKU, Accounting Code, Accounting Category 1 (Optional) and Accounting Category 2 (Optional)

  • Accounting Code: The Chart of Account (or General Ledger) code in Xero should be entered. This lets Chargebee know, where you want the product related transactions to flow to which account in Xero.

  • Accounting Tracking Category 1, 2: Accounting Tracking Category 1, 2: These fields are optional and helps you create additional information that you want to track such as Class, Location,etc. If Tracking category is required for Plans/ Addons, the category details can be entered in the Plan/Addon page. Tracking category can be set at customer or subscription levels as well, contact to set this up.

2. Check Currency settings

Ensure you address the following in Chargebee and Xero:

  • The base currency in Chargebee and Xero should be the same
  • If you have multiple currencies enabled in Chargebee, then you should ensure these currencies are enabled in Xero as well.

You can view your currencies in Chargebee by navigating to Settings > Configure Chargebee >Currencies.

3. Verify character length of Plan/Addon ID

You can create a plan/addon with an ID of upto 50 characters in Chargebee. However, Xero supports an Item ID of up to 30 characters only. If there are plans/addons with an ID exceeding 30 characters, then you should enter an alternative ID as the SKU. In order to update the ID, navigate to the Product Catalog > Select a Plan/Addon > Edit > Enter an alternate ID in the SKU field.

Connecting Xero with Chargebee 

If you have not already consulted your Accounting advisor, we strongly recommend that you do so before beginning the integration.

Step 1: Connect to Xero

To connect to Xero, go to Settings > Third Party Integrations > Xero.
Once you have selected Xero, click Connect and link your Xero organization.

Step 2: Check for Accounting information

Once you have authorized your Xero organization, Chargebee will perform the following checks:

  • Accounting Code check: Make sure your plans/addons have an accounting code. This allows each of them to be mapped to specific GL accounts in Xero.
  • Plan/Addon ID check: If your plan/addon ID in Chargebee exceeds 30 characters, you can enter an alternate ID in the SKU field when configuring the plan/addon. To accommodate Xero's 30 character limit on item codes, the SKU you enter in Chargebee will appear as your item code in Xero.
  • If the SKU field is left blank, Chargebee will use your plan ID to create an item code in Xero.

Step 3: Prerequisite Check

1: Customer Invoices already present in Xero:
If invoices from Chargebee are already created in Xero, customers would have been created in Xero. In order to avoid duplicates, you should map the customer records.
You can download the customers file, map the customers and upload the updated sheet in Chargebee. Customers present in Chargebee and Xero will be mapped. If there is no possibility of duplicates, ignore and proceed. Read about the Customer data Mapping process in detail.

2: Currency check: The list of currencies enabled in Chargebee should be enabled in Xero. For instance, if USD and GBP are configured in your Chargebee, then these currencies should be available in Xero.

Step 4: Set up Reconciliation

If you have Stripe Payment Gateway enabled, then you can follow Chargebee's recommended Reconciliation method:

  • Create a clearing account in Xero and map payments/refunds to the clearing account
  • Upload the Stripe gateway statement into this clearing account in Xero
  • Run Chargebee's Reconciliation Google Chrome Plugin to reconcile bank statement and transactions in Xero automatically

Read more about Chargebee's recommended procedure for Reconciliation.

If you do not have Stripe gateway enabled, then you will not see this step.

If you have Stripe gateway enabled but wish to handle reconciliation on your own, you can skip this step and proceed.

Step 5: Configure Sync Rules

(a) Provide Account Mapping
Plans and addons can be mapped to individual accounts in Xero. This mapping is captured in the Product Catalog > Plan/Addon > Select a Plan/Addon and enter the GL Account Code.
You can configure the GL/ Bank Accounts for the rest here - Payments/Refunds and other Invoice line items.

  • Payments & Refunds: Map payment and refund transactions to a Bank account or a Payments enabled account in Xero. If you have multiple currencies or payment gateways or payment methods enabled, you can choose a specific payments account. For Reconciliation purposes, you can select a clearing account.

  • Round offs

  • Bad debts (write-offs)

  • One time charges

  • Setup fee


Discounts cannot be synced to a specific GL Account.

(b) Sync Offline Payments
When offline payments are fed from the bank statement into Xero, Chargebee can read these payments and update the invoices. You can choose to enable this feature or not.

(c) Enter Tracking Categories
If you have setup Tracking categories in Xero, you can enter the same in Plans/Addons page and for other invoice line items, you can provide the value here:

Step 6: Configure Taxes


This step will be available only if you have enabled taxes in your Chargebee site.

Select a tax rate from the list of default rates created by Xero or your own tax rates and map it to the categories mentioned.

Chargebee will refer to this mapping and these tax codes will be used while creating invoices in Xero.

If you are using USA or Canada edition of Xero [International Edition]
Chargebee will create Tax Rates in Xero automatically, as tax mapping for the USA/Canada is a tedious process.
If you are using an NZ, AUS, Singapore, South Africa edition of Xero
You can select from the list of Tax Rates from Xero:

Category Select a Tax Rate from Xero
Sales Select a Tax Rate to map all your taxable sales, for instance, New Zealand - 15% GST
Exempt Select a Tax Rate to map exempt sales (either the Customer is exempt or the Product is exempt).
Export Select a Tax Rate to map sales to any other country outside taxable regions.

If you are using the UK edition of Xero
EU VAT Returns filing is supported from within Xero. Xero creates default tax rates to facilitate accurate VAT Liability reporting. While configuring the integration, you can select from the default rates created in Xero already.

See also

How Xero assists in VAT Return filing for UK Merchants.
List of default Tax types in Xero.


(What is MOSS?)
In case you are selling Digital subscriptions across the EU region and have registered for MOSS, you should setup taxes for the following categories:

Category Select a Tax Rate from Xero
Sales Chargebee will create a Tax rate for sale to each EU member state automatically

Scenario 1: Say a sale is made from UK to UK, by a MOSS registered merchant, Chargebee will create a tax rate by name: CB_GB @20% of type: MOSS_SALES.

Scenario 2: Say a sale is made from UK to Germany, by a MOSS registered merchant, Chargebee will create a tax rate by name: CB_DE @ 19% of type: MOSS_SALES.

Tip: You can also utilise the MOSS Reporting feature in Xero for filing returns.
Exempt Sales Select a tax rate to map exempt sales (either the Customer is tax exempt or the Product is tax exempt).
Taxes of type ‘Exempt' will be retrieved from Xero for selection
Export Sales Select a tax rate to map sales from UK to a country outside the EU.
Taxes of type ‘Exempt' will be retrieved from Xero for selection


In case you have not registered for EU VAT MOSS, setup taxes for the following categories:

Category Select a Tax Rate from Xero
Sales Select a tax rate to map Sales tax
Taxes of type ‘OUTPUT' will be retrieved from Xero for selection
Exempt Sales Select a tax rate to map exempt sales (either the Customer is exempt or the Product is exempt)
Taxes of type ‘Exempt' will be retrieved from Xero for selection
Export Sales Select a tax rate to map sales from UK to anywhere outside EU
Taxes of type ‘Exempt' will be retrieved from Xero for selection
Reverse Charges When a B2B sale is made and the customer has provided a VAT Registration Number, based on reverse charge mechanism, the tax will not be applied.
Select a Zero Rated Tax Rate for B2B Sales.
Taxes of type ‘Zero Rated' will be retrieved from Xero for selection
Sales to outside EU Scenario 1: If a sale is made to a taxable region outside UK, say Spain, where the merchant has registered, Chargebee will automatically create a tax rate: CB_Spain @21% of type MOSS_SALES

Note - For Non-MOSS registered merchants, Xero does not provide a Tax type or rate, but suggests the following work-around: For sale of physical goods from one EU Member state to another, the tax will be created of type MOSS_SALES. You can then manually update the sale amount in Box 6 and Box 8 in the VAT Return report. Read more about this approach in detail

Scenario 2: If a sale is made to a taxable region outside UK, say Greece, but the merchant has not registered in that country, Chargebee will automatically apply the source country's tax rate, in this case, UK's sales tax rate.

If you have created tax rates in Xero already, please contact, and we will help you with the mapping offline.

If you are using any other EU Member edition in Xero
In other EU member organisations of Xero, Tax types are not available, hence Chargebee will create the Taxes as follows (the naming convention follows the UK's style for easy reporting):

  • CB_Country @ rate%, where, country will be the country considered for applying tax and rate is the % tax rate applied
  • CB_Reverse charge when a B2B sale is made from one EU member state to another EU member state
  • CB_Exempt if a sale is made to a Tax exempted Customer or if a product sold is tax exempt
  • CB_Export for sales to a country outside the EU

If you are using International edition of Xero
If you are using the international edition of Xero (for any other country other than the list of countries mentioned above), Chargebee will create the tax rates as follows:

  • CB_Country @ rate%, where, country will be the country considered for applying tax and rate is the % tax rate applied.
  • CB_Exempt if a sale is made to a Tax exempted Customer or if a product sold is tax exempt
  • CB_Export for sales to another country

Step 7: Select Sync Start Date

Select a date from which invoices generated in Chargebee should be synced to Xero.
You can choose one of the following:

  • Sync all invoices
  • Sync invoices from a specific date

You can sync invoices created from Oct 1, 2015.

Step 8: Run Initial Sync (first 10 invoices)

Once the configuration details are provided, you can begin with an initial sync. Chargebee will sync first 10 invoices to ensure the mapping, conventions and sync criteria align with your requirements.
We recommend that you take a look at these invoices in Xero. If the sync works as expected, you can click on the Sync All Records option and proceed or make changes if required.

Integration setup is now complete.

Manage Sync Preferences 

After you run the sync, you can view the last sync details, errors found during sync if any.

Sync Now
In case you need to push data from Chargebee to Xero immediately, you can do so by clicking Sync Now option.

Auto Sync
After setting up the integration, you can click on the Enable Auto Sync option to schedule automatic sync from Chargebee. Subsequent changes in Chargebee, such as subscriptions creations or updates, payments for existing invoices, refunds etc., will be synced to Xero once, every 24 hrs. You can choose to Disable auto-sync if necessary.

Manage Mapping
You can edit the sync rules configured as part of integration setup process:

  • Edit the GL Account mapping
  • Enable or disable Offline payment sync from Xero to Chargebee
  • Edit tax mapping
  • Edit tracking categories

In case you want to stop syncing data from Chargebee to Xero, you can click the Unlink option. Chargebee will stop sending data to Xero and:

  • Remove authentication details
  • Remove configuration and account mapping details
  • Invoices already synced to Xero will not be updated
  • FOR TEST SITES: When you unlink the integration, the configuration and mapping data will be deleted and if you reconnect to the Xero organization, then the invoice mapping will not be retained.
  • FOR LIVE SITES: When you unlink, the invoice data mapping between Chargebee and Xero will remain intact. Incase you connect to the same organization again, the data already synced will not be pushed to Xero. In case you want to connect to a different organization, contact



Applicable only if you have Stripe gateway enabled.

You can download the payment gateway statement from here and upload it in Xero.
You can also update the clearing account if required (via Manage Mapping option)

Refer this document on Chargebee's recommended procedure to handle payment reconciliation in Xero.

Offline Payment Sync (Xero to Chargebee) 

  1. Chargebee syncs the invoices to Xero (all statuses including PAYMENT DUE invoices)
  2. The bank statement is downloaded into Xero regularly, for reconciliation.
  3. When you reconcile offline payments against payment due invoices in Xero, Xero marks the invoice as Paid.
  4. In order to update the due invoice in Chargebee, you would have to manually record a payment against the payment due invoice in Chargebee. But with the Sync Offline Payments option enabled, Chargebee will read the transaction in Xero and mark the invoice as PAID, so you need not record a payment in Chargebee manually.

The exchange rate applied in Xero is not imported into Chargebee when the offline payment is imported.


API Limit
Xero supports 1000 API hits per day per organisation. During the sync process, if the limit is exceeded, the invoices and related records will not be pushed to Xero. The pending records will be pushed to Xero in the subsequent sync. Read more about Xero's API limits.


  • Xero does not support the multiple Contacts with the same name (so John Carter cannot exist twice in Xero). However, Chargebee allows multiple customers with the same name. These will be synced with suffixes (1), (2), etc. to differentiate between the customer records.
  • If a customer is deleted in Chargebee, the customer record will be archived in Xero.

Shipping Address

Shipping address in Chargebee will not be synced to Xero, as Xero does not allow to capture it.


If you modify the Plans or Addons in Chargebee after syncing invoices with Xero, the updates will not be synced to Xero. The update should be made in Xero manually.


Chargebee supports %discounts and fixed amount discount coupons - at line item level and invoice level. But Xero supports %discounts at line item level only. Hence fixed amount discounts and invoice level discounts will be converted to %discount (at line item level) and synced with Xero.


You can delete a subscription in Chargebee and the corresponding invoices will be deleted as well. Currently this will not be synced to Xero. User should manually void each invoice in Xero.


If an invoice or credit note is deleted in Chargebee, it will be voided in Xero.

Multi currency

Xero does not process invoices that are generated in a currency that does not match the bank account currency associated with the Organization or the base currency of the Organization.


Payment mode details, such as Credit card/Cash/Check/ACH etc., cannot be synced to Xero, as Xero does not accept these via API. Chargebee sends the gateway transaction ID or offline payment reference number.

Credit notes

  • Xero does not support discounts in Credit Notes, hence the discount amounts will be proportionately distributed across the Credit note line items.
  • Credit note once allocated cannot be reversed via Xero API. So if a credit note allocation is reversed in Chargebee, then user should manually de-allocate it in Xero as well.
  • In Chargebee, once a Credit Note is created, a Refund transaction will be mapped to the Credit Note (similar to a Payment transaction being mapped to an Invoice). But if the refund transaction is removed from the Credit Note, this will not be removed automatically via Xero API, this should be done manually.
Was this article helpful?