Getting Xero Data into Excel: Your Options Compared

If you prepare management accounts, board packs or consolidations from Xero, you have almost certainly built a workflow that starts with "export the report, open it in Excel". It works — and then you do it again next week, and the week after, for every entity, every period.

This guide compares the realistic options for getting Xero data into Excel, honestly, including where each one is the right choice. It covers manual exports, Xero's own report tools, copy-paste, third-party connectors, and a live database sync queried through Power Query (the category Flow sits in). If you never click a single link in this article, it should still help you pick an approach.

The actual problem

Excel is not the problem. For most accountants Excel is the reporting layer: it is where the workings live, where the layouts are agreed with the client, and where everything else (payroll, budgets, prior-year files) already sits.

The problem is the journey from Xero to Excel:

With that framing, here are the options.

Option 1: Manual export from Xero

Every report in Xero can be exported to Excel or CSV, and the Accounting → Reports section covers the essentials: trial balance, profit and loss, balance sheet, aged receivables and payables.

Where it works well. One-off analysis, year-end files, and anything you genuinely only need once. The export is faithful to the report on screen, it costs nothing, and there is nothing to set up or maintain.

Where it hurts. Everything is a point-in-time snapshot. Refreshing means repeating the export and either re-linking formulas or pasting values over the top of the old data — a classic source of silent errors when a new account code appears and rows shift. Multi-entity work means one export per organisation per report per period. And because the export reflects one date range, building a monthly trend still means many exports.

Option 2: Xero's report templates and layouts

Within Xero you can customise report layouts, save them, and (in practice accounting firms do this heavily) standardise a house layout across clients. Combined with scheduled or batch exporting of a customised report, this reduces some of the clicking.

Where it works well. If the report you need is one Xero can already produce, a saved custom layout is the cheapest way to make the repeated export less painful. The formatting decisions are made once.

Where it hurts. You are still exporting. The output is a formatted report, not a dataset — merged headings, subtotal rows and section breaks that Excel formulas and pivot tables do not enjoy. Reshaping a formatted report into a clean table is often more work than starting from a raw export.

Option 3: Copy and paste from reports

Run the report on screen, select, copy, paste into the workbook. No one plans this workflow; it emerges under deadline.

Where it works well. Grabbing three numbers for a quick email. That is genuinely it.

Where it hurts. Pasted data inherits none of the safeguards of even a manual export: no file to re-check against, formatting artefacts, numbers that arrive as text, and no record of which date range or entity the paste came from. As a repeated process it is the least defensible option in this list, and most spreadsheet horror stories involving a wrong month or a wrong entity start here.

Option 4: Third-party connectors and add-ins

A category of tools that authenticate against the Xero API and pull data into a spreadsheet — Excel add-ins, Google Sheets connectors, and reporting platforms with an "export to Excel" step. Setup is usually a marketplace install plus a Xero authorisation, and refresh is a button inside the sheet.

Where it works well. If your reporting genuinely lives inside one spreadsheet and you want a refresh button in the ribbon, an add-in is a big step up from manual exports. Many handle multiple organisations and let you parameterise the entity and period.

Where it hurts. The refresh runs from your machine, on demand, against the Xero API — so it is only as current as the last time someone pressed the button, and large histories can be slow to pull because the tool has to page through the API each time. The query logic lives inside a proprietary add-in, which means the workbook only works on machines with the add-in installed and licensed. Pricing is commonly per user, which adds up across a team.

Option 5: A synced database, queried with Power Query

The remaining approach separates the two jobs. A service syncs your Xero data into a proper database on a schedule, continuously, in the background. Excel then connects to that database with Power Query — the query tool that has been built into Excel since 2016, with no add-in required.

The difference in shape matters: options 1–4 pull from Xero at the moment you ask; this option keeps a copy that is already up to date, so the Excel refresh is a fast database read rather than a crawl of the Xero API. This is the category Flow is in.

