Xero

Prerequisites

To connect Xero to Omnata, you need a Xero account with Adviser or Standard user role.

Authentication

There are 2 ways to authenticate with Xero:

  • Custom Connection (Client ID / Client Secret)

Currently only available in New Zealand, Australia, and the United Kingdom.

  • OAuth 2.0 (Web App)

Custom Connection (Client ID / Client Secret)

  1. Log in to `the Xero Developer portal:

  • Click on My Apps

  • Select New App to create a new integration.

  1. Choose Integration Type:

  • Give your integration a name (eg. Omnata Snowflake Sync)

  • Select Custom connection as the integration type.

  1. Select Scopes and Authorizing User:

  • Choose the API scopes your integration requires.

  • Specify who will authorize the connection.

  • The authorized user will receive an email with a link for authorization.

  1. Authorize the Connection:

  • The authorizing user will see a consent screen displaying the requested scopes.

  • They can select the organization to connect.

Note that the organization must have purchased a subscription with sufficient Custom Connections.

  1. Retrieve Client ID and Client Secret:

  • Once authorized, the client ID will be available on the app details page.

  • Generate the client secret (keep it private).

OAuth 2.0 (Web App)

  1. Log in to `the Xero Developer portal:

  • Click on My Apps

  • Select New App to create a new integration.

  1. Create Webapp:

  • Give your integration a name (eg. Omnata Snowflake Sync)

  • Select Web app as the integration type.

  • In the Company or application URL field, enter your company URL.

  • In the Redirect URI field, enter https://localhost (You will be provided a URL to update this to during the Omnata Setup process).

  • Click Create App.

  1. Retrieve Client ID and Client Secret:

  • Once authorized, the client ID will be available on the app details page.

  • Generate the client secret (keep it private).

Scopes

You should request the minimum scopes required for whatever action that user is performing. For example, if a user is doing single sign on you should only request the OpenID scopes. Later, if they want to connect to their Xero organisation you can request the additional scopes (e.g. accounting.transactions) by sending them through the OAuth flow again. Each subsequent time your app sends a user through the flow, any new scopes will be added to previously consented scopes

It's not possible to remove scopes from an existing access token. The only way to reduce consented scopes is to revoke the token and start again.

View Available Scopes

Depending on what you want to do with Xero, you will need to select the appropriate scopes. By Default, we have selected the accounting Scopes, but you can add more scopes as required when you setup your connection.

The following scopes are available to add into the connection setup:

APIScopes

Accounting

  • accounting.transactions

  • accounting.journals.read

  • accounting.settings

  • accounting.contacts

  • accounting.attachments

  • accounting.budgets.read

Assets

  • assets

Payroll

  • payroll.employees

  • payroll.payruns

  • payroll.settings

  • payroll.payslip

  • payroll.timesheets

Projects

  • projects

Inbound Syncs

The following objects are supported as streams:

Accounting

We are adding more supported objects soon including Assets, Projects and Payroll.

Outbound Syncs

There is currenly no Outbound syncing support for this App, but please let us know if you have a use case in mind.

Last updated