Xero integration

How to connect SparkReceipt to Xero, what syncs between the two, and how to set Xero tracking categories on your documents

SV
Written by Sampsa VainioUpdated Nov 11, 2026

What the Xero integration does

The Xero integration links a SparkReceipt workspace to a single Xero organization so that your accounting reference data stays in sync and the documents you capture in SparkReceipt can be posted straight into Xero.

Once connected, SparkReceipt pulls reference data from Xero and pushes processed documents to Xero:

  • From Xero → SparkReceipt (read-only sync):
    • Chart of accounts – expense-type accounts become expense categories in SparkReceipt, and revenue/income-type accounts become income categories.
    • Contacts – suppliers are synced as expense accountables (vendors) and customers as income accountables. A Xero contact that is both a supplier and a customer is synced on both sides.
    • Tax rates – including which accounts each rate can be applied to, so SparkReceipt doesn't offer an invalid tax/account combination.
    • Bank accounts – synced as payment methods so that paid documents can be reconciled against the right account in Xero.
    • Tracking categories – your active Xero tracking categories and their options (for example grants, projects or departments), so you can tag each line with them before publishing.
    • Organization preferences – base currency, country and company name are read from Xero to keep SparkReceipt aligned with your Xero settings.
  • From SparkReceipt → Xero (publishing documents):
    • Expense documents (receipts, bills, purchases) are published to Xero as bills (ACCPAY invoices).
    • Income documents (sales invoices, sales receipts) are published to Xero as sales invoices (ACCREC invoices).
    • The original attachment (PDF or image) is uploaded alongside the transaction. File types Xero does not accept are automatically converted before upload.
    • If a document is marked as paid in SparkReceipt, a matching payment is recorded in Xero against the bank account you selected.
    • Any tracking options you set on a line are sent with that line, so the bill or sales invoice arrives in Xero already tracked.

Documents in another currency go to Xero in their own currency when your Xero plan includes multicurrency. Without it, SparkReceipt converts them to your Xero base currency before publishing. SparkReceipt checks which applies each time it syncs with Xero, so a plan change in Xero is picked up on its own.

Prerequisites

  • An active Xero organization that you are authorized to connect to third-party apps.
  • Only one accounting integration can be active on a SparkReceipt organization at a time. If you already have QuickBooks Online, FreeAgent, FreshBooks or Zoho Books connected, disconnect it before connecting Xero.
  • The person doing the connecting must be a SparkReceipt administrator or accountant on the organization – those are the roles that can see the Integrations settings.

Connecting and initial setup

The high-level setup flow is:

  1. Log in to SparkReceipt as an administrator or accountant and open the Integrations entry in the left-hand sidebar. This takes you to the Integrations tab in your account settings.
  2. Under the Accounting section, click Connect to Xero. You'll be redirected to Xero to sign in and authorize SparkReceipt.
  3. If your Xero login has access to more than one Xero organization, SparkReceipt asks you to pick which one to connect – the integration links a SparkReceipt organization to a single Xero organization at a time.
  4. SparkReceipt then runs the initial sync, pulling in accounts, contacts, tax rates and bank accounts from Xero, as well as your Xero organization preferences (base currency, country, company name). When the sync completes, you land on the Xero settings page in SparkReceipt, where you can review the imported data.

From that point on, documents you process in SparkReceipt can be published to Xero from the document view.

Publishing documents to Xero

You can publish documents to Xero yourself or turn on automatic publishing for the account.

Publish a single document

Open the document in SparkReceipt and click Publish to Xero in the document view. A confirmation dialog summarizes what will be sent (the transaction, line items, the original attachment and, if the document is marked as paid, a matching payment). After publishing, you'll see a link back to the document in Xero.

Publish several documents at once

In the documents list, select the documents you want to publish and click the Publish action in the bulk-action bar at the top of the list. The dialog also offers an option to re-publish any documents that were already published, in case you've made edits in SparkReceipt that you want reflected in Xero.

Documents added before connecting Xero

