Short answer
AI connects to Xero through Xero’s own JAX features, the Accounting API, or Xero’s remote MCP server at api.xero.com/mcp/v1. For most New Zealand businesses the safest first project is supplier bill extraction that creates draft bills for a person to approve. Since 2 March 2026 Xero charges developers by plan and prohibits training AI on API data.
- Xero’s remote MCP server needs the A$35 Core developer plan for real organisations.
- Its V1 tools write to Xero without asking the user to confirm.
- Apps created from 2 March 2026 must use granular OAuth scopes.
- Core allows 60 calls a minute and 5,000 a day per organisation.
- Xero’s developer terms prohibit using API data to train AI models.
What Xero’s built-in AI does today
Xero’s own AI is JAX, “your AI finance partner”. It captures bills and receipts, sends invoices and reconciles bank transactions inside Xero (Xero NZ, checked 19 October 2026). Xero also runs a read-only connector inside Claude. At Xerocon London in July 2026 it said its Claude and Microsoft Copilot integrations were available, and listed XeroForce, a no-code agent builder, as early access (Xero blog). A Gemini integration followed on 14 October 2026.
Use JAX for standard capture and reconciliation. Build when you need your own coding rules, a review queue, data from other systems, or a record of why each line was coded.
Integration routes and when to use each
| Route | What you get | Use it when |
|---|---|---|
| JAX inside Xero | Bill capture, invoicing and reconciliation help | Standard bookkeeping in one organisation |
| Xero connector in Claude | Read-only questions over your numbers | Owners and advisers asking ad hoc questions |
| Accounting API (OAuth 2.0) | Bills, contacts, attachments and history under your rules | A production pipeline with a review queue |
| Webhooks | Notice that an invoice, contact or credit note changed | Reacting to changes without polling |
| Remote MCP server | Read and write tools for any remote MCP client | Staff agents in Claude Code or Cursor, with your own confirmation step |
| n8n, Make or Zapier | Xero modules plus an AI step | Low-volume flows a visual builder can handle |
Xero’s Remote MCP FAQ is blunt: the V1 tools “do not elicit user confirmation”, each call runs against one organisation, and only API calls are logged, not the prompts behind them. For anything that writes, put your own approval layer in front, as in our guide to MCP for business systems.
Automation 1: supplier bills, approved before posting
This is the Xero end of our invoice coding and exception review workflow.
- Inputs
- PDF and photographed supplier invoices arriving in a bills@ mailbox.
- Model step
- Extract supplier, invoice number, dates and lines into a fixed schema; suggest account code and tax rate from that supplier’s last ten approved bills.
- Checks in code
- Lines sum to the total; GST on a 15% GST-inclusive amount equals 3/23 of it, give or take rounding; the supplier matches an existing contact; no bill exists with that contact and invoice number.
- Human review
- A bookkeeper sees the PDF beside the extracted fields, low-confidence fields highlighted, and edits, approves or rejects.
- Write-back
- Create an ACCPAY invoice in DRAFT with an Idempotency-Key header, attach the PDF, and set the Url field to the review record. Only a person moves it to AUTHORISED.
- Measures
- Bills approved without edits, minutes per bill, duplicates caught.
| Extracted field | Xero field (OpenAPI spec) | Rule |
|---|---|---|
| Supplier | Contact.ContactID | Existing contacts only; unknown suppliers go to review |
| Supplier’s invoice number | InvoiceNumber | Check for duplicates per contact first |
| Invoice and due dates | Date, DueDate | Flag dates in a period your adviser has locked |
| Lines and tax | LineItems (AccountCode, TaxType), LineAmountTypes | Read tax rates from the organisation; never hard-code |
| Original PDF | Invoices/{InvoiceID}/Attachments | Always attach, so reviewers see the source |
Automation 2: overdue invoice follow-up drafts
- Read. Each weekday, fetch AUTHORISED sales invoices (ACCREC) past due, with their history notes.
- Draft. The model writes a short reminder in plain NZ English, adjusting tone to days overdue and notes such as “paying Friday”.
- Approve. The credit controller edits and ticks which to send. Disputed invoices go to a person.
- Send and record. Your email system sends approved reminders, and the integration adds a history note to each invoice so the next run knows.
Permissions, scopes and audit
Apps created on or after 2 March 2026 use granular scopes; Xero’s example is accounting.invoices in place of the broad accounting.transactions, and older apps have until September 2027 to move (granular scopes FAQ). Give the extraction service read access to contacts and settings only; give write access to invoices and attachments only to the service that runs after approval. Use PKCE apps for agents, since a web app’s client secret is easy to paste into an AI tool by accident. Keep your own log of model input, output, reviewer and API response, because Xero’s portal records API calls only. Our guide to agent permissions and approvals covers action tiers.
What it costs, and the limits
Since 2 March 2026 Xero has billed developers in AUD, excluding tax: Starter free (five connections, MCP with the demo organisation only), Core A$35 a month (50 connections, 10 GB egress), Plus A$245, Advanced A$1,445, Enterprise on application (Xero pricing, checked 19 October 2026). Accountants’ bespoke integrations for their own practice or one client are exempt.
Each organisation allows 5 concurrent calls, 60 a minute and 1,000 a day on Starter or 5,000 on Core and above, with HTTP 429 and a Retry-After header beyond that (limits).
Worked example: 400 bills a month at five calls each is about 100 calls per working day. At 6,000 input and 800 output tokens per bill on Claude Sonnet 5.5 (US$2 and US$10 per million tokens, 19 October 2026), the model costs about US$0.02 a bill, or US$8 a month. Reviewer time is the real cost.
Where Xero integrations go wrong
- Duplicates on retry. A timeout after a create call tempts a retry. Derive the Idempotency-Key from contact and invoice number.
- Wrong organisation. Practices connect many organisations and the MCP server acts on whichever the agent picks. Pin the tenant ID in code.
- Bank detail fraud. Never let the model change supplier bank accounts from an invoice.
- The training ban. Xero’s terms prohibit using API data “to train or contribute to the creation of any AI or machine learning model” (FAQ).
- Privacy. Sole traders’ invoices are personal information. A provider processing it only on your behalf is not a disclosure, but you stay fully responsible.
- Manual recovery. Queue failed items with the PDF, the error and a “process by hand” button, so month end never waits on the integration.
On MYOB instead? See AI and MYOB. For help with the review queue and write-back, see our AI integration services.
Sources
- Remote MCP FAQs, Xero Developer, accessed 19 October 2026
- Xero developer pricing, Xero Developer, effective 2 March 2026
- Pricing and policy updates FAQs, Xero Developer, accessed 19 October 2026
- OAuth 2.0 API limits, Xero Developer, accessed 19 October 2026
- Granular scopes FAQs, Xero Developer, accessed 20 October 2026
- Xero Accounting API OpenAPI specification, Xero (GitHub), accessed 20 October 2026
- Xero MCP server (open source), Xero (GitHub), accessed 19 October 2026
- AI in accounting: meet JAX, Xero NZ, accessed 19 October 2026
- Xerocon London 2026: the agentic era of small business finance, Xero Blog, 8 July 2026, updated 23 July 2026
- Working with third-party providers, Office of the Privacy Commissioner, 26 November 2024
Written by the Levy Street team in Wellington. Last updated 19 October 2026.