Flag only the lines that moved past a set threshold (say 10 per cent and $500), split each into its causes (price, volume, timing or a one-off), then write one sentence per line: what happened, why, whether it will recur, and what you will do. AI drafts those sentences well once you give it the numbers and your notes.
The order matters. If you hand an AI assistant a budget-versus-actual table and ask it to "explain the variances", it will produce fluent explanations for numbers it cannot see behind. A cost that is down because a bill has not arrived yet becomes "improved energy efficiency". The work that makes commentary right is yours and takes about an hour: the threshold, the price and volume split, and a line of context for each cause. The AI then saves you the writing.
Get the report out in a form you can work with
Both main small-business accounting platforms produce the comparison. In Xero it is the Budget Variance report, found under Reporting, All reports, once a budget exists (you need a role with report access). In QuickBooks Online it is the Budget vs Actuals report, which is available on the Plus and Advanced plans only. Export it to a spreadsheet with four columns per line: account, budget, actual, and a type column you add (Revenue or Cost).
Add three formula columns yourself rather than asking AI to work them out. Arithmetic belongs in formulas, where it is checkable.
Variance (column E): =D2-C2 (actual minus budget)
Variance % (column F): =IF(C2=0,"",E2/ABS(C2))
Fav/Adv (column G): =IF(B2="Revenue", IF(E2>=0,"F","A"), IF(E2<=0,"F","A"))
Flag (column H): =AND(ABS(E2)>=500, ABS(E2)>=0.1*ABS(C2))
The favourable or adverse column is there because of a sign trap that catches people and AI alike. With variance as actual minus budget, a positive number is good news on a revenue line and bad news on a cost line. Let the formula label it, and tell the assistant to use the label rather than the sign.
A craft brewery's month, flagged
Here is an illustrative month for a small craft brewery with a taproom, keg sales to bars and pubs, and cans sold online and through shops. The flag rule is 10 per cent and $500.
| Line | Budget | Actual | Variance | F/A | Flag |
|---|---|---|---|---|---|
| Taproom sales | $38,000 | $33,400 | −$4,600 (−12.1%) | A | Yes |
| Wholesale kegs | $26,000 | $29,900 | +$3,900 (+15.0%) | F | Yes |
| Cans, online and retail | $14,000 | $13,300 | −$700 (−5.0%) | A | No |
| Malt | $5,200 | $6,055 | +$855 (+16.4%) | A | Yes |
| Hops | $3,900 | $3,780 | −$120 | F | No |
| Cans and packaging | $4,100 | $3,950 | −$150 | F | No |
| Alcohol duty | $9,400 | $9,610 | +$210 | A | No |
| Taproom wages | $11,500 | $12,650 | +$1,150 (+10.0%) | A | Yes |
| Brewery wages | $9,800 | $9,800 | $0 | n/a | No |
| Energy | $3,200 | $2,450 | −$750 (−23.4%) | F | Yes |
| Marketing | $2,000 | $3,400 | +$1,400 (+70.0%) | A | Yes |
| Repairs | $800 | $2,300 | +$1,500 (+187.5%) | A | Yes |
| Rent and other overheads | $20,500 | $20,600 | +$100 | A | No |
| Operating profit | $7,600 | $2,005 | −$5,595 | A |
Seven of thirteen lines are flagged. That is about right. If your rule flags more than half the lines every month, raise it; if it flags almost nothing while profit is well off budget, lower it. Some owners also flag any line over a fixed amount regardless of percentage, so a 4 per cent miss on the biggest cost still gets a sentence.
Split each flagged variance into its causes
A variance is almost always a mix of four things. Separating them is what turns "taproom sales were down" into something you can act on.
- Volume: you sold or used more or less than planned.
- Price: each unit sold or bought at a different price than planned.
- Timing: the money is real but landed in a different month from the budget (a deposit paid early, a bill not yet received).
- One-off: an event that will not repeat (a breakdown, a legal fee, a handover period).
Price and volume on a sales line
The brewery budgeted 5,000 pints in the taproom at an average $7.60, which is $38,000. It sold 4,300 pints at an average of about $7.77 after a price rise the previous month, which is $33,400.
Volume variance = (actual pints - budget pints) x budget price
= (4,300 - 5,000) x 7.60 = -5,320 adverse
Price variance = (actual price - budget price) x actual pints
= (7.767 - 7.60) x 4,300 = +720 favourable
Check: -5,320 + 720 = -4,600 (matches the report)
So the price rise worked; the problem is 700 fewer pints. That points the conversation at footfall rather than pricing. The owner's note: Friday food-truck evenings ended in month two and Friday pints fell by about a third.
Price and volume on a cost line
Malt was budgeted at 6.5 tonnes at $800 a tonne ($5,200). The brewery used 7.0 tonnes at $865 a tonne ($6,055).
Volume = (7.0 - 6.5) x 800 = +400 adverse (more brewing)
Price = (865 - 800) x 7.0 = +455 adverse (new harvest contract price)
Check: 400 + 455 = 855
The volume part is not bad news in itself: the brewery brewed more because wholesale sales were up. This is what accountants call flexing the budget, adjusting the budget for the volume you actually did, so a cost line is judged on efficiency rather than punished for growth. The price part is the real issue, and it is recurring for the rest of the contract.
If splitting by hand feels fiddly, give the assistant the four numbers and the formulas above and ask it to lay out the working. It is a good use of AI as long as you check the "Check" line adds back to the report.
Write down the why before asking for words
The single most useful habit is a short notes table, filled in by whoever knows the cause. It takes 15 minutes and is the difference between true commentary and plausible fiction. The brewery's, filled in:
| Line | Cause type | Note from the person who knows | Recurring? |
|---|---|---|---|
| Taproom sales | Volume, partly price | Food-truck Fridays ended; Friday pints down about a third. Price rise holding. | Yes until replaced |
| Wholesale kegs | Timing, then recurring | New bar group account started this month; budget had it from month five. | Yes |
| Malt | Volume and price | More brewing for wholesale; new harvest price from this month's delivery. | Price: yes |
| Taproom wages | One-off, small overrun | New supervisor started with two-week handover overlap, about $900. Rest is extra hours. | Mostly no |
| Energy | Timing | Final three weeks' bill not received; estimate about $850 missing. | No |
| Marketing | Timing | Beer festival stand paid now; budgeted two months later. | No |
| Repairs | One-off | Glycol chiller compressor repair. | No |
The prompt that turns numbers and notes into commentary
You are drafting the monthly budget vs actual commentary for a small craft brewery.
Attached: variance.csv (Line, Budget, Actual, Variance, FavAdv, Flag) and notes.csv
(Line, CauseType, Note, Recurring).
For each line where Flag is TRUE, write ONE sentence of 25-40 words covering:
what moved (with the amount and F/A label from the file), why (from the note ONLY),
whether it recurs, and the action if the note gives one.
Rules:
- Use the FavAdv column for favourable/adverse. Never infer it from the sign.
- If a line has no note, write "CAUSE NOT YET KNOWN" instead of guessing.
- Do not add causes, percentages or figures that are not in the files.
Then write a 3-sentence overview: operating profit vs budget, how much of the gap
is timing or one-off, and what is recurring.
An illustrative first draft, before corrections:
Taproom sales were $4,600 adverse: volume fell by 700 pints after food-truck Fridays
ended, partly offset by the price rise; this will recur until Friday evenings are replaced.
Wholesale kegs were $3,900 adverse, reflecting the new bar group account starting early.
Energy was $750 favourable thanks to lower usage in the brewhouse.
Overview: operating profit was $2,005 against a budget of $7,600, $5,595 adverse.
Around $2,400 of the gap is one-off, $1,400 is timing and the rest is recurring.
Three things to fix, and they are the typical ones. Wholesale is labelled adverse, despite the instruction, because the model read "+3,900" on a line it half-treated as a cost; always scan the F/A words against your column. Energy has an invented cause: the note said a bill was missing, and "lower usage" appeared anyway, probably because the notes file had the energy row under a slightly different line name. And the overview's split does not add up once you account for energy: the $750 "saving" is really a missing bill, so timing is larger and profit is overstated. The corrected overview is below.
A bridge from budget profit to actual profit
A variance bridge lists every cause, in dollars, that takes you from the budgeted profit to the actual one. It is the most honest one-page summary of a month. Correcting for the missing energy bill first (which lowers actual profit by about $850 to $1,155), the brewery's bridge reads:
| Step | Amount | Type |
|---|---|---|
| Budgeted operating profit | $7,600 | |
| Taproom: 700 fewer pints | −$5,320 | Recurring |
| Taproom: price rise | +$720 | Recurring |
| Wholesale: new bar group account early | +$3,900 | Timing, then recurring |
| Malt: extra volume for wholesale | −$400 | Follows wholesale |
| Malt: new contract price | −$455 | Recurring |
| Chiller repair | −$1,500 | One-off |
| Supervisor handover | −$900 | One-off |
| Festival stand paid early | −$1,400 | Timing |
| Energy, once accrued | −$100 | Small |
| All other lines (net) | −$990 | Small |
| Actual operating profit, corrected | $1,155 |
Read that way, the month is less alarming and more useful. About $3,800 of the gap is one-off or timing. The real story is that the taproom has lost its Friday trade, worth around $5,300 a month in volume, and a new wholesale account has covered most of it. The action is about Friday evenings, not about cutting costs across the board.
The corrected overview sentence: "Operating profit was $1,155 against $7,600 budget once the missing energy bill is accrued; $3,800 of the $6,445 gap is timing or one-off, and the recurring issue is lost Friday taproom trade, largely offset by the new wholesale account."
When the variance is really a budget mistake
Sometimes the actual is fine and the budget was wrong. Writing commentary that blames the team for missing a number nobody could hit wastes everyone's time. Signs of a budget error: the same line misses in the same direction every month from the first month; the budget for the line was a round number or a copy of last year; or the note says "we never planned to do that".
In the brewery's case, the cans line was budgeted at $14,000 a month on the assumption of a supermarket listing that was still being negotiated when the budget was set. It came in at $13,300, $13,100 and $13,400 in the first three months. The honest commentary is one sentence ("Cans are tracking about $700 a month below a budget that assumed a listing not yet agreed") and a re-forecast:
| Cans, online and retail | Month 4 | Month 5 | Month 6 |
|---|---|---|---|
| Original budget | $14,000 | $14,000 | $14,000 |
| Re-forecast (no listing) | $13,300 | $13,500 | $14,200 |
| Reason for re-forecast | Three-month average, plus the usual rise into the warmer months; listing excluded until signed | ||
Keep the original budget in the report so you can still see the miss, but judge the month against the re-forecast.
Spotting lines that go wrong three months running
One bad month is noise. Three in a row is a pattern that deserves an owner and an action. Once you have a few months of variance files, this prompt earns its keep:
Attached: variance files for months 1-3 (same columns in each).
List every line that was flagged in 2 or more of the 3 months, or was adverse in all
3 months even if not flagged. For each, show the three variances side by side and
the cause type from each month's notes. Do not add causes.
Adverse 3 of 3 months:
Taproom sales -1,200 | -3,900 | -4,600 Volume (months 2-3), notes: Friday trade
Malt +310 | +790 | +855 Price from month 2, volume month 3
Cans -700 | -900 | -600 Budget assumption (listing), see re-forecast
Flagged 2 of 3:
Repairs +1,100 | +200 | +1,500 One-off each time: glycol chiller twice
That last line is the one a single month hides. Two "one-off" repairs to the same chiller in three months is not a one-off; it is a replacement decision. Illustrative output again, and worth checking against the files, but the question itself is the value: it forces the recurring pattern into view.
How the same method reads in other businesses
The four cause types travel well, but each business has its favourite trap.
- A wine merchant sees huge timing variances around the festive season. If the budget assumed December's case orders but customers ordered in late November, November looks brilliant and December terrible. Report the two months together as well as separately.
- An online clothing shop should split sales into gross sales and returns. A sales line on budget can hide a return rate that went from 22 to 30 per cent, which is a product or sizing problem, not a sales one.
- A handmade jewellery seller with metal-heavy pieces should separate the metal price from everything else. A materials variance that is all metal price calls for a pricing review; one that is volume means you made more.
A one-page variance pack people will actually read
Most small-business owners, partners and lenders will read one page. Put the bridge and the sentences on it and leave the full table as an appendix. The brewery's page, laid out in five blocks:
- Headline (one line): "Operating profit $1,155 against $7,600 budget; $3,800 of the gap is timing or one-off."
- The bridge from budget to actual profit, as above.
- Seven sentences, one per flagged line, in order of size.
- Three actions with an owner and a date: taproom manager to trial a Friday food partner by month five; owner to get a replacement quote for the glycol chiller by the next close; bookkeeper to add the energy supplier to the missing-bills check.
- What to watch next month: the festival stand cost reverses in month five; the new malt price is now the run rate.
Ask the assistant to lay out the page from your corrected sentences and bridge. Tell it the order of the blocks and a word limit for each, or it will add an introduction and a closing summary nobody needs.
Checks before the commentary goes to anyone
- Every figure in the text appears in the table. Search the draft for numbers and tick each one off. A figure you cannot find was made up or miscalculated.
- Every F/A word matches the column. Read them in a separate pass; errors here flip the meaning of a sentence.
- The bridge adds up. Budget profit plus every step equals actual profit. If it does not, a cause is missing or double-counted.
- Timing items are really timing. Each one should reverse in a named future month. Write that month down and check it next time.
- Nothing was explained that had no note. Any "CAUSE NOT YET KNOWN" is an action for someone, not a sentence to polish.
The favourable energy line is a reminder that variance commentary is only as good as the close underneath it; speeding up month-end close covers the missing-bills check that would have caught it. If the numbers themselves are unfamiliar, using AI to understand your profit and loss is a good primer, and checking margins product by product helps when a cost variance turns out to be a pricing problem. To have the pack assemble itself each month, see automating monthly management reports; for why the invented energy cause happens at all, AI hallucinations explained for business owners sets out the causes and fixes.
Budget variance questions that come up next
What if I don't have a budget to compare against?
Compare with the same month last year adjusted for any known changes, and treat that as a stand-in for this year. It will be rough, but the method of flagging lines, splitting causes and writing one sentence each still works. Then build a simple monthly budget for next year from this year's actuals, your price changes and your planned hires, so the comparison means something.
Should I compare with the budget or with last year?
Use both, because they answer different questions. Budget against actual tells you whether the plan is on track. This year against last year tells you whether the business is growing or shrinking underneath. A line can be on budget but well below last year, which usually means the budget was set too low.
Should I change the budget when things change?
Keep the original budget fixed for the year so you can see how far reality moved from the plan. Alongside it, keep a re-forecast that you update each quarter with what you now expect. Report actuals against both: the budget shows how good the plan was, the forecast shows what to expect for the rest of the year.
Further reads
- How to Build a KPI Dashboard With AI When You Have No Data Team — Put the flagged lines on a dashboard you check weekly.
- How to Find AI Savings Line by Line in Your Profit and Loss — Turn a recurring adverse cost variance into a saving plan.
- How to Build a 13-Week Cash Flow Forecast With AI Help — See what the variances mean for cash, not just profit.
- How to Get a Weekly Business Summary Emailed to You by AI — Catch big variances weekly instead of at month end.
- Best AI Business Intelligence Tools for Small Businesses (2026) — Tools that chart budget against actual without spreadsheets.
- Copilot in Excel: What It Can and Can't Do With Your Numbers — What Copilot can and can't do with a variance workbook.
- How to Use AI for Scenario Planning: Best, Worst and Likely Cases — Build best, worst and likely cases from your own numbers, use AI to challenge the assumptions, and turn each case into triggers and pre-agreed actions.
- How to Forecast Next Quarter's Sales With AI Using Your History — Three baselines, a backtest that exposes over-confident models, an adjustments log, and a wine merchant's festive quarter forecast worked end to end.
- How to Set Spending Rules and Approvals for Business Purchases — Create a purchase policy that checks the full commitment, reserves the budget and gives staff a clear route for routine and urgent spending.
- How to Track Profit per Project in a Service Business With AI — Build a weekly project margin review that includes your time, unpaid supplier bills and the cost of finishing each job.
- Capacity Planning With AI: Know When Your Team Is Full — Find the role, day or machine that limits your next booking, with a practical weekly capacity calculation and checked AI scenarios.
- How to Prepare a Business Loan Application With AI Help — Build a traceable loan evidence pack, test a weak trading month and use AI to draft explanations without inventing financial claims.
- What Finance Tasks Can AI Automate in a Small Business? — Fifteen finance jobs AI can take over in a small business, each with an example, a first step and the check that stops it going wrong.
- What Is Cash Flow Forecasting? A Plain-English Guide With AI Examples — Cash flow forecasting explained with a six-week example for an importer, five ways AI speeds it up, the errors it introduces and a weekly routine.
- How to Use Xero's JAX for Invoices and Cash-Flow Questions — What Xero's JAX can do with invoices and cash-flow questions today, a wedding planner's worked week, and the checks that stop confident wrong answers.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: Xero Central on the Budget Variance report; QuickBooks Help on budgets and the Budget vs Actuals report (Plus and Advanced plans).