Xero

How to connect Xero to Syft

Chris avatar
Written by Chris
Updated over a week ago

Xero is a cloud-based accounting software designed for small and medium-sized businesses, offering a range of financial management tools to streamline tasks such as invoicing, expense tracking, payroll, and bank reconciliation. With its intuitive interface and real-time access to financial data, Xero enables users to efficiently manage their finances from anywhere, at any time.

Syft and Xero

Syft Analytics seamlessly integrates with Xero and transforms your accounting data into financial reports and insights. The Syft and Xero integration unlocks all functionality available in Syft including reports, visualizations, consolidations, forecasts, budgets, valuations and benchmarks.

How to connect a Xero entity to Syft

To connect your Xero entity to Syft follow this step-by-step guide:

  1. Click “Add Entity” at the top right of your screen.

  2. You’ll now be redirected to the accounting provider setup, where you can click on “Xero”.

  3. You’ll be redirected to the Xero login page where you will fill in your user email address and password.

  4. Select the entity or entities you would like to connect to Syft and click “Allow access”.

  5. While your company is being set up, you can classify your company for enhanced reporting. To classify your company, start typing your industry in the bar provided.

  6. Click “Complete Setup”.

Your Xero entity has now been added to Syft. This allows you to transform your accounting data into financial reports and insights.

Additional information

Shared data

Xero shares the following data with Syft:

  • Accounts

  • Contacts

  • Invoices

  • Journals

  • Bank transactions

Available countries

The Xero integration is available in the following Xero regions:

  • Australia

  • Canada

  • Global

  • Hong Kong

  • Indonesia

  • Ireland

  • Malaysia

  • New Zealand

  • Philippines

  • Singapore

  • South Africa

  • United Kingdom

  • United States

Xero permissions

Xero users can connect an entity to Syft as a 'Standard' user type, with reports access, or as an 'Adviser' user type. More than one user can connect the same entity to Syft, as long as the user has access to the entity on their Xero account.

Refreshes

Data is automatically refreshed once every 24 hours. If the time stamp is older than one day and/or does not update to the current date after clicking “Refresh Data”, the entity needs to be re-authenticated to restore the connection to Xero.


A user's authentication details are used to run data refreshes and keep the entity validated. If the authentication details become invalid, automatic refreshes will be disrupted, meaning a re-authentication is required.

  • If some entities have been refreshed whilst others have not, check whether all entities connected to Syft are connected to the same Xero account.

  • Only the user who has the entities connected to their Xero account can refresh the entities on their Syft profile.

To re-authenticate, click “Add Entity“ and proceed with Xero. There is no need to reselect entities, simply click on “Proceed with x organizations".

Aged receivables and aged payables reports

You may notice that Syft's aged receivables (AR) and and aged payables (AP) reports occasionally differ from those found on Xero. These differences are a result of:

  • Xero not providing either of these reports via their API so they need to be built from scratch.

  • Xero not sharing their methodology for how these reports are created. There are a variety of ways to classify unallocated payments, partial payments, prepayments, and FX movements to contacts and neither you nor Syft know how this is done in Xero.

  • The fact that the methodologies used in Xero's old reports and new reports don't align either.

Our methodology

Generally speaking, Syft's methodology for creating an AR or AP report follows three steps:

  • Step 1: Accumulate invoices and payment information based on all journal entries.

  • Step 2: Allocate assigned payments to invoices and contacts.

  • Step 3: Allocate unassigned payments to invoices and contacts.

Steps 1 and 2 are simple and, if it weren't for Step 3, all reports would align. The challenge with Step 3 is that it includes payments that can't be associated with journals, such as overpayments, pre-payments, partial payments, payments without assignment to contacts, and all of the aforementioned, with or without returns. This results in differences between Xero's old reports, Xero's new reports, and/or Syft.

For Step 3, Syft attempts to allocate unassigned payments using the the date of the transaction and, if we can't do this, Syft allocates the payment to the oldest time bucket. However, since there are several types of transactions in Step 3, this approach won't always align with how Xero approaches it.

Unrealized currency gains and bank revaluations at a divisional level

Syft does not calculate these line items at a divisional level, as the required information is not accessible from the Xero API. This means that the difference between the two trial balances cannot be calculated to allocate amounts to these accounts. Using Syft's Account and Journal feature, you can create and allocate journals to the relevant division.

Did this answer your question?