Xero's standard reports — Profit & Loss, Balance Sheet, Trial Balance, and the rest — are built for reviewing inside Xero, one organisation at a time. Accountants and CFOs building board packs, audit workpapers, or multi-entity consolidations need those same numbers inside Excel, laid out on their own terms and combinable across organisations.
XO Report inserts any of Xero's reports straight into a workbook as a live Excel table — not a one-off export. A CSV download is a snapshot: correct for a moment, then stale the next time you open it. A report inserted from the XO Report task pane keeps its own Refresh control, so you can bring it current from Xero on demand, in the same workbook, without re-exporting anything.
This guide covers all 8 Xero reports for accountants — which one to reach for, how to insert it, and how to set it up so it survives a refresh next month rather than needing to be rebuilt.
Know which report you need
All 8 Xero reports available in XO Report, and the date type each one uses:
Report What it's for Date type Profit & Loss Income statement — revenue, expenses, net profit Date range (max 365 days) Balance Sheet Financial position — assets, liabilities, equity As of date (snapped to month-end) Trial Balance All account balances in debit/credit format As of date (exact date honoured) Aged Receivables by Contact Outstanding invoices for a single customer As of date + a contact Aged Payables by Contact Outstanding bills for a single supplier As of date + a contact Bank Summary Bank account activity — opening, received, spent, closing Date range (max 365 days) Executive Summary Key financial metrics — cash, profitability, balance sheet, performance As of date Budget Summary Overall Budget amounts running forward from a month Start date (month only, forward) Insert the report from the task pane
Open the XO Report task pane and click the Tables and Reports tab. The card grid organises everything into three categories — Reports (blue accent), Transactions (amber), and Lists (teal). Click a report card to start its wizard.
The wizard walks through the steps that apply to that report: Organization (skipped automatically if you only have one org connected), Period or As of Date, then Compare and Tracking for the reports that support them, and Options (Cash Basis, Hide Totals, and similar toggles). Click Insert Report on the final step.
The data lands on a brand-new dedicated sheet, named after the report — "P&L", "BalanceSheet", "AgedReceivablesByContact". Insert the same report again and XO Report auto-increments the name ("P&L (2)") rather than overwriting the first one.
Choose dates that survive refresh
Every report's date picker offers three modes, and the mode you pick determines what happens the next time you refresh.
Smart modepresets — "Last Month", "This Quarter", "End of Last Month" — recalculate against today's date on every refresh. Insert a P&L on "Last Month" in July and refresh it in September; the report now shows August, not July. See the full preset list in Smart Date Presets.
Cell mode reads the date from an Excel cell you reference (e.g.
Sheet1!A1) — change the cell, refresh, and the report follows. This is the pattern behind a dashboard where one input cell drives several reports at once.Fixed modelocks in the exact date you picked from the calendar. It never moves on refresh — useful for an archival snapshot of a specific period that shouldn't change.
Refresh, and Refresh All, without breaking the numbers
Each inserted report keeps its own Refresh control. Refresh re-pulls the report from Xero using the settings it was inserted with — a Smart preset recalculates, a Cell-mode reference re-reads, and the context row above the table (report name, date range, organisation, basis) updates to match.
To refresh everything in the workbook in one pass, use Refresh All(the cloud icon on the Manage tab's search row). It fetches several tables and reports at once but writes them one at a time in workbook order, showing a "Refreshed X of N" progress dialog, and it skips — rather than fails on — any table whose organisation has been disconnected or dropped from your plan.
Two things worth remembering. Profit & Loss and Bank Summary reports can't cover more than 365 days per request (a Xero API limit) — the wizard blocks a longer Fixed-mode range before you can insert it. And reports are cached server-side for around 30 minutes, plus a further few minutes in the workbook, so a figure can lag slightly behind what's currently in Xero until you click Refresh.
Go beyond the standard layout with formulas
The 8 standard reports use Xero's own layout — including any custom P&L or Balance Sheet section layout you've set up in Xero. When you need a different shape — a single number in a KPI cell, a side-by-side multi-entity comparison, or a budget-versus-actual table you control line by line — build it with formulas instead.
=XO.PROFIT(org_id, start_date, end_date)returns net income for a period in a single cell.=XO.BALANCE(org_id, account, start_date, end_date)returns one account's balance (for Balance Sheet accounts it ignores the start date and returns the as-of balance).=XO.BUDGET(org_id, budget_name, account, start_date, end_date)returns a budgeted amount for a named budget — including budgets the Budget Summary report can't reach, since that report only shows your Overall Budget.The control-cell pattern tutorial walks through wiring these three functions to a single Setup tab, so one date change refreshes an entire model.
Xero's 8 standard reports cover most board-pack, workpaper, and month-end needs without a single formula — pick the report, set the dates, and refresh when the numbers change. When the fixed layouts can't give you what you need — a single KPI, a multi-entity roll-up, a named budget — XO.PROFIT, XO.BALANCE, and XO.BUDGET fill the gap without leaving Excel.
Either way, nothing here is a one-off export: every report and every formula re-reads Xero on demand, so the workbook you build once keeps working next month.
Frequently asked questions
- Which Xero reports can XO Report insert?
- Eight: Profit & Loss, Balance Sheet, Trial Balance, Aged Receivables by Contact, Aged Payables by Contact, Bank Summary, Executive Summary, and Budget Summary. See the report table above for what each one covers and which date type it uses.
- Do the reports match Xero's numbers exactly?
- Yes — XO Report reads straight from Xero's own report APIs, including any custom P&L or Balance Sheet section layout you've set up in Xero, so the figures are the numbers Xero presents, not a separate recalculation.
- Can I get a report for several organisations at once?
- Yes for most reports — the Organization step (skipped automatically when only one org is connected) lets you select more than one, and every row is tagged with OrgID and OrgName. The one restriction: for Profit & Loss and Balance Sheet, selecting multiple organisations disables the Tracking category filter, since tracking categories are specific to each org.
- Why is my Profit & Loss report limited to 365 days?
- It's a Xero API limit, not an XO Report one — Profit & Loss and Bank Summary reports can't cover more than 365 days in a single request, and the wizard blocks a longer range in Fixed date mode. For a longer trend, add Compare periods (up to 11) instead of widening the date range.
- Does the Last Month preset update automatically?
- Yes. Smart presets like Last Month recalculate against today's date every time you refresh, so a report inserted in July and refreshed in September shows August, not July. Fixed dates, picked from the calendar, never move — use those only for snapshots you want to stay exactly as inserted.
- Can I change the layout of a report?
- Not from Excel directly. Profit & Loss and Balance Sheet mirror whatever custom sections and account groupings you've set up in Xero's own report settings — change the layout in Xero, then refresh (or re-insert) the report in Excel to pick it up. The other six reports (Trial Balance, both Aged reports, Executive Summary, Bank Summary, Budget Summary) always use their standard structure.
Related reading
- =XO.PROFIT — Net income for a period
- =XO.BALANCE — Account balance for a date range
- Build a Profit & Loss report in Excel
- Build a Balance Sheet report in Excel
- Build a Trial Balance report in Excel
- Aged Receivables in Excel
- Financial Reports — full technical reference
- Smart Date Presets reference
- Live Xero data: the control-cell pattern