Any documents that were processed in SparkReceipt before you connected Xero were categorized using SparkReceipt's generic categories. Those generic categories aren't mapped to a Xero account, so publishing them will fail until they're moved to a Xero-synced category. Two ways to fix this:

  • Pick a Xero-synced category manually. Open the document, change the category to one of the Xero-synced expense or income accounts, and publish.
  • Rescan the document. Use the Rescan document action on the document. The AI re-categorizes the document against the categories that are now available, which includes your Xero accounts.

Xero tracking categories

If you use Xero tracking categories to report spending against grants, projects, departments or regions, you can set them in SparkReceipt so they carry through when you publish.

Where tracking categories come from

SparkReceipt reads your active tracking categories and their options from Xero when you connect. If you add or rename a tracking category or option in Xero later, click Sync now on the Xero settings page in SparkReceipt to bring the change across. Xero allows up to two active tracking categories per organization, so you'll see at most two.

Set tracking on a document

  1. Open the document in the SparkReceipt web app.
  2. Each line of the document has a dropdown for every tracking category, named after the category in Xero (for example Grants or Region).
  3. Choose the option you want for that line, or leave it on No followed by the category name to send the line without tracking.
  4. Publish the document to Xero as usual.

Tracking is set per line, so a receipt with several lines can be split across different options, for example two grants. Tax and tip lines don't carry tracking. Setting tracking is currently available in the web app.

Add tracking to documents you've already published

Open the document, choose the tracking options on its lines, and click Update in Xero. This updates the existing bill or sales invoice in Xero rather than creating a second one.

Good to know

  • Tags aren't sent to Xero. SparkReceipt tags stay in SparkReceipt and can't be mapped to Xero tracking options. Use the tracking dropdowns instead.
  • Archived options are skipped. If a tracking category or option has been archived in Xero, SparkReceipt leaves it out when publishing so the rest of the document still goes through.

When SparkReceipt syncs with Xero

  • Reference data (accounts, contacts, tax rates, bank accounts, tracking categories and your organization preferences) syncs when you connect, every day after that, and whenever you click Sync now on the Xero settings page.
  • Documents go to Xero only when you publish them, or when you've turned on automatic publishing for the account.
  • The connection itself is checked once a day. If you disconnect SparkReceipt in Xero (Settings → Connected apps), the Xero tile on the Integrations page in SparkReceipt shows Connection lost and offers to reconnect or disconnect.

Disconnecting Xero

Open Integrations, go to the Xero settings page and click Disconnect from Xero. SparkReceipt removes its connection to your Xero organization in Xero too, so it no longer appears under Connected apps there. The documents you already published stay in Xero. To connect again later, click Connect to Xero on the Integrations page.

You can also disconnect from Xero's side, under Settings → Connected apps. SparkReceipt notices within a day and asks you to reconnect.

Common publishing questions

Why does my bill in Xero have a "Rounding adjustment" line?

Xero works out tax line by line and rounds each line, while a receipt's printed total can come from tax worked out on the whole. The two can end up a cent or two apart. When that happens, SparkReceipt adds a small Rounding adjustment line on your Xero rounding account, so the bill in Xero matches the receipt's total. A bigger difference is never covered up this way. You'll see the document's own amounts in Xero instead, so you can check them.

Why is one receipt line published as two lines?

Because only part of the line was taxed. A restaurant bill with a tip, or groceries mixing taxed and untaxed items, is often read as one line that carries the whole net with tax on only part of it. A net of 35.55 with 3.77 of HST is 10.6 %, while the HST rate is 13 %. No tax rate fits such a line, so SparkReceipt publishes it the way an accountant books it:

  • the taxed part: the line's tax divided by the rate (3.77 ÷ 13 % = 29.00), on that tax rate, with all of the line's tax;
  • the rest (6.55) on a 0 % tax rate, with no tax. In Australia that is a GST-free expense rate.

The bill total and the tax in Xero are the same as on the receipt. The expense in SparkReceipt keeps its one line: only what is sent to Xero has two.

