Xero Budget vs Actual Report: How to Run It, Where It Falls Short

Published

9 mins read

Xero Budget vs Actual Report: How to Run It, Where It Falls Short

Two columns, one variance, a lot of quiet frustration.

Jarvin Ong

Updated

Every month, somewhere in the world, a finance manager opens Xero, runs the Budget Variance report (Xero's budget vs actual report), stares at it for ten seconds, exports it to Excel, and rebuilds the whole thing by hand. I've watched this happen more times than I can count.

The native report isn't broken. It's just not enough. Once you need anything beyond "here's the budget, here's actuals, here's a variance column," you run out of road very quickly.

This post covers how to run a budget vs actual report in Xero, why it runs out of road, and what a Xero budget vs actual report should actually look like if it's going to be useful for running a business.

How to run a budget vs actual report in Xero

Xero's budget vs actual report is called Budget Variance. It needs a budget to compare against, so set one up in Budget Manager first.

  1. Go to Reporting, then All reports, and open Budget Variance. The search field in the top right finds it quickly.
  2. Pick a date range, or click the arrow next to the date for a set period such as Last month or Month to date.
  3. Under Budget, pick the budget to compare against. It defaults to your overall budget.
  4. To cut by location or department, click Filter and choose the tracking options. Then check the Budget setting again: it still points at the overall budget unless you switch it to one built for that tracking category.
  5. Click Update to run the report.

To change the columns, click Edit layout. You can add more budget columns there, and add a Variance column by picking a first and second column, shown as an amount or as a percentage of the second column. Xero calculates it as (first column − second column) ÷ second column. Once the layout is right, save it as a custom report so you don't rebuild it next month.

One trap: the common formats in the left panel, such as Current and previous 3 months, jump to the Profit and Loss report, which doesn't compare against your budget at all. If the budget columns vanish, that's why.

For the budget figures on their own, without actuals, Xero's other budget report is the Budget Summary.

Where Xero's budget reports stop being useful

Xero gives you Budget Manager, a Budget Summary report and a Budget Variance report, plus a new Budgets (early access) tool that can start a budget from your actuals and apply tracking category filters. For basic check-ins it's fine. But for actual management reporting, a few limits bite fast:

Comparing more than one budget takes manual setup. The report defaults to one budget. You can add extra budget columns in the layout editor, so Budget and Reforecast can sit next to actuals, but only if each version is a separate budget in Budget Manager, and you set those columns up by hand. If you run a rolling forecast, you're still going to be exporting.

The layout is editable, but manual and fragile. Xero's layout editor lets you group and reorder rows, and add formula rows and percentage columns, so calculated rows like Gross Profit % are possible. But formulas don't update when you change the report's structure, everything still hangs off your chart of accounts, and someone has to maintain it by hand.

Tracking categories don't play nicely with budgets. You can build budgets per tracking category, but reporting variance across a whole portfolio of locations or divisions gets clunky fast — and consolidating those views into one report is a manual job. (Xero's two-tracking-category limit doesn't help.)

Variance commentary is awkward. Every real management pack has a "Why?" column. Xero has text blocks and a Notes column that links a line to a numbered text block, which suits a paragraph of narrative. It isn't a per-line "Why?" column sitting beside the variance, so people paste the report into a Google Doc or Word doc and write commentary there. Now you have two artifacts that need to stay in sync.

YTD budget vs YTD actual vs full-year forecast in one view is possible, but manual. This is the view most boards want. The layout editor lets you add date-range, budget and variance columns, but Xero has no forecast concept beyond a second budget, so the full-year forecast is one more thing you maintain by hand.

Multi-entity? Forget it. If your group has three entities on Xero, you're running three separate budget vs actual reports and reconciling them in a spreadsheet.

None of this is a dealbreaker for a simple business. But the moment someone — a CEO, a board, an investor — asks a real question about variance, you're back in Excel.

What a good Xero budget vs actual report actually looks like

Over the years I've built and rebuilt dozens of these. The good ones share a handful of traits:

1. A layout that matches the business, not the chart of accounts. Revenue grouped by stream. Cost of sales broken down the way operators actually think about it (ingredients, packaging, delivery commissions, etc. in F&B — or COGS by category in retail). Opex grouped by function — people, premises, marketing, tech — not alphabetically by account name. Gross profit, contribution margin, EBITDA as calculated rows with the margin shown in the next column over.

2. Multiple comparison columns that make sense together. At a minimum: Current month actual, current month budget, variance $, variance %. Then YTD actual, YTD budget, YTD variance. Then full-year forecast vs full-year budget. Twelve columns done right is more readable than six columns done wrong.

3. Variance thresholds and flagging. Not every variance matters. A good report surfaces only the lines that moved meaningfully — say, anything more than 10% or $10k off budget — and leaves the noise alone. Colour, a flag column, whatever works. The point is the eye should land on what matters.

4. A commentary column that lives with the numbers. Not in a separate doc. The "why" belongs next to the variance it's explaining. When the numbers update, the commentary column stays put so you can update it in place.

5. Multi-entity consolidation with eliminations. If your group has three entities, you want one consolidated budget vs actual, not three reports. Inter-company transactions eliminated. FX translated if relevant. Tracking categories rolled up or filtered however the reader needs it.

6. A rolling forecast view. Budget is a once-a-year thing. Forecast should update monthly. The best budget vs actual reports quietly become rolling forecast reports — actuals for the months that have closed, forecast for the months that haven't, and a running comparison against the original budget so you can see how the year is drifting.

7. Tracking category slicing. Budget vs actual by location. By department. By revenue stream. Same report, different cut. Not three reports glued together.

8. Drillable to the source. A variance is a question, not an answer. Good reports let you click through from the line to the transactions that moved it. If someone has to ask "why is payroll $23k over?", the answer should be one click away, not a half-day investigation.

Why most finance teams settle for less

Because building all of the above takes real time, and the people most equipped to build it are the same people who should be doing judgment work instead of formula plumbing.

I wrote about this a while back in What I Learnt Building 100+ Reports by Hand — the infrastructure of a good report (data layer, logic layer, output layer) is almost always underinvested in. Finance teams end up with a fragile spreadsheet that only one person understands, breaks when the chart of accounts changes, and quietly rots over the course of a year.

So the compromise ends up being: run the native Xero report, manually paste it into the "nice" template, add the commentary by hand, and do it all over again next month. Three to five hours a client or entity, every month, forever.

The Cheetah way

Cheetah is effectively that "nice" template, except the pasting is automated. We pull from Xero programmatically, apply your group's logic (whatever the grouping, whatever the calculated rows, whatever the consolidation rules), and output a Google Sheet on demand, with a one-click Excel download. Reports can also run on a schedule, so "last month" lands in your inbox without anyone pressing a button (we wrote about scheduled reports). The sheet is auditable — every cell traces back to the transactions that built it — so finance teams don't lose control of the numbers.

The point isn't that Cheetah is the only way to get a decent budget vs actual report out of Xero. You can build it yourself in Excel, or use Fathom or Spotlight — all of which have their place. The point is that whichever path you pick, the eight traits above are what you should be measuring the output against. If your current report doesn't have most of them, you're leaving insight on the table every month.

If you're one of the finance managers rebuilding budget vs actual by hand every month, Cheetah is probably worth twenty minutes of your time. And if not, at least steal the checklist.


Related reading: Management Accounts from Xero: What They Should Look Like (And Why They Rarely Do) and Creating Custom Reports from Xero in 2026.


Updated 8 October 2026: added step-by-step instructions for running Xero's Budget Variance report, from Xero Central, and a short FAQ.

Updated 20 September 2026: we corrected what Xero's budget tools can do today. The layout editor can add several budget columns, group rows and add formula rows, and Xero now has a Budget Summary report and an early-access Budgets tool. We also softened the points on commentary and year-to-date views, and added Cheetah's Excel download and scheduled reports.

Frequently asked questions

How do I run a budget vs actual report in Xero?
Create a budget in Budget Manager first. Then go to Reporting, All reports, open the Budget Variance report, pick a date range or a set period such as Last month, and click Update. The report uses your overall budget unless you switch it under Budget.
Can Xero show budget vs actual by tracking category?
Yes, one organisation at a time. Click Filter on the Budget Variance report and pick the tracking options you want, then check the Budget setting: it defaults to your overall budget, so switch it to a budget you've set up for that tracking category.
Can Xero show one budget vs actual report for several entities?
Not in Xero's own reports. Each organisation has its own budgets and its own Budget Variance report, and Xero's own reports, including Xero Analytics, don't combine organisations. A group budget vs actual is built outside Xero, in a spreadsheet or a consolidation tool.
Jarvin
Written by
Jarvin Ong

A finance professional turned product builder, Jarvin has built hundreds of reports by hand and knows what financial and operational reporting demands: customisability, auditability, scalability, and security. Having automated that work reliably, he's now helping advisory firms and finance teams do the same.

Ready to Hunt at Cheetah Speed?

Cheetah was built to handle the most complex edge cases. If every other generic software solution has failed you, you've come to the right place.

Connect with us
WhatsApp

© Safari Technologies Pte. Ltd.
Registered in Singapore
UEN 202443524G