Reference · built on requestConnectorERP & finance

Xero

Contacts, invoices, payments, bank transactions, and reports from Xero organisations through the Accounting API and webhooks.

About

Xero is cloud accounting for small businesses and their advisers. The Accounting API at https://api.xero.com/api.xro/2.0/ exposes Contacts, Invoices, Payments, BankTransactions, CreditNotes, ManualJournals, PurchaseOrders, and report endpoints, with responses in XML by default or JSON on request. If-Modified-Since returns only records changed since a timestamp, and paged endpoints return 100 items by default. Webhooks deliver Contact and Invoice create and update events.

An operator on Fibric connects through OAuth 2.0 with granular accounting scopes, reads what those scopes allow, and proposes invoices, payments, or notes for your approval. A receipt of the change, its reason, and how to undo it stays with the proposal.

This is a reference listing. It documents what Fibric would read from Xero and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.

Inputs

  • Invoices (ACCREC sales invoices and ACCPAY bills) with Status, DueDate, AmountDue, AmountPaid, and UpdatedDateUTC
  • Contacts, Payments, CreditNotes, Prepayments, and Overpayments, paged 100 at a time by default
  • BankTransactions with Type, Reference, and IsReconciled, plus ManualJournals and Journals
  • Report endpoints such as AgedReceivablesByContact, AgedPayablesByContact, ProfitAndLoss, and BalanceSheet
  • Webhook events for Contact, Invoice, Credit Note, Overpayment, and Prepayment CREATE and UPDATE, signed with x-xero-signature
  • X-MinLimit-Remaining, X-DayLimit-Remaining, and X-AppMinLimit-Remaining headers on every response

Proposed actions

  • Target capability: propose creating sales invoices or bills with PUT or POST Invoices, in bundles of up to about 50
  • Target capability: propose updating a draft or submitted invoice, or voiding an approved one
  • Target capability: propose emailing a sales invoice or adding a note to its history
  • Target capability: propose a Payment against an authorised invoice

Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.

What you can build

  • Chase overdue invoices in the right order

    Read AgedReceivablesByContact and open AUTHORISED invoices, then propose the next reminder per contact with the invoice numbers attached.

    With Dunning Cadence

  • Reconcile bank lines to invoices

    Read unreconciled BankTransactions and open invoices, propose a Payment for each match, and leave the unmatched lines for a person.

    With Bank Reconciliation, Cash Application

  • Keep the board pack honest

    Pull ProfitAndLoss and BalanceSheet on the same schedule as your reporting and flag figures that drift from the deck.

    With Metric Reconciliation, Board Pack

Requirements

  • A Xero app in My Apps; new apps start in the starter tier with 5 connections
  • Consent from each organisation for the scopes requested; scopes are additive and cannot be removed from a token
  • offline_access in the scope set to keep a connection longer than 30 minutes
  • An HTTPS webhook URL on port 443 that answers within 5 seconds and passes intent-to-receive validation with the Webhook Key
Authentication
OAuth 2.0 authorization code flow with granular scopes such as accounting.invoices, accounting.payments, and accounting.reports.aged.read, plus offline_access for a refresh token.

Limits

  • Per tenant: 5 concurrent calls, 60 per minute, and 1,000 per day on starter or 5,000 on higher tiers; 10,000 per minute app-wide
  • 429 responses carry X-Rate-Limit-Problem and Retry-After; pause requests to that tenant until the window resets
  • Journals are a premium endpoint for apps in the Advanced tier and above, returned in batches of 100
  • Not every change bumps UpdatedDateUTC; DueDate or SentToContact edits on partly paid transactions can be missed by If-Modified-Since

Access and pricing

Reference listing. Fibric builds the connector under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.

Request Xero ↗

Questions and answers

How do I read only what changed?
Send If-Modified-Since with a UTC timestamp; Xero returns items created or updated since then, accurate to the second. For Invoices, Contacts, CreditNotes, BankTransactions, and ManualJournals, add page and pageSize to get line items without a request per record.
What happens when a webhook endpoint fails?
Xero retries with decreasing frequency for 24 hours and the subscription status shows Retry. After 24 hours without a 2xx response it is Disabled and must be re-enabled in the developer console, which restarts intent-to-receive validation.
How many organisations can connect?
An app in the starter tier can hold 5 connections; Core allows up to 50. Each organisation or practice may connect at most two uncertified apps. Rate limits are counted per tenant, so each connected organisation has its own minute and daily allowance.
Ask about Xero

Ask about the capabilities and requirements in this listing.

For project-specific requirements, contact Fibric.