Skip to main content
    Case Study · AI Connector

    Our Own Books, Run Through Claude - A Custom Xero Connector

    The Full Xero API, Not a SubsetTwo Organisations, Zero Mix-upsFull Migration Matched to the CentDaily Stripe to Xero Sync

    Company

    Automate AI (our own business)

    Industry

    AI automation agency

    What We Built

    A Xero toolkit Claude operates, with guard rails

    Connected To

    Two Xero organisations and three Stripe accounts

    Why We Built It

    In August 2026 we moved our books into Xero from another accounting platform. That meant the full history: customers, products, repeating invoices, every past invoice with its original number, the payments against them and months of coded bank transactions. On top of that, three Stripe accounts bill into the same ledger, and we look after a second Xero organisation as well.

    We wanted to tell Claude what needed doing in plain English, and have it done properly, in the right organisation, every time.

    Where the Off-the-shelf Options Stopped

    Xero now offers a free read-only connector inside Claude and ChatGPT, and an official MCP server that can create and update records. Both are worth using. But the connector can't change anything, and the MCP server only exposes the parts of Xero's API its makers chose to wrap. There are no tools to void or clean up records, it works with one organisation per connection, and it has no way to load hundreds of records and pick up where it left off.

    For a migration and day-to-day bookkeeping across two organisations, that wasn't enough. One wrong setting, and real entries would land in the wrong set of books.

    What We Built

    A Xero toolkit that Claude runs on our behalf, with the whole Xero Accounting API open to it rather than a short list of tools. Every job is written to be safe to repeat, can be previewed before it posts, and refuses to run unless it is pointed at the organisation it was built for. Claude reads the request, picks or writes the job, shows the dry run, and runs it once it has been checked.

    186

    Historic invoices migrated, totals matched to the cent

    Every

    Xero Accounting API endpoint reachable, not a fixed tool list

    200+

    Billing and clean-up jobs run through it so far

    What It Does

    More Than Reading the Books

    Writes, fixes and syncs, with checks that stop mistakes before they post.

    The whole API, not a subset

    Xero's official MCP server exposes a fixed list of tools. Ours can reach every endpoint in the Xero Accounting API, plus fixed assets and invoice PDFs, so if Xero can do it, Claude can ask for it.

    Never the wrong ledger

    Two Xero organisations, one toolkit. Before anything runs, it checks the organisation is known, the login really belongs to it, and the live name matches. Any mismatch stops the job.

    Bulk work, done safely

    Contacts, invoices, payments and hundreds of bank lines loaded in bulk. Every job skips what is already in Xero, so re-running it is always safe.

    Dry run first

    Every change can be previewed before it is applied. The AI shows what it would post, a person checks it, then it runs for real.

    Daily Stripe sync

    Payments, fees and payouts from three Stripe accounts post into Xero every morning, each to its own clearing account, with checks that stop money being counted twice.

    Fix-ups, not just reads

    Merging duplicate contacts, voiding duplicate receipts, recoding invoices and raising one-off bills are all jobs the AI can prepare and run, with the same guard rails.

    Compared

    Our Xero Toolkit vs Xero's Own AI Options

    Columns: ours, Xero's MCP server, and Xero's connector inside Claude.

    Our Xero Toolkit vs Xero's Own AI Options
    Our Xero toolkitXero MCP serverXero connector in Claude
    Read invoices, contacts and reportsYesYesYes
    Coverage of the Xero APIEvery Accounting endpoint, plus assets and PDFsA fixed list of about 40 toolsRead-only subset
    Create and update recordsYesYesInvoices in draft onlyNo
    Void, merge and clean up recordsYesNoNo
    More than one organisationYesWith wrong-ledger checksYesOne per connectionYesOne at a time
    Checks the organisation before every runYesNoNo
    Bulk loads that resume after Xero's daily limitYesNoNo
    Preview every change before it postsYesNoNo
    Scheduled syncs from other systemsYesNoNo
    Based on Xero's published MCP server tool list and its Claude connector documentation, checked November 2026. Xero's limits of 60 calls a minute and 5,000 a day per organisation apply to every connector, ours included. Ours works within them by batching, backing off and resuming the next day.

    Three Checks Before Every Job

    During the migration, a stray setting on one machine quietly pointed requests at the wrong organisation. Nothing like that can happen now. Every job checks three things before it sends a single request: the organisation is one it knows, the login is authorised for that exact organisation, and the organisation's live name matches. Most jobs are also pinned to the one ledger they were written for and refuse to run anywhere else.

    The Migration in Numbers

    • 186 historic invoices, with their original numbers and dates, totals matching the old system to the cent.
    • 147 customer payments, allocated so debtor balances tie out.
    • 45 contacts, 19 repeating invoice templates and the full chart of accounts with tracking.
    • 528 bank transactions, loaded across two days because Xero caps each organisation at 5,000 calls a day. The job simply skipped what had already landed and finished the rest.

    Under the Hood

    • Xero API: any Accounting API endpoint plus fixed assets and PDFs, through one custom connection per organisation, with read-only scopes for reporting.
    • Claude: plans the job, writes or picks the script, shows the dry run and runs it once approved.
    • AWS: the daily Stripe sync runs as a scheduled serverless job; everything else runs on demand.
    • Rate limits: automatic back-off when Xero says slow down, and resumable jobs for the daily cap.

    The Outcome

    Our books are kept by asking. Raising a one-off invoice, fixing a contact, stopping a retainer or checking what hasn't been billed is a sentence to Claude, checked before it posts, in the right organisation every time.

    Want Claude Working Inside Your Xero?

    We can build the same guard rails around your organisations, your chart of accounts and your billing.

    Talk to us: 04 280 4077

    Free 30-min call · We'll show you 2–3 things to automate first · No obligation

    More Success Stories

    See how we've helped other New Zealand businesses transform with AI automation

    Retro Bowl

    Hospitality

    An AI voice agent answering the phone in a busy eight-lane bowling alley, plus front-counter texting.

    Read case study

    Packaging Products

    E-commerce

    +20% ROAS in month one; social restarted after a 12-month gap.

    Read case study

    Packaging Products Sales Reporting

    E-commerce

    Custom dashboard reveals hidden cash sales patterns and high-value clients.

    Read case study