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.
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.
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.
This connector listing is developed, published, and supported by Fibric. It describes integration with Xero through published interfaces. Third-party names and logos identify the systems an integration connects to; they are the property of their respective owners, who are not affiliated with Fibric and do not sponsor or endorse this listing. Trademark policy