> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sequencehq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Xero

> Sync Sequence invoices in real-time and streamline your accounting process.

<img src="https://mintcdn.com/sequence/AaBHfWeLf5Am1S8n/images/integrations/covers/xero.png?fit=max&auto=format&n=AaBHfWeLf5Am1S8n&q=85&s=17a5ef6704dc3e02d40d2a2717dc135b" alt="Xero" width="1288" height="512" data-path="images/integrations/covers/xero.png" />

## Manage links to Xero

Sequence natively syncs customers and invoices to Xero. When viewing customers or invoices, open the sidebar to see whether an object is linked or synced.

<Frame>
  <img src="https://mintcdn.com/sequence/xp4yYX5et1vIHWQJ/images/integrations/xero/xero0.png?fit=max&auto=format&n=xp4yYX5et1vIHWQJ&q=85&s=493ee5f4b83b0fe7b7706ec509e06a3e" alt="Manage links" width="3248" height="2112" data-path="images/integrations/xero/xero0.png" />
</Frame>

## Start guide

Connecting your Xero account to Sequence is simple. Go to the Integrations tab to get started.

<Frame>
  <img src="https://mintcdn.com/sequence/xp4yYX5et1vIHWQJ/images/integrations/xero/xero1.png?fit=max&auto=format&n=xp4yYX5et1vIHWQJ&q=85&s=d2345475c33e615769a9f6fbbc952061" alt="Xero overview" width="3248" height="2112" data-path="images/integrations/xero/xero1.png" />
</Frame>

