Ready to get started?

Learn more or sign up for a free trial:

CData Sync

Replicate Multiple Xero Accounts



Replicate multiple Xero accounts to one or many databases.

CData Sync is a stand-alone application that provides solutions for a variety of replication scenarios such as replicating sandbox and production instances into your database. CData Sync includes a web-based interface that makes it easy to manage multiple Xero connections. In this article we show how to use the web app to replicate multiple Xero accounts to a single database.

Configure the Replication Destination

Using CData Sync, you can replicate Xero data to any number of databases, both cloud-based and on-premises. To add a replication destination, navigate to the Connections tab.

  1. Click Add Connection.
  2. Select a destination and enter the necessary connection properties. In this article, we use SQLite.
  3. Enter the necessary connection properties. To replicate Xero to a SQLite database, enter a file path in the Data Source box.
  4. Click Test Connection to ensure that the connection is configured properly.
  5. Click Save Changes.

Configure Xero Connections

You can configure connections to Xero from the Connections tab. To add a connection to one of your Xero accounts, navigate to the Connections tab. For each Xero account you wish to replicate, do the following:

  1. Click Add Connection.
  2. Select a source (Xero).
  3. Configure the connection properties.

    To connect, set the Schema connection property in addition to any authentication values. Xero offers authentication for private applications, public applications, and partner applications. You will need to set the XeroAppAuthentication property to PUBLIC, PRIVATE, or PARTNER, depending on the type of application configured. To connect from a private application, you will additionally need to set the OAuthAccessToken, OAuthClientId, OAuthClientSecret, CertificateStoreType, CertificateStore, and CertificateStorePassword.

    To connect from a public or partner application, you can use the embedded OAuthClientId, OAuthClientSecret, and CallbackURL, or you can register an app to obtain your own OAuth values.

    See the "Getting Started" chapter of the help documentation for a guide to authenticating to Xero.

  4. Click Connect to ensure that the connection is configured properly.
  5. Click Save Changes.

Configure Queries for Each Xero Instance

CData Sync enables you to control replication with a point-and-click interface and with SQL queries. To configure a replication, navigate to the Jobs tab and click Add Job. Select the Source and Destination for your replication.

Replicate Entire Tables

To replicate an entire table, click Add Tables in the Tables section, choose the table(s) you wish to replicate, and click Add Selected Tables.

Customize Your Replication

You can use a SQL query to customize your replication. The REPLICATE statement is a high-level command that caches and maintains a table in your database. You can define any SELECT query supported by the Xero API. To customize your replication, click Add Custom Query in the Tables section and define the Query Statement.

The statement below caches and incrementally updates a table of Xero data:

REPLICATE Items;

You can specify a file containing the replication queries you want to use to update a particular database. Separate replication statements with semicolons. The following options are useful if you are replicating multiple Xero accounts into the same database:

  • Use a different table prefix in the REPLICATE SELECT statement:

    REPLICATE PROD_Items SELECT * FROM Items;
  • Alternatively, use a different schema:

    REPLICATE PROD.Items SELECT * FROM Items;

Schedule Your Replication

In the Schedule section, you can schedule a job to run automatically, configuring the job to run after specified intervals ranging from once every 10 minutes to once every month.

Once you have configured the replication job, click Save Changes. You can configure any number of jobs to manage the replication of the data from your different Xero accounts.