Budget vs Actual Report: How to Explain Variances Clearly

A budget vs actual report managers understand: lay out the data, calculate variances, separate timing from real differences and explain the few that matter.

· 5 min read · Summarix team

A budget vs actual report compares what you planned to earn and spend with what really happened, line by line, and explains the differences that matter. Lay the data out with one row per line item and period, calculate each variance as actual minus budget, label it favourable or unfavourable, and write a short reason for the few variances above your materiality threshold. The rest can wait.

Lay out the data first

Most variance reports go wrong before any analysis starts, because the budget and the actuals are in different shapes: the budget by month in columns, the actuals exported from the accounting system as transactions. Get both into one table with the same line items and the same periods.

ColumnExampleNotes
Line itemSalariesThe same names in budget and actuals
TypeExpenseIncome or Expense, so the sign can be read correctly
CategoryStaff costsA grouping for the summary
Month2026-07One row per line item per month
Budget180,000In rand, no currency symbols in the cells
Actual192,500From the accounting system, after month-end adjustments
Variance12,500Actual minus budget
FavourableNoFor expenses, spending more is unfavourable

Calculating variances

Variance = actual − budget, and variance % = variance ÷ budget. The sign alone does not tell you whether it is good news: earning more than budget is favourable, but spending more than budget is unfavourable. That is why a separate Favourable column, or a convention such as 'positive is always good', saves confusion in the meeting. Pick one convention and print it on the report.

Line itemBudgetActualVarianceFavourable?
SalesR1,200,000R1,140,000−R60,000 (−5%)No
Cost of salesR720,000R672,000−R48,000 (−6.7%)Yes
SalariesR180,000R192,500+R12,500 (+6.9%)No
MarketingR40,000R18,000−R22,000 (−55%)Yes, but check timing

These figures are illustrative. Notice the marketing line: spending less than budget looks favourable, but if a campaign has simply moved to next month, it is a timing difference, not a saving.

Which variances deserve a comment?

Commenting on every line buries the important ones. Set a materiality threshold that combines a rand amount and a percentage, for example 'more than R10,000 and more than 10% of budget', so that a big percentage on a tiny line and a small percentage on a huge line are both filtered out. Then look at year-to-date as well as the month: a line that is slightly over every month adds up.

  • Above both thresholds this month: explain it.
  • Above the threshold year to date: explain the trend, even if this month looks fine.
  • Below the threshold: list it in the table, no comment needed.
  • Budget line with no actuals at all: check whether it is timing or a missing posting.

Timing differences versus real differences

A timing difference reverses later: an invoice posted in August instead of July, an annual licence paid in one month but budgeted evenly, a campaign that moved. A real (permanent) difference does not reverse: a price increase, a lost customer, an extra employee. Label each commented variance as one or the other. Timing differences need a note; real differences may need a decision, or a revised forecast.

If an expense is paid annually but budgeted monthly, spread the actual over the months it covers in your management accounts, or budget it in the month it is paid. Either works; mixing the two creates a variance every single month.

Price and volume: splitting a sales variance

For sales and cost of sales, a variance usually has two causes: you sold a different quantity, or at a different price. Splitting them makes the commentary much sharper:

  • Volume variance = (actual units − budget units) × budget price.
  • Price variance = (actual price − budget price) × actual units.

Say you budgeted 1,000 units at R1,200 and sold 980 units at R1,163: the volume variance is −20 × R1,200 = −R24,000, and the price variance is −R37 × 980 = about −R36,000. Together they explain the −R60,000 on the sales line, and they point to different fixes: selling more, or discounting less.

Writing the commentary

Each comment should answer three questions in one or two sentences: what happened, why, and what happens next. 'Salaries are R12,500 over budget because a warehouse assistant started a month earlier than planned. This is permanent; the forecast has been updated.' That is far more useful than 'salaries over budget'. Put the three or four biggest comments at the top, as a short summary; our guide to writing an executive summary from data shows how.

Producing the report with Summarix

Summarix calculates KPIs and charts from the columns you give it, one column at a time: totals, averages, counts and breakdowns. It does not work out one column from another, so prepare the Variance and Favourable columns in the spreadsheet before you upload it. Upload the CSV or Excel file, and use a focus such as:

For the monthly management meeting. Total Budget, Actual and Variance; Variance by Category and by Line item; flag the biggest unfavourable variances and any line with Actual but no Budget.

Charts list the biggest values first, so for 'where did we overspend', add an `Overspend` column that holds the unfavourable amount (and zero otherwise) and chart that by line item. Every figure in the report is computed by code from your file, and the AI's commentary is a first draft: add the reasons only your team knows, such as the early start date or the moved campaign. Pair the report with your cash flow KPIs and the debtors age analysis, and add it to your month-end checklist.

Upload your budget and actuals and get a variance report with the numbers computed by code.

Free plan: 5 AI reports a month, no card needed.

Frequently asked questions

Should variances be shown as actual minus budget or budget minus actual?

Either works if you are consistent and say which on the report. Actual minus budget is the most common. Because the sign means different things for income and expenses, add a Favourable column so nobody has to work it out.

What is a good materiality threshold?

There is no universal number. Combine a rand amount that matters for your business with a percentage, such as R10,000 and 10% for a small business, and apply both. Adjust it until the commentary covers the handful of lines that genuinely need discussion.

How often should we compare budget and actual?

Monthly, after month-end adjustments, is standard for management accounts. Some businesses also track a few lines weekly, such as sales and cash, so problems show up before the month closes.

What if our budget is out of date?

Keep the original budget for accountability, and add a forecast column that reflects what you now expect. Comparing actuals with both shows how the year is going against plan and against your current best estimate.

Keep reading