Skip to main content

Xero Excel Formulas Cheatsheet

All 11 XO Report custom functions with signatures, return values, and copy-paste examples.

Download the cheatsheet (PDF)

This page is the live reference for the 11 custom Excel functions XO Report adds to your workbook. Every function fetches data directly from Xero through the installed add-in. Formulas recalculate on input change, spill into multi-cell tables where the return value is tabular, and work identically on Excel for Windows, Mac, and the browser.

The table below is the quick-reference shape: function name, signature, what it returns, and one realistic example. For deeper coverage — parameter edge cases, full return-value structures, error semantics — every function has a dedicated page under /docs/functions. Both the on-page table and the downloadable PDF render from the same typed source-of-truth, so they never drift apart.

All 11 XO Report functions

FunctionSignatureReturnsExample
XO.ORGXO.ORG()Table of all connected organizations (Org ID + Org Name).
=XO.ORG()
Spills a two-column table into the cell — reference A2 in other formulas to use the first org.
XO.COAXO.COA(org_id, [include_archived])12-column Chart of Accounts table for the organization (Active accounts by default).
=XO.COA(A2)
Active accounts for the org in A2. Pass 1 as the second argument to include archived accounts.
XO.CONTACTSXO.CONTACTS(org_id, [include_archived])7-column contacts table (Active contacts by default).
=XO.CONTACTS(A2)
Active customers and suppliers for the org in A2. Pass 1 to include archived contacts.
XO.TRACKINGXO.TRACKING(org_id, [include_archived])6-column table of tracking categories and their options (Active by default).
=XO.TRACKING(A2)
One row per option — useful for cross-checking your tracking taxonomy before filtering balances.
XO.TAXRATESXO.TAXRATES(org_id, [include_deleted])6-column tax-rate table (Active rates by default).
=XO.TAXRATES(A2)
All Active tax rates with their type code and percentage. Pass 1 to include deleted rates.
XO.CURRENCIESXO.CURRENCIES(org_id)4-column currency table for multi-currency orgs.
=XO.CURRENCIES(A2)
Every currency code enabled on the org — useful for FX conversion lookups.
XO.BALANCEXO.BALANCE(org_id, account, start_date, end_date, [category1], [option1], [category2], [option2])Single account balance. P&L accounts return activity between dates (≤ 365 days); Balance Sheet accounts return the balance as of end_date.
=XO.BALANCE(A2, "4000", C1, D1)
Revenue for account 4000 in the period defined by cells C1 (start) and D1 (end). Signs are auto-adjusted so normal balances are positive.
XO.LACCOUNTXO.LACCOUNT(org_id, account_code, property)A single property of a GL account (0 = name, 1 = type, 2 = class, 3 = status, 4 = description, 5 = taxType).
=XO.LACCOUNT(A2, "4000", 0)
Looks up the account name for code 4000. Pass 2 to get the account class (ASSET / LIABILITY / REVENUE / EXPENSE / EQUITY).
XO.LITEMXO.LITEM(org_id, item_code, property)A single property of an inventory item (0 = name, 1 = description, 2 = price, 3 = status).
=XO.LITEM(A2, "WIDGET-001", 0)
Item-code match is case-insensitive. Pass 2 to get the sales unit price for variance reports.
XO.BUDGETXO.BUDGET(org_id, budget_name, account, start_date, end_date)Budget amount summed for the account over the date range. Returns 0 when no budget data exists for the period.
=XO.BUDGET(A2, "Overall Budget", "4000", C1, D1)
Pair with =XO.BALANCE to build budget-vs-actual variance tables. Xero budgets cover P&L accounts only.
XO.PROFITXO.PROFIT(org_id, start_date, end_date, [category1], [option1], [category2], [option2])Net income from the P&L report for the date range. Positive = profit, negative = loss, zero = break-even. Date range ≤ 365 days.
=XO.PROFIT(A2, C1, D1)
Single-cell bottom line — ideal for dashboard KPIs. Add tracking category + option pairs to slice by region or department.

When to use the PDF vs the live docs

The PDF download is convenient when you want a printable reference, an attachment to share with a colleague, or a screenshot to pin into a workbook for the next analyst. It is a snapshot of the source-of-truth at the moment of regeneration.

The per-function docs under /docs/functions always reflect the latest deployment and cover edge cases the cheatsheet cannot fit — for example, how XO.BALANCEauto-detects P&L vs Balance Sheet accounts, or which budget types XO.BUDGET supports. When in doubt, the per-function page is the canonical answer.

Frequently asked questions

What are XO Report custom functions?
XO Report adds 11 custom Excel functions in the XO.* namespace that pull live data from Xero — account balances, budgets, P&L bottom lines, chart of accounts, contacts, tax rates, currencies, and inventory item lookups. They behave like any other Excel formula: they recalculate when their inputs change, they spill into multi-cell tables where appropriate, and they work across Excel on Windows, Mac, and the browser.
Where do these formulas come from?
They are added by the XO Report Office add-in. Install the add-in from Microsoft AppSource or the Xero App Store, connect to Xero with one OAuth click, and the functions are available in any workbook you open with the add-in loaded.
How do I keep the cheatsheet in sync with the latest signatures?
The page above is generated from the same typed source-of-truth that the downloadable PDF uses. When XO Report adds or changes a function, both surfaces update together — no risk of a stale cheatsheet drifting from the product. The PDF is regenerated and committed in the same change.
Is the downloadable PDF the same as the on-page reference?
Yes — both render the same content from the same source-of-truth. The PDF is convenient to print, share, or pin into a workbook for reference; the on-page reference is link-rich and searchable. The on-page version always reflects the latest deployment; the PDF is regenerated whenever the source-of-truth changes.
What if I need more than the cheatsheet shows?
Every function has a dedicated page under /docs/functions/* with full parameter tables, return-value structures, edge cases (e.g., P&L vs Balance Sheet behaviour for XO.BALANCE), and worked examples. The cheatsheet is a quick reference for users who already understand the basics; the per-function docs are the canonical depth.
Does the cheatsheet cost anything?
No — both the on-page version and the PDF download are free with no email gate. XO Report itself has a 14-day free trial (up to 10 organisations) and paid plans from $9.90/month.

Related reading

Take the cheatsheet with you

Same content as the table above — formatted to print or share with your team.

Download the cheatsheet (PDF)

For a complete overview of building Xero reports in Excel — including how this function fits into a full workflow — see our complete Xero to Excel guide.

Try the formulas in your own workbook

Install XO Report and pull live Xero data with any of the 11 formulas above. 14-day free trial — no credit card.

Free trial · No credit card · Cancel anytime