SparkReceipt splits a line only when it can tell which rate taxed it:

  • The document is an expense, Tax handling when publishing is Track tax, your Xero organisation is outside the US, and the expense isn't converted to your home currency when published.
  • The receipt is from your own country.
  • The rate comes from the line's own tax rate, or from the rate read from the receipt or your region's single tax rate when exactly one of your Xero tax rates has that rate.
  • The line's tax doesn't fit another rate as a whole. A 5 % GST-only receipt in Ontario is not split at 13 %.
  • Your region taxes at no other rate the line could partly be at, such as the UK's 20 % and 5 % or Finland's 25.5 % and 14 %. Where SparkReceipt has no tax rates on file for your region, it doesn't split the line.
  • The expense isn't billable to a customer, and both tax rates can be used on the line's account.

When SparkReceipt can't split a line, or your organisation has no 0 % tax rate, the publish usually stops with the message that part of the line looks untaxed or taxed at a reduced rate. Split the line into a taxed part and an untaxed part in SparkReceipt, or assign the reduced tax rate, then publish again. Lines on an expense claim's receipts split the same way.

How do I change the account my receipts are paid from in Xero?

When a paid expense is published, SparkReceipt records the payment in Xero against one of your Xero bank accounts. A receipt counts as paid, and a supplier invoice counts as paid when you mark it paid in SparkReceipt. The account is chosen in this order:

  1. The Account picked in the document's Xero publish editor.
  2. The Payment Account of the document's payment method. Set it in Account settings → Cards & Accounts by opening the payment method, for example your company card, and choosing its Xero account.
  3. The Default purchase account under Preferences on the Xero Connection Settings page. It is used when the expense has no payment method, or its payment method isn't linked to a Xero account.

To change the default for everything, change the Default purchase account. To change it per card, map each payment method to its own account. Documents you publish after the change use the new account.

For a document that is already published, open it, pick the new Account and click Update in Xero. SparkReceipt reverses the payment it recorded and records it again on the new account.

Are income amounts published to Xero as tax-inclusive?

No. Income documents are published to Xero as sales invoices (ACCREC), and those invoices are always sent tax-exclusive. Each line carries the net (pre-tax) amount, and Xero adds the tax on top from the tax rate. This is fixed – the invoice is sent with Xero's line amounts set to Exclusive, so there is no option to publish income as a single tax-inclusive gross amount.

The Do not track tax option of Tax handling when publishing, which posts the gross tax-inclusive total for expenses, does not change income. Income invoices stay tax-exclusive regardless of that setting.

Can a receipt be published to Xero as a single line?

Not with a setting. SparkReceipt publishes one Xero line per line item on the document, and each line carries its own account. There is no toggle that collapses a multi-line receipt into a single line. The one exception is a partly taxed line, which is published as two lines (see Why is one receipt line published as two lines?).

If you want a single line in Xero, edit the expense in SparkReceipt so it has just one line item (a single category) before you publish it. It will then publish as one line, unless only part of that line was taxed.

Can an expense be published with an empty contact, or a default supplier?

No. Publishing an expense to Xero creates a bill (ACCPAY), and Xero requires a contact on it. SparkReceipt maps the expense's Merchant to the Xero contact. If the document has no merchant, no contact is sent and Xero rejects the bill – SparkReceipt cannot create the transaction without one.

There is no setting for a default or fallback supplier on the Xero integration. Set a Merchant on the expense before publishing. If you don't have the real supplier, you can enter a generic catch-all name (for example Miscellaneous) and reuse it – SparkReceipt will create and reuse a single matching Xero contact for that name.

Troubleshooting and feedback

If something doesn't look right – a missing category, a document that failed to publish, an unexpected error – contact support through the in-app chat widget. That's the fastest way to get help.

Expense claims

An approved expense claim can be published to Xero. Open the claim and click Publish to Xero. The claim goes to Xero as one unpaid bill, payable to the claimant as a contact. It is a regular bill, separate from Xero's own Expenses feature. The receipts are attached. Trips are booked to the Mileage expense category and per diem to the Per diem expense category you choose in the Xero settings. Marking the claim as paid in SparkReceipt doesn't record a payment in Xero. See How do I publish an expense claim to my accounting software?.

Xero is a trademark of Xero Limited. SparkReceipt is an independent, third-party integration and is not affiliated with, endorsed by or sponsored by Xero.