Overview Legend 🧭
Overview Legend 🧭
Introduction
Xero is a cloud-based accounting platform for small and medium-sized businesses. It provides real-time financial visibility, automated bank reconciliation, and comprehensive reporting tools to help businesses streamline accounting processes and make informed decisions. Our Xero connector allows your application to securely integrate with your users’ Xero accounts via OAuth2.Configure Xero
Prerequisites
- Xero account with administrator permissions
- OAuth2 application in Xero with Client ID and Client Secret
- Appropriate OAuth scopes and pricing plan for the data you plan to access
- Note: Uncertified apps are now limited to 5 connected organizations
Activation process
Setting up your Xero App- If you don’t already have a Xero account, you can create one here: Free trial
- Sign in to the Xero Developer Portal.
- Create a new app in the developer console:
- App name: Choose a clear name that users will recognize during the OAuth flow.
- Integration type: Select Web app.
- Company or application URL: Enter your company’s website (starting with
https://). - Redirect URI: Set to
https://chift.app/oauth2/redirect.
- Retrieve your app credentials and configure them in Chift:
- In the Xero Developer Portal, open My Apps and select your application.
- Reveal your Client ID from the configuration panel.
- Click Generate secret to create a Client Secret.
- Copy both values and store them securely.
Scopes
Scopes
Scopes are not set when creating the Xero Web app. They can be configured in the Chift Xero connector and requested during the OAuth flow.
For SSO only (not related to accounting operations), you have to request
For SSO only (not related to accounting operations), you have to request
openid, profile, email.Some scopes are marked as deprecated and must not be requested for new apps created after 02/03/2026; doing so returns an invalid scope error. They remain listed only for backward compatibility and will be removed in the future. See also Xero’s organisation scopes.To use the accounting.journals.read scope, you need approval from Xero.ℹ️ Certification, Limits & Pricing (Updated 2026)
1. Development and initial limits (Starter Tier)
Every new Xero integration begins in the Development phase under the Starter Tier. This is the default state for uncertified apps:- Connection Cap: Limited to a maximum of 5 active connected organizations.
- API Limits: 1,000 calls per day per organization; 60 calls per minute.
- Upgrade Path: To connect more than 5 organizations, you must upgrade to a paid tier (Core, Plus, or Advanced) and begin the certification process.
2. Certification and growth (scaling beyond 5 connections)
To grow your app and remove the 5-connection limit, you must move through the Certification process. This transition turns your “integration” into a formal Xero App Partnership:- The “Beta” Threshold: You need to reach at least 10 active connections to qualify for App Store certification.
- Upgrade Requirement: To reach those 10 connections, you must upgrade from the free Starter plan to a paid tier (starting with the Core Plan).
- Technical Review: Xero will review your app to ensure it meets quality standards, including:
- Proper error handling.
- Secure data management.
- A seamless onboarding flow (Sign In with Xero).
- App Store Listing: Once certified, your app becomes eligible for listing on the Xero App Store, providing global visibility to Xero’s millions of subscribers.
3. Pricing considerations — API pricing and tiers (effective March 2, 2026)
Billing is based on your Connected Companies and Monthly Data Consumption (data downloaded via the API). The new model has five tiers: Starter, Core, Plus, Advanced, Enterprise.- Data Overage: Exceeding your quota costs approximately €1.40 per additional GB.
- Premium APIs (higher tiers only): The Journals API (
GET /Journals), the Xero Practice Manager (XPM) API, and Bulk Connections are restricted to the higher tiers (Advanced and above) and additionally require a security assessment (initial + annual) and a use case validation by Xero.
Journals vs Manual Journals — two different objects in Xero.
- Journal (
GET /Journals) →GET Journal Entriesin Chift. Read-only, returns every general-ledger entry (including those auto-generated from invoices, payments, etc.). Gated as a premium API: requires the Advanced tier + security assessment. - Manual Journal (
POST /ManualJournals) →POST Journal Entryin Chift. Write-only, only covers entries you push manually. Available on all tiers — no Advanced required.
Special Certification & Financial Services
If your application falls into any of the following categories, you operate under a Specific Financial Services Contract rather than the standard developer terms:
If your application falls into any of the following categories, you operate under a Specific Financial Services Contract rather than the standard developer terms:
- Bank Feeds: Automatically pushing transaction data into Xero.
- Lending & Credit: Accessing Xero data specifically to assess creditworthiness or provide business loans.
- Expense Management: Specialized flows for corporate cards and employee reimbursements.
- Payment Services: Facilitating the movement of funds between bank accounts and Xero.
🔗 Official Reference Links
For detailed guides on the certification journey and the latest pricing updates, consult:- Step-by-Step Certification Guide: Building and Growing your App
- Pricing & Policy FAQ: Xero API Updates 2026
Test Xero
Xero offers a demo company you can use to test your integrations. It comes with sample data, allowing you to validate and experiment with your setup before connecting to real organizations. Once you’ve registered on the Developer Portal, you can follow this guide to access the demo environment.Connect Xero
To activate a connection with Xero, users will have to go through the following steps:- French article: Help Center - Xero - FR
- English article: Help Center - Xero - EN
Rate limits
Limits apply to API calls per tenant (organisation, account, or practice):- Concurrent: 5 calls at a time
- Per Minute: 60 calls
- Total App Minute: 10,000 calls (Total across all connected tenants)
- Daily: 5,000 calls
(See Xero’s documentation for more details.)