How to integrate Stripe and automate invoice creation in Xero

Connect Stripe, map products, coupons, tax rates and tracking codes, and import invoices automatically into Xero.

 

For information on integrating with QuickBooks, see How to integrate Stripe and automate invoice creation in QuickBooks.

If you use Stripe to invoice customers and would like to use ScaleXP to automate your deferred revenue schedule, ScaleXP allows you to replicate Stripe invoices in Xero or, alternatively, to replicate Stripe invoices into ScaleXP and journal in bulk into Xero.

For more information on invoicing to Xero in bulk, see Stripe and ScaleXP integration: Create invoices directly into ScaleXP.

For details on creating invoices directly into Xero, see below.


Connect to Stripe

  1. To enable ScaleXP to transfer invoices from Stripe to Xero, go to Load Data (top bar) > Connections (left sidebar) > Stripe > Add integration.
  1. Select the Stripe account linked to your company and scroll down to Connect.
  1. Return to Load Data > Connections and click Configure on the Stripe card.
Connections page showing the Stripe card with its Configure button

The Stripe configuration page opens. It has three sections: Where invoices go, Import options and Mapping. Work through the steps below to complete the setup.


Step 1: Choose where invoices go

Under Where invoices go, set Destination to Accounting system. Stripe invoices will then be created in Xero.

Important: change the destination only before the first import. To import invoices into ScaleXP only, choose ScaleXP instead and follow Stripe and ScaleXP integration: Create invoices directly into ScaleXP.

– Top of the Stripe configuration page showing the Refresh Stripe data button and the Where invoices go section

Step 2: Set the import options

Under Import options, turn on the toggles you need. All of them are off by default except where noted.

  • Import documents with zero values – brings across zero-value invoices and credit notes (for example, 100% discounts) instead of skipping them.  Note that this setting locks once turned on.
  • Import documents as final – invoices arrive in Xero approved rather than as drafts awaiting review. If this is off, you will need to approve each invoice in Xero before it shows in your accounts and reporting.
  • Allocate line item discounts by product – discount lines post to the same account as the line they discount, instead of the coupon account. See How to allocate discounts to line item account codes.
  • Shorten subscription periods by 1 day – Stripe ends a subscription period on the same day the next one begins, so a monthly invoice issued in March runs from March 1 to April 1 and an annual subscription spreads revenue into a 13th month. Turn this on to end each subscription line a day earlier (March 1 to March 31, for example) so revenue is recognized in the months you expect. Recommended for subscription businesses. See How to shorten Stripe subscription periods by 1 day.

Changes to these toggles are saved automatically and apply to invoices imported from that point on.


Step 3: Map products

The Mapping section lists each type of mapping with an Edit button. A green Mapped tag shows once a mapping has been saved.

Mapping section listing Products, Coupons, Tax rates, Tracking codes and the Issues log, each with an Edit or View button
  1. Click Edit next to Products.
  2. Select a Default Account. This is the minimum setup required, and it acts as the on/off switch for the integration: until a default account is set, no Stripe invoices are created at all and they are skipped without an error. any Stripe product that is not mapped individually posts to this Xero account.
  3. To map individual products, choose the Xero account for each Stripe product in the Revenue Code & Description column.
  4. Click Save.
Map Accounts dialog with the Default Account dropdown and the list of Stripe products to map

Useful tip: unmapped products use the default account. This gives you the flexibility to map the important products and leave the rest on the default, which is very useful if you have many Stripe products.

Note: if you need to change your Xero accounts or items, update them in Xero first, then click Refresh Stripe data (top right of the configuration page) to bring the changes into ScaleXP.


Step 4: Map coupons

  1. Click Edit next to Coupons.
  2. Select a Default Coupon Account. Any coupon or discount that is not mapped individually posts here.
  3. Optionally, select an Applied Balance Account so that any Stripe Applied Balance on an invoice is mapped as a discount line.
  4. Map each coupon code to the Xero account you want in the Revenue Code & Description column, then click Save.
Map Coupons dialog with the Default Coupon Account and Applied Balance Account dropdowns

To post discounts against the same account as the product line they discount, turn on Allocate line item discounts by product in Step 2 instead. See How to allocate discounts to line item account codes.


Step 5: Map tax rates

  1. Click Edit next to Tax rates.
  2. Match each Stripe tax rate to its Xero equivalent in the Xero Tax rates column.
  3. Click Save.
Map your Stripe tax rates to Xero dialog

Note: this integration requires that you set specific tax rates in Stripe for matching to your accounting system. No mapping is possible if you are using the automated tax rate selector in Stripe.


Step 6: Map tracking codes

  1. Click Edit next to Tracking codes.
  2. For each Xero tracking category, type the name of the Stripe line item field (metadata) that holds the value, exactly as it appears in Stripe.
  3. Click Save.
Map Tracking Categories dialog with a Stripe line item field for each Xero tracking category

See Stripe: How to automate Xero tracking codes from Stripe metadata for how to set up the metadata in Stripe.


View in your accounting system

If Import documents as final is off, invoices appear in Xero as drafts, meaning that they must be reviewed and approved. ScaleXP will not approve them for you.

If it is on, invoices appear in Xero as if created there.

Note: ScaleXP enables any new currency it meets while creating Stripe invoices in Xero, so you do not have to add currencies first. Stripe invoices with nil value are not imported unless Import documents with zero values is on.


Updating for new products

Important: when new products and coupons are added in Stripe, these need to be mapped in ScaleXP before an invoice using them is created in order to capture all the mapping automatically.

Click Refresh Stripe data (top right of the Stripe configuration page), then complete the mapping as outlined in Steps 3 and 4 and click Save.

Note: the ‘last synced’ message on the Stripe card refers to the last sync date for mapping, not invoice syncing. Invoices are synced to ScaleXP or Xero as soon as they are created in Stripe.


Xero bank reconciliation

You will probably want to set up your Stripe account as a bank account in Xero to make balance sheet reconciliation easier.

Read more in Stripe and Xero integration: Bank reconciliation.