Skip to content

Xero Access for Data Foundation

Data Foundation brings data from every ERP and accounting system you connect, in as many instances as you have, into one Common Finance Model. Xero is one of the systems it reads directly, one Xero organisation per connection. This page is for the Xero administrator who sets up the access, and for the PlaidCloud user who asks them to.

PlaidCloud only reads data. Nobody sends a password by email.

On the project’s Foundation tab, choose Create a new connection and pick Xero. The form shows the full request. Click Copy request to paste it into your own message, or Email request to open it in your mail program with the subject “Read-only Xero access for PlaidCloud.”

  1. Authorise PlaidCloud’s Xero app for each organisation you report on, signed in as a user with the Standard or Advanced role. The app asks for read access only:

    Scope What it covers
    accounting.settings.read Organisation, chart of accounts, tracking categories, items
    accounting.contacts.read Customers
    accounting.transactions.read Sales invoices and credit notes
    accounting.journals.read The general ledger: every posted journal
    accounting.reports.read The trial balance, for opening balances

    Without accounting.journals.read the general ledger can’t load. The chart of accounts, departments, customers and products still do.

  2. Set up the tracking categories PlaidCloud reads, by these names:

    • Department: one option per department, named as you want its code to appear.
    • Intercompany: one option per group company, named by that company’s entity code, on the lines of intercompany journals. Name intercompany accounts so that “Intercompany” is part of the account name.
The administrator sends Entered in PlaidCloud as
The organisation’s tenant ID (Xero lists it under the connection, or at GET /connections) Organisation (tenant) ID
Confirmation that the organisation’s financial year end and period lock date are set Nothing to enter: PlaidCloud reads both from Xero

The PlaidCloud user pastes the Refresh token themselves; it’s a secret and is never emailed. They also choose the Organisation that the connection loads as.

Under System settings, Retained earnings account names the Equity account the opening profit and loss rolls into, when the account names don’t already say. It’s optional.

Back in PlaidCloud, click Test connection. Each dataset shows as Readable, Missing permission or Error:

Dataset Scope it needs
Entities accounting.settings.read
Chart of accounts accounting.settings.read
Departments accounting.settings.read (the Department tracking category)
Products accounting.settings.read
Fiscal calendar accounting.settings.read
Customers accounting.contacts.read
General ledger accounting.journals.read
Trial balance accounting.reports.read
Sales lines (optional) accounting.transactions.read
Budget (optional) accounting.reports.read

When a dataset shows Missing permission, the test names the scope to grant. Re-authorise the app with it and test again. A Xero organisation without sales invoices or budgets still loads everything else.

Currency rates are not part of this access: Xero doesn’t publish them. Supply them in a Currency rates file instead.