Skip to main content
Xero

General Information

Website: xero.com
Software type: Software as a service (SaaS)
Geography: 🌍 Global (180+ countries)
Support multi-folder: ✅

Introduction

Xero is cloud-based accounting software designed for small and medium businesses. It provides real-time financial visibility, automated bank reconciliation, and comprehensive reporting tools that help businesses make informed decisions and streamline their accounting processes.

Configure Xero

Prerequisite(s)

  • ️ Obtain a “Client ID” and “Client Secret” from Xero
  • ️ Create an OAuth2 application in your Xero developer account
  • Activate the Xero integration on the Chift platform

Process

Setting up your Xero App
  1. Go to Xero Developer Portal and sign in with your Xero account.
  2. Create a new app in the developer console:
  • Choose “Web app” as the integration type
  • Set the redirect URI to: “https://chift.app/oauth2/redirect
  • Note: Scopes are not set when creating the Xero Web app; they are configured in the Chift Xero connector and requested during the OAuth flow.
  • Requested scopes:
    ScopePurposeOptional
    offline_accessEnables long-lived refresh tokens for background syncing
    accounting.transactions.readRead invoices, credit notes, payments, manual journals
    accounting.journals.readRead manual journal entries
    accounting.settings.readRead organisation settings and chart of accounts
    accounting.reports.readRead accounting reports
    accounting.contacts.readRead customers and suppliers
    accounting.attachments.readRead attachments on Invoices, CreditNotes, ManualJournals
    accounting.budgets.readRead budgets
    accounting.reports.tenninetynine.readRead 1099 reports
    files.readRead from the Xero Files library
    accounting.transactionsCreate/update invoices, credit notes, manual journals; for PDF upload combine with accounting.attachments
    accounting.contactsCreate/update customers and suppliers
    accounting.settingsCreate chart-of-accounts entries; manage organisation settings; create/update tracking options
    accounting.attachmentsUpload attachments to Invoices, CreditNotes, ManualJournals
    filesWrite to the Xero Files library
  • For SSO only (not related to accounting operations), request openid, profile, email.
ℹ️ Certification, Limits & Pricing Plans By default, your app is classified as an Uncertified app, which comes with a limit of 25 active connections.
You can check the specifics here: Xero OAuth2 Limits Documentation.
To go beyond this limit, your app will need to be certified by Xero. Certification involves:
  1. Having at least 10 active customer connections to demonstrate stability and reliability.
  2. Applying for official partnership via the Xero Developer Centre, which includes:
    • Completing the Partner Application form
    • Accepting commercial terms
    • Finalizing the certification process
More details can be found here: Xero App Partner Certification Steps. Benefits of certification:
  • Certified apps are listed on the Xero App Store
  • You’ll also receive a 15% referral revenue share for new customers acquired through the Xero App Store
👉 Once you’ve reached 10+ users and are ready for certification, let us know so we can move forward. ⚠️ Pricing plans:
Xero offers different pricing plans with varying limits. Make sure your end customers are subscribed to the plan that best matches their invoicing needs.

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:

Xero coverage

/folders Live

/bookyears Live

/analytic-plans Live

/clients Live

/clients Live

/clients/{client_id} Live

/clients/{client_id} Live

/suppliers Live

/suppliers Live

/suppliers/{supplier_id} Live

/suppliers/{supplier_id} Live

/invoices Live

/invoices/type/{invoice_type} Live

/invoices/multi-analytic-plans/type/{invoice_type} Live

/invoices/{invoice_id} Live

/invoices/multi-analytic-plans/{invoice_id} Live

/accounts Live

/analytic-accounts Live

/analytic-accounts Live

/analytic-accounts/multi-analytic-plans/{analytic_plan} Live

/analytic-accounts/{analytic_account_id} Live

/analytic-accounts/{analytic_account_id} Live

/analytic-accounts/{analytic_account_id}/multi-analytic-plans/{analytic_plan} Live

/analytic-accounts/{analytic_account_id}/multi-analytic-plans/{analytic_plan} Live

/analytic-accounts/multi-analytic-plans Live

/journal/entries Live

/journal/entries/multi-analytic-plans Live

/journal/entries/{journal_entry_id} Live

/journal-entries Live

/journals Live

/journal Live

/vat-codes Live

/miscellaneous-operation Live

/miscellaneous-operation Live

/miscellaneous-operation/{operation_id} Live

/invoices/pdf/{invoice_id} Live

/attachments Live

/chart-of-accounts Live

/chart-of-accounts/balance Live

/employees Live

/invoices/multi-analytic-plans On request

/bank-accounts On request

/invoices/id/{invoice_id}/payments On request

/payment-methods On request

/invoices/payments On request

/matching On request

/matching-multiple On request

/financial-entries On request

/expenses On request

/outstandings On request

/export-fec On request