<Tip>By default, Xero only supports one currency. If you bill customers in multiple currencies, you may need to upgrade your [Xero plan](https://www.xero.com/uk/accounting-software/use-multiple-currencies/).</Tip>

1. Click the button to connect to Xero.
2. Select the organization to which you want to connect. For testing, it is recommended to connect to a test Xero Demo Company if you are using the sandbox environment.

<Frame>
  <img src="https://mintcdn.com/sequence/xp4yYX5et1vIHWQJ/images/integrations/xero/xero2.png?fit=max&auto=format&n=xp4yYX5et1vIHWQJ&q=85&s=76ef3a52dad2a8697a2a9e54fc31f3b4" alt="Xero Authentication" width="3248" height="2112" data-path="images/integrations/xero/xero2.png" />
</Frame>

3. Authorize the connection.

<Frame>
  <img src="https://mintcdn.com/sequence/xp4yYX5et1vIHWQJ/images/integrations/xero/xero3.png?fit=max&auto=format&n=xp4yYX5et1vIHWQJ&q=85&s=ab94086adf5c2c6c3d939132222704f5" alt="Xero connected successfully" width="3248" height="2112" data-path="images/integrations/xero/xero3.png" />
</Frame>

4. Set up your default ledger accounts. See more under ledger accounts [ledger accounts](#ledger-accounts)

<Frame>
  <img src="https://mintcdn.com/sequence/xp4yYX5et1vIHWQJ/images/integrations/xero/xero4.png?fit=max&auto=format&n=xp4yYX5et1vIHWQJ&q=85&s=0668a8380acbb74871e5f79eabafa370" alt="Xero ledger accounts" width="3248" height="2112" data-path="images/integrations/xero/xero4.png" />
</Frame>

## Import customers from Xero

You can import customers from Xero into Sequence in order to speed up your onboarding. In order for an invoice or credit note to be synced the end-customer must be linked to a customer in Xero.

You can import some or all of your customers directly from Xero using the customer import tool. In order to be valid for invoicing in Sequence every customer needs the following:

* A primary address
* A primary email address

The primary address must have the following fields:

* First line
* Town/city
* Postal/zip code
* A valid country (Sequence uses the [alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format)

If a customer is invalid the reason will be provided, allowing you to update the customer in Xero and reload before importing.

<Frame>
  <img src="https://mintcdn.com/sequence/xp4yYX5et1vIHWQJ/images/integrations/xero/xero5.png?fit=max&auto=format&n=xp4yYX5et1vIHWQJ&q=85&s=889892bb86e0a7bce9738b06a50cd85f" alt="Import customers from Xero" width="3248" height="2112" data-path="images/integrations/xero/xero5.png" />
</Frame>

If you want to link an existing customer to Xero you can select them in the Sequence customer view and choose to which Xero customer you want to link them.

<Tip>In Xero, contacts can be customers and/or suppliers. Sequence only imports customer records. For a Xero contact to become a customer, at least one invoice needs to be issued for them. </Tip>

To add and link a net new customer to Xero and Sequence, create them in Sequence first and then link them to the corresponding contact in Xero. Alternatively, you can create a mock invoice for the contact in Xero to turn them into a customer (at this point, this is the only way to create a new customer in Xero).

<Frame>
  <img src="https://mintcdn.com/sequence/xp4yYX5et1vIHWQJ/images/integrations/xero/xero6.png?fit=max&auto=format&n=xp4yYX5et1vIHWQJ&q=85&s=7c647b83710aa9009e5d3d3a88c7cd07" alt="Link a customer to Xero" width="3248" height="2112" data-path="images/integrations/xero/xero6.png" />
</Frame>

## Push customers into Xero

When you create a new customer in Sequence, you can push them into Xero to ensure invoices are synced.

<Frame>
  <img src="https://mintcdn.com/sequence/xp4yYX5et1vIHWQJ/images/integrations/xero/xero12.png?fit=max&auto=format&n=xp4yYX5et1vIHWQJ&q=85&s=f551b2b563c99acb985019c1c8d7b815" alt="Push a customer to Xero" width="3248" height="2112" data-path="images/integrations/xero/xero12.png" />
</Frame>

## Ledger accounts

Whenever you create an invoice in Xero each line item is linked to a ledger account. This allows you to categorize the items.

Similarly in Sequence you will need to link each line item to a ledger account in Xero. In order to speed this up you can set a default ledger account in your integration settings. This can be overridden for individual line items.

<Frame>
  <img src="https://mintcdn.com/sequence/xp4yYX5et1vIHWQJ/images/integrations/xero/xero4.png?fit=max&auto=format&n=xp4yYX5et1vIHWQJ&q=85&s=0668a8380acbb74871e5f79eabafa370" alt="Xero ledger accounts" width="3248" height="2112" data-path="images/integrations/xero/xero4.png" />
</Frame>

When you create a new product, set its Xero ledger account. This will apply to any prices and generated line items on invoices.

<Frame>
  <img src="https://mintcdn.com/sequence/xp4yYX5et1vIHWQJ/images/integrations/xero/xero7.png?fit=max&auto=format&n=xp4yYX5et1vIHWQJ&q=85&s=71243cd3b0808f16f387789c2719dcfd" alt="Set the ledger account for a product" width="3248" height="2112" data-path="images/integrations/xero/xero7.png" />
</Frame>

Set a ledger account for a specific invoice line item:

<Frame>
  <img src="https://mintcdn.com/sequence/xp4yYX5et1vIHWQJ/images/integrations/xero/xero8.png?fit=max&auto=format&n=xp4yYX5et1vIHWQJ&q=85&s=505ae47effd49b49545ad565a0e05ae4" alt="Set the ledger account for a line item" width="3248" height="2112" data-path="images/integrations/xero/xero8.png" />
</Frame>

If you have existing products, billing schedules, invoices and/or credit notes in Sequence at the time when you connect your Xero account then setting a default ledger account will allow the integration to begin working straight away. All existing line items will be linked to the default ledger account. These can then be updated on an individual basis either in a plan, invoice or credit note as shown above.

## Tax

For taxable customers, Sequence will not provide a specific tax code when syncing invoices to Xero. Xero will apply the default tax code for a line item's ledger account.

For tax exempt and reverse charged customers, Sequence will override the tax code to be 'NONE'. You can change this value in your Xero settings.

<Frame>
  <img src="https://mintcdn.com/sequence/xp4yYX5et1vIHWQJ/images/integrations/xero/xero-untaxed-customer-tax-code.png?fit=max&auto=format&n=xp4yYX5et1vIHWQJ&q=85&s=daf2d304aa6b42789667ffe8fe0420e3" alt="Set the tax code for untaxed customers" width="3248" height="2112" data-path="images/integrations/xero/xero-untaxed-customer-tax-code.png" />
</Frame>

## Syncing invoices

Whenever an invoice is finalized or sent from Sequence it will automatically get pushed to Xero. The issue and due dates will be set to a dummy date of 1st January 3000 in Xero until you send the invoice, at which point we will update these. This will be overwritten with the correct dates when the invoice is sent. If you subsequently send the invoice via Sequence it will get marked as sent in Xero. Similarly if the invoice is marked as sent in Xero, then the status will be updated in Sequence.

Sending an invoice marks it as sent in Xero. You can navigate from the invoice in Xero to Sequence and vice versa.

<Frame>
  <img src="https://mintcdn.com/sequence/xp4yYX5et1vIHWQJ/images/integrations/xero/xero1.gif?s=61d8c6131b54e73d6e90adef7f1fd3e8" alt="Sync an invoice to Xero" width="1620" height="1080" data-path="images/integrations/xero/xero1.gif" />
</Frame>

Once an invoice has been pushed to Xero you can reconcile it against payments.
For invoices with a Stripe payment link, Sequence will sync the payment status from Stripe (and ignore the payment status in Xero). You need to reconcile your invoice in Xero separately in this case and additionally mark as paid in Sequence if the payment landed directly in your bank account without going via Stripe.
For regular invoices without a Stripe payment link, Sequence will sync the payment status from Xero.

<Frame>
  <img src="https://mintcdn.com/sequence/xp4yYX5et1vIHWQJ/images/integrations/xero/xero2.gif?s=33228f807715d220bec51c19be327b75" alt="Reconcile payment for an invoice" width="1620" height="1080" data-path="images/integrations/xero/xero2.gif" />
</Frame>

## Syncing credit notes

Whenever a credit note is finalized in Sequence it will automatically get pushed to Xero. The issue and due dates will be set to a dummy date of 1st January 3000 in Xero until you send the credit note, at which point we will update these. This will be overwritten with the correct dates when the credit note is sent. If you subsequently send the credit note via Sequence it will get marked as sent in Xero. Similarly if the credit note is marked as sent in Xero, then the status will be updated in Sequence.

You can navigate from the credit note in Xero to Sequence and vice versa.

<Frame>
  <img src="https://mintcdn.com/sequence/xp4yYX5et1vIHWQJ/images/integrations/xero/xero3.gif?s=d84b8ddfaabf55c963d55eb8077138bd" alt="Send a credit note" width="1620" height="1080" data-path="images/integrations/xero/xero3.gif" />
</Frame>

## Rounding behaviour in Xero

By default, Xero only supports two decimal points. When an invoice is pushed from Sequence into Xero, line item amounts with more than two decimal points (e.g. £0.0003 per event) are therefore flattened into a line item with a quantity of 1 to avoid discrepancies in the total. For example, an invoice line item with a quantity of 500 and a unit-rate of £0.001 will reflect in Xero as a quantity of 1 with a £0.50 rate.

## Multi-currency transactions in Xero

Xero’s multi-currency feature will auto convert transactions in different currencies. Separate journals for each currency are not required. For tracking different kinds of revenue, you can use tracking categories (similar to tags or labels in Xero) or you can use account codes (specific codes for products).

## Revenue recognition mappings

Map Sequence's deferred and recognized revenue accounts to Xero account codes on the **Account / Revenue recognition** page.

<Frame>
  <img src="https://mintcdn.com/sequence/qVgF2HrjGVdyGCi9/images/product/revrec/revrec-settings.png?fit=max&auto=format&n=qVgF2HrjGVdyGCi9&q=85&s=49ee3d2c5ea0b7b4a66484750e75cb08" alt="Revenue recognition account mappings" width="3444" height="1904" data-path="images/product/revrec/revrec-settings.png" />
</Frame>

Two mapping sections cover the journal accounts you'll typically need:

* **Deferred revenue accounts**: the Xero accounts that hold deferred revenue (liability side).
* **Recognized revenue accounts**: the Xero accounts that hold recognized revenue (income side).

You can register multiple Xero accounts in each section. Each journal entry takes its Xero account code from the **product-level mapping** for that ledger account, set on the product itself.

<Tip>Product mappings are read when a recognition charge is created. Updates apply to new charges; existing charges keep the mapping they were created with.</Tip>

## Revenue recognition CSV export

The Xero-formatted journal export produces a CSV that's directly importable as a **Manual Journals** file in Xero. Columns follow Xero's published template (`*Narration`, `*Date`, `Description`, `*AccountCode`, `*TaxRate`, `*Amount`, plus tracking columns).

See [Journal reports](/revenue-recognition/journal-report) for filters, async download, and the full column list.

### Aggregation levels

The export supports daily, monthly, and per-customer-per-product-monthly aggregation:

| Aggregation                         | Behaviour                                                                                                                                                            |
| ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Daily**                           | One entry per journal per day. The default; produces the most detail.                                                                                                |
| **Monthly**                         | Daily journals collapsed into monthly totals per journal grouping.                                                                                                   |
| **Monthly by customer and product** | Monthly totals scoped to each customer and product combination. Useful for accounts that want a finer-grained monthly rollup than a single total per ledger account. |

### Sign convention

Sequence's internal ledger uses an explicit `Direction` (Debit or Credit). When generating the Xero export, the amount is signed according to each Xero account's **normal balance**:

* Debiting a debit-normal account produces a positive amount.
* Crediting a credit-normal account produces a positive amount.
* Crediting a debit-normal account produces a negative amount.
* Debiting a credit-normal account produces a negative amount.

This matches what Xero expects on import, so journals load without manual sign correction.

### Rounding

Amounts are rounded to two decimal places. Trailing decimal zeroes are stripped where appropriate to match Xero's display.

### Credit notes without an accounting date

If a credit note has no accounting date set (e.g., it pre-dates the field being required), the export falls back to the credit note's **issue date** for the journal date.
