# How do you connect Claude to more than one Xero organisation?

Xero's own connector reaches one organisation at a time. Here is why, what people try instead, and what a group total has to say before you can trust it.

Published: 2026-09-07
Source: https://atso.ai/blog/claude-multiple-xero-organisations/

---

## Can Claude read more than one Xero organisation at once?

Not through Xero's own connector. That connection is scoped to a single organisation, so
reaching a second entity means disconnecting the first and connecting again, which is
exactly the loop group owners keep describing. Atso is one MCP connection that lets the AI
chats a team already uses, Claude, ChatGPT and Gemini, read every Xero organisation the
owner has connected, in the same conversation. If the term is new, start with
[what an MCP server for business software is](/blog/mcp-server-for-business-software/).

## Why does the official Xero connector only see one organisation?

Because the authorisation is per organisation, not per person. Xero's own page for the
Claude integration lists the setup step as "Choose the Xero organization you want to use",
and says the connector "is read-only at launch". One review of the release, read on
6 September 2026, put the consequence plainly: "It only connects to one Xero org at a time. If you
want to switch to another file, you have to disconnect and reconnect."

The same limit turns up one layer down, in how Xero applications are built. A Xero custom
connection, the quickest way for a developer to get an application talking to the API, can
only be connected to a single organisation. An OAuth application is what you need when you
want several organisations, user-driven authorisation and refresh tokens. So the ceiling is
in the connection model. No setting inside Claude lifts it.

## What do people try first, and why does it not work?

Four things, in roughly this order, and each one trades away something.

**Disconnect and reconnect.** It works, and it costs you the thread. Every comparison
between two entities becomes two separate conversations, with the numbers from the first
one pasted into the second by hand.

**A second Claude account.** Two organisations now, at the price of two subscriptions and
two chat histories, with nothing that can answer a question spanning both.

**A self-hosted MCP server.** Xero publishes one, and other developers have built their
own. They work, and each request still reaches a single organisation, so you are back to
one set of books at a time, with a server to run and secrets to hold.

**A data pipeline.** Tools such as Coupler.io add each Xero account as a separate source and
load the result somewhere Claude can read. Their own description of the trade is the honest
one: "Claude never sees your full dataset." You get a scheduled extract, not a question
asked against the books.

There are hosted options too. Improvado advertises that it "connects all your Xero
organizations under one MCP endpoint" with consolidated results across entities, and Windsor
connects each organisation and lets you query across them. Access to several organisations
from an AI chat is a solved problem in at least three ways. What is not solved is the next
paragraph.

## How does Atso connect several Xero organisations?

You sign in with a magic link, connect each Xero organisation once, and paste one URL into
claude.ai. After that the organisations are all visible in the same chat, and three
organisation-aware tools do the work: one lists the organisations you have connected, one
runs a report against a single organisation, and one runs the same report across a group.

Two details are worth stating because they shape what the setup feels like. Xero's free API
tier does not allow one consent to cover many organisations, so you give consent once per
organisation. That was a deliberate choice on 6 September 2026: bulk connection needs a paid
tier, and we would rather ship the honest version of the flow than describe one we cannot
run yet. Underneath, tokens are held per Xero login rather than per organisation, because
Xero issues one token set per login covering every organisation that login can reach. A
token store keyed by organisation would have let sibling organisations invalidate each
other.

## Can you trust a total added up across entities?

Only if the total says what it left out. A figure at the bottom of a group column is a claim
about several sets of books at once, and it is wrong in two ordinary situations: one
organisation's data did not load, or the organisations keep their books in different
currencies. Neither situation is rare, and neither announces itself in a number.

So Atso marks every group total with one of three words. `complete` means every connected
organisation returned data and they share a currency. `partial` means the total is real but
one organisation's data was unavailable when the report ran, and the answer names which one.
`omitted` means no total was produced at all, because the organisations use different
currencies and adding them would produce a number with no meaning.

Currency is where the other routes stay quiet. Windsor's documentation says that "currency
is handled as stored in your Xero organization", which is accurate and leaves the question
open: nothing stops the sum. Improvado promises consolidated results without stating a rule
for a mixed-currency group. Checked on 6 September 2026, no result for this search stated
what happens to a cross-entity total when the entities disagree. That silence is the reason
this post exists.

## What does a group report look like?

One column per organisation, plus a total column that carries a marker. Each column header
names three things rather than one: the organisation, the currency its figures are in, and
the timestamp when that organisation's data was pulled. The rows are the report lines you
asked for. The total row carries `complete`, `partial` or `omitted`, and when it says
`partial` it also names the organisation that is missing.

Three headers instead of one looks fussy until the first time an entity fails to refresh.
The timestamp is what tells you that the number in column two is from this morning and the
number in column three is from Tuesday, which is the difference between a comparison and a
mistake.

## Who can see the data once it is connected?

You choose, and you can withdraw it. Every AI client holding a token is listed on the Agents
page in Atso, so an owner can see which chats have been given access to the books. Revoking
one takes effect on that client's next call. That page matters more than it sounds, because
an MCP connection is quiet by design. Nothing in a chat window tells you which other clients
were authorised months ago.

## What is not connected yet?

Xero is live. Infusion is [live and read-only](/blog/infusion-mcp-server/), with writes
blocked in code rather than by policy. Shopify can be connected and stores appear in the list, but Claude cannot read
Shopify data yet. There is no Unleashed connector. None of these has a promised date, and we
would rather leave the gap visible than fill it with one.

If you run several Xero entities and you have been disconnecting one to see another, the
setup is a sign-in, one consent per organisation, and a URL. The part worth checking, in
Atso or in anything else you try, is the bottom row of the report. Ask what the total does
when one entity is missing. If the answer is that it quietly adds up whatever came back, the
number is not one you can take to a board meeting.