Where it works well. Recurring reporting across multiple organisations. The database holds all entities side by side, so a single query returns a consolidated view, and monthly history (for example a trial balance as at every month-end for several years) is just rows in a table rather than repeated report runs. Because Power Query is native Excel, the workbook works for anyone you share it with — colleagues refresh with their own credentials, no software installs.

Where it hurts. It is a subscription, so a genuinely one-off task does not justify it. You are also working with data laid out as clean tables rather than Xero's formatted report layouts — better for building your own reports, but if all you want is a PDF-style formatted P&L, Xero itself already does that. And you (or someone in the practice) should be comfortable with Power Query basics — filtering, pivoting and loading to a sheet — although the learning curve is shallow and templates remove most of it.

Comparison at a glance

Setup effort Refresh method Multi-org support Historical trial balance Cost model
Manual export None Repeat the export by hand One export per org One report run per month required Free
Xero report templates Low (one-off layout work) Repeat the export by hand Layout shared, exports still per org One report run per month required Free
Copy-paste None Repeat by hand No No Free (until it isn't)
Third-party add-ins Moderate (install + authorise) Button in the sheet, pulls from the API Varies; often good Varies; pulled on demand, can be slow Typically per user/month
Synced database + Power Query Low (authorise once, connect Excel) Data → Refresh All; sync runs in the background All orgs in one database, one query Stored as monthly snapshots, instantly queryable Per subscription, unlimited workbook users

What the Power Query approach looks like in practice

Concretely, with a synced database the workflow is:

  1. Authorise once. You connect the service to Xero via OAuth — the same consent screen as any Xero app. From then on the sync runs automatically; you do not export anything.
  2. Connect Excel. In Excel: Data → Get Data → From Database → From SQL Server Database, enter the server and database name and the read-only credentials you are given, and pick the views you want — a trial balance view, receivables, payables, chart of accounts.
  3. Build once, refresh forever. Reports reference the query output. Next month, Data → Refresh All re-reads the database and every dependent formula, pivot and chart updates.

A Power Query M query against a trial balance view is short enough to read in full:

let
    Source = Sql.Database("your-server.database.windows.net", "your-database"),
    TB = Source{[Schema = "dbo", Item = "TrialBalance"]}[Data],
    ThisOrg = Table.SelectRows(TB, each [OrganisationName] = "Acme Trading Ltd"),
    June = Table.SelectRows(ThisOrg, each [SnapshotDate] = #date(2026, 6, 30))
in
    June

Change the date to get a different month-end; remove the organisation filter and add a pivot to get every entity side by side. Because the history already sits in the database as monthly snapshots, a 24-month trend is one query with a date range instead of 24 report exports — and the same workbook serves every client by changing one filter value.

The practical differences you notice after switching are mundane but compounding: month-end packs refresh in seconds rather than being rebuilt; the numbers in the pack are as at last night (or minutes ago) rather than as at the last export; and adding a new organisation means ticking it in the sync service, not building a new export routine.

Where Flow fits

Flow is our implementation of option 5, built for UK accountants and bookkeepers. It syncs invoices, credit notes, overpayments, your chart of accounts and monthly trial balance snapshots from Xero into an Azure SQL database, automatically every day, and gives you an Excel Power Query template plus read-only credentials to query it.

Plans start at £20/month for up to 5 organisations with 2 years of trial balance history; the Plus plan (£40/month, up to 30 organisations) adds real-time refresh and configurable history from 1 to 5 years, and Premium (£60/month, up to 60 organisations) adds tracking category breakdowns. There is a 14-day free trial, no credit card required — connect a Xero organisation and you can be refreshing a live trial balance in Excel inside ten minutes.

If a manual export once a quarter genuinely covers your needs, keep it — it is free and it works. The moment reporting is recurring and multi-entity, though, the maths changes quickly, and a synced database with Power Query is the option that removes the repeated work rather than just speeding it up.