What you’ll end up with
You’ll know which route fits a given question: a live connection or an export. And when it’s an export, you’ll have a clean file with the identifiers taken out, ready for ChatGPT or Claude without handing over more than the question needs.
The map below is correct as of 1 October 2026. This is moving quickly, so check each option’s current status on Xero’s own pages before you rely on it.
Before you start
Read your organisation’s AI policy first. If there isn’t one, ask whoever signs off software and data decisions. Don’t assume silence means yes.
Then check what role you hold in Xero. To export reports you need the administrator, standard + reports or viewer role. And if you’re working in a client’s organisation, connecting it to anything is the client’s call as well as yours.
It helps to know the names. JAX (“Just Ask Xero”) is Xero’s own AI inside Xero; among other things it does automatic bank reconciliation. The ChatGPT plugin and the Claude connector bring Xero data out to a general assistant. The MCP server is something else again, for developers.
Steps
1. Decide: live data, or an export?
Ask what the question actually needs. “Who owes us money right now?” wants live data. “Why did the margin move between these two periods?” is happy with a snapshot, and a snapshot is easier to control.
A rule of thumb: if the answer changes by the hour, connect. If it’s a point-in-time analysis you’ll check and file, export. An export also leaves you with something you can keep in the working papers, which a chat doesn’t.
Checkpoint: you can write down, in one sentence, whether this question needs live data or a snapshot.
2. If you use Claude: connect the official Xero connector
The Xero connector in Claude is read-only. Claude can view and retrieve your data, but it can’t make changes to your Xero organisation. It covers revenue and profit, receivables and payables, financial and cash position, and invoices, and its answers link back to Xero so you can click through to the source.
It’s available on any Xero business pricing plan, it’s free to add, and it needs a Claude account (free or paid). It connects to one Xero organisation at a time: to ask about another, you disconnect and reconnect.
To set it up: open the connector directory in Claude, find and open Xero, click Connect, sign in to Xero if asked, choose the organisation and click Allow. Xero says data accessed through the connector isn’t used to train Claude’s model.
Claude’s Small Business plugin adds ready-made skills on top, such as a business snapshot, a cash flow forecast, a report builder and invoice chasing. That needs a Claude Pro, Max, Team or Enterprise plan.
Checkpoint: Claude shows Xero as connected to the right organisation, and a simple question about who owes you money comes back with a link to Xero.
3. If you use ChatGPT: check the Xero plugin before you connect
Xero announced on 15 September 2026 that its plugin in OpenAI’s ChatGPT is live. It’s powered by JAX, and Xero says it works across ChatGPT Chat, Work and Codex, using real-time Xero data across profit and loss, balance sheet, invoices and bills. Accountants and bookkeepers work in one client organisation at a time.
Check two things before connecting. First, that the plugin is available on your own ChatGPT account; go by what Xero and OpenAI’s current pages say, not by the announcement. Second, what it can reach once connected. If you need data outside the areas Xero lists, don’t assume it’s covered.
Checkpoint: you’ve confirmed it’s available to you, you know which Xero data it can reach, and you’re allowed to connect this organisation.
4. Treat the MCP server as a developer project, not a shortcut
You’ll see the Xero MCP server mentioned, and it can sound like the grown-up version of the connector. It isn’t. It’s an open-source developer tool from XeroAPI on GitHub, under the MIT licence, that bridges the Model Context Protocol to Xero’s API.
It needs Node.js and a Xero developer account with API credentials, set up as a custom connection or a bearer token. And here’s the important difference: unlike the Claude connector, it includes write commands. It can create invoices, bank transactions, manual journals and payments.
That’s write access to a live ledger, driven by an AI. Xero itself describes the connector as the read-only way to get answers and the MCP server as a developer tool for custom workflows. Take that at face value.
If you do go down this road, run it as a proper project: someone technical, Xero’s demo company first (the project’s own instructions recommend starting there), and a named owner for the credentials. Those credentials are keys to the ledger, so they don’t go in shared files.
Checkpoint: either the connector or an export covers your need, or you’ve named an owner, you’re testing in the demo company, and the credentials are stored securely.
5. Export the right report
When a live connection isn’t the right fit, export. In Xero, go to the Reporting menu, select All reports, open the report, click Export and choose PDF, Microsoft Excel or Google Sheets.
A few reports earn their place:
- Trial Balance shows general ledger account balances at your chosen date (accounts with nil balances don’t show). You can add monthly columns and comparison periods, which helps when you’re looking at movements.
- Account Transactions gives you the transaction detail behind a balance.
- Aged Receivables Summary and Aged Payables Summary show who owes what, who you owe, and how long it has been outstanding.
- Uncoded statement lines (from Bank accounts, not Reports) exports unreconciled bank statement lines to CSV, for reconciliation questions.
Pick a spreadsheet format where you can. You’ll need to clean the file in the next step, and that’s far easier in a spreadsheet than in a PDF.
Checkpoint: you have the smallest set of reports the question needs, in a spreadsheet, saved where your policy allows.
6. Strip identifiers before you upload an export
Before anything goes into ChatGPT or Claude, take out what identifies people and businesses: contact names, invoice and bank references, bank account details, and anything in a description column that names a person.
You don’t need to do it by hand. Ask the AI for the formulas, describing the layout only, and apply them yourself.
I have a spreadsheet exported from my accounting software. Column [A] holds contact names, column [B] holds invoice or bank references, and column [C] holds free-text descriptions. I want to replace each distinct contact name with a code like "Contact 001", using the same code every time the same name appears, and blank out the references. Give me Excel formulas I can paste in, tell me where the lookup table should go, and tell me what to check afterwards so no names are left in column [C].
Then check the result yourself. Search the cleaned file for a few real names you know are in it. If one turns up, the clean isn’t finished. Keep the lookup table (codes to names) separate from the upload; it’s what lets you translate the answers back.
Checkpoint: you’ve searched the cleaned file for known names and references, found none, and stored the lookup table away from the upload.
Now ask for the analysis, and be specific about what you want and what the AI must not do.
Here is a cleaned export of [REPORT NAME] for [PERIOD], with contacts replaced by codes. Identify the [THREE] largest movements between [PERIOD ONE] and [PERIOD TWO], list any balances that look unusual, and suggest [FIVE] questions I should ask about them. Do not state any figure that isn't in the data I've given you. For every figure you quote, tell me which row and column it came from.
The numbers come from Xero, not from the AI. So go back into Xero and trace every figure you’ll use to its source. If a total doesn’t match, don’t ask the AI to try again. Go to the ledger, find out why, and fix your understanding or the export.
Checkpoint: every figure you’ll use has been traced back to Xero, and anything that didn’t match has been explained.
Common mistakes
- Assuming a third-party connector is official. Plenty of tools connect Xero to ChatGPT and Claude. If it isn’t on Xero’s own pages, treat it as a third-party tool and vet it like one.
- Connecting a client’s organisation without asking. Your access to their Xero isn’t their agreement to send their data through an AI tool. Ask first, and keep a note that you did.
- Trusting a figure without clicking through. The links back to Xero are there so you’ll use them.
- Giving write access you don’t need. Read-only answers most questions. The MCP server’s write commands change real records.
- Leaving MCP credentials in shared files. It’s the quickest way to turn a useful experiment into an incident.
When to keep AI out of it
Anything your policy rules out. Anything a client hasn’t agreed to. And anything where you couldn’t explain afterwards what was shared and why.
If an export, a cleaned file and an AI answer all feed into your working papers, you need to be able to show where each number came from. If you can’t, leave the AI out of that piece of work.