Documentation Index
Fetch the complete documentation index at: https://docs.chift.eu/llms.txt
Use this file to discover all available pages before exploring further.
General Information
Website: xero.com
Software type: Software as a service (SaaS)
Geography: 🌍 Global (180+ countries)
Support multi-folder: ✅
Software type: Software as a service (SaaS)
Geography: 🌍 Global (180+ countries)
Support multi-folder: ✅
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
Prerequisite(s)
- 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
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.| Scope | Status | Purpose | Optional |
|---|---|---|---|
offline_access | Enables long-lived refresh tokens for background syncing | ||
accounting.transactions.read | Deprecated | Read invoices, credit notes, payments, manual journals | ✅ |
accounting.invoices.read | New | Read invoices and credit notes | ✅ |
accounting.invoices | New | Create and update invoices and credit notes | ✅ |
accounting.payments.read | New | Read payments | ✅ |
accounting.payments | New | Create and update payments | ✅ |
accounting.banktransactions.read | New | Read bank transactions | ✅ |
accounting.manualjournals.read | New | Read manual journals | ✅ |
accounting.manualjournals | New | Create and update manual journals | ✅ |
accounting.reports.trialbalance.read | New | Read trial balance reports | ✅ |
accounting.journals.read | Upon approval | Read manual journal entries | ✅ |
accounting.settings.read | Read organisation settings and chart of accounts | ||
accounting.reports.read | Deprecated | Read accounting reports | ✅ |
accounting.contacts.read | Read customers and suppliers | ||
accounting.attachments.read | Read attachments on Invoices, CreditNotes, ManualJournals | ||
accounting.budgets.read | Read budgets | ||
accounting.reports.tenninetynine.read | Read 1099 reports | ✅ | |
files.read | Read from the Xero Files library | ||
accounting.transactions | Deprecated | Create/update invoices, credit notes, manual journals; for PDF upload combine with accounting.attachments | ✅ |
accounting.contacts | Create/update customers and suppliers | ✅ | |
accounting.settings | Create chart-of-accounts entries; manage organisation settings; create/update tracking options | ✅ | |
accounting.attachments | Upload attachments to Invoices, CreditNotes, ManualJournals | ✅ | |
files | Write to the Xero Files library | ✅ |
ℹ️ Certification, Limits & Pricing (Updated 2026)
1. Development & 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 & 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: Review will be 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 & Tiers (Effective March 2, 2026)
Billing is based on your Customer Count and Monthly Data Egress (data downloaded via the API).| Plan | Max Customers | Data Quota | Key Features & Notes |
|---|---|---|---|
| Starter | 5 | Unlimited* | Free; For dev & small-scale testing. |
| Core | 50 | 10 GB | ~€22/month; Threshold for Certification. |
| Plus | 1,000 | 50 GB | ~€150/month; High-volume scaling. |
| Advanced | 10,000 | 250 GB | ~€890/month; Required for Journals & XPM. |
- Data Overage: Exceeding your quota costs approximately €1.40 per additional GB.
-
Feature Gating: Access to the Journals API, Xero Practice Manager (XPM), and Bulk Connections is strictly reserved for the Advanced Plan. ⚠️ If you need
GET /Journals, budget €890/month immediately.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:- 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.)