Authentication (OAuth)
This article explains how to connect your Xero organisation to a Model Reef model using OAuth, what permissions are required, and how the connection is used for COA and actuals import.
You will learn how to:
Connect a Xero tenant to a model.
Understand what data Model Reef reads.
Handle multiple organisations and environments.
Reconnect if access is revoked or tokens expire.
What the Xero connection is used for
The Xero integration is used to:
Import the Chart of Accounts (COA).
Import historical actuals for P&L and Balance Sheet accounts.
Refresh actuals over time so your model stays aligned with the ledger.
Connecting a Xero organisation to a model
You connect Xero at the model level. Each model can be linked to one Xero organisation.
Permissions and security
The Xero OAuth flow grants Model Reef a scoped access token that allows it to:
Read the Chart of Accounts.
Read transactions and balances needed to compute account actuals.
Read basic organisation metadata relevant to reporting.
The platform does not use the integration to:
Create or edit invoices.
Post or update journals.
Modify contacts, users or settings in Xero.
Run payroll or bank feeds.
Access tokens are stored securely and refreshed via the standard OAuth refresh token flow where supported.
If you revoke access from within Xero, the connection in Model Reef will stop working until you reconnect.
Connecting multiple organisations
You can connect different Model Reef models to different Xero organisations. Common patterns:
One model per legal entity, each connected to its own Xero tenant.
One consolidated model with COA imports from several entities, each mapped into branches.
Sandbox or test models linked to a demo Xero organisation.
Each model stores its own Xero connection metadata. There is no automatic sharing of connections between models.
Reconnecting and troubleshooting authentication
If authentication fails or expires, you may see:
Errors when attempting to refresh COA or actuals.
Messages indicating that the Xero token has expired or been revoked.
Missing or partial data on new sync attempts.
To fix the issue, follow these steps:
Best practices
Use a Xero user with sufficient read permissions to all relevant accounts.
Avoid connecting production models to temporary or demo organisations.
Document which Model Reef model corresponds to which Xero tenant, especially in multi entity setups.
Re-authenticate promptly if Xero access is revoked during security reviews.
Related articles
Last updated