Blog/Practical bookkeeping·US and Canada

Budget vs actual reports: how to build a budget and read the variances

A practical way to build a small-business budget from last year's books, whether to budget by month or year, and how to read a budget vs actual report without overreacting.

7 min read · October 24, 2026

Two sheets with simple hand-drawn bar charts side by side on a desk with a maroon pencil

What a budget is for

A budget is not a prediction you will be graded on. It is a written-down expectation, so that when the month closes you can see quickly where reality went somewhere else and ask why. Without one, a profit and loss report just tells you what happened; with one, it tells you what was different, which is where the decisions are.

For a small business the budget can be simple: the same income and expense accounts as your profit and loss, with an amount for each. If the chart of accounts is a mess, the budget will be too, so tidy it first (see chart of accounts).

Building one from last year

  1. Start from last year's actual profit and loss, by month if you have it. It is the best evidence you have.
  2. Adjust the known changes. A rent increase in the lease, a new hire from April, a price rise to customers, a loan that ends in June. Write down each assumption next to the number.
  3. Grow sales with a reason. "10% more" is a wish; "two more crews from May at last year's revenue per crew" is a budget.
  4. Budget variable costs as a share of sales. If materials ran at 22.5% of revenue last year, budget them at 22.5% of this year's revenue, not last year's dollar figure.
  5. Leave room. Repairs, bad debts and one-off costs happen every year even if you cannot say which.

Two or three hours is enough for most small businesses. A budget nobody finishes helps less than a rough one finished in January.

Monthly or annual?

An annual budget is quick to set and fine for a business whose months look alike. But most do not: a landscaper earns little in January, a retailer earns a lot in December. Comparing one month's actual with one-twelfth of the annual budget will make January look like a disaster and December like a triumph.

A monthly budget spreads each account across the months the way it really falls: seasonal sales, insurance paid in one lump, property tax twice a year. It takes longer to set, but it is the only kind you can compare with each month's close. A sensible middle path: monthly for income and your three or four largest costs, annual for the rest.

Reading the variances

A landscaping company's budget vs actual for March:

AccountBudgetActualVariance%
Landscaping income$40,000$34,500−$5,500−13.8%
Materials$9,000$8,100−$900−10.0%
Crew wages$12,000$11,400−$600−5.0%
Fuel$1,800$2,250+$450+25.0%
Rent$2,500$2,500$00.0%
Total expenses$25,300$24,250−$1,050−4.2%
Net income$14,700$10,250−$4,450−30.3%

Here variance is actual minus budget. For income a negative variance is bad; for an expense a negative variance means you spent less. Reading it:

  • Sales were $5,500 short. The first question: timing or real? A wet March that pushed jobs into April is timing. A lost contract is real, and the rest of the year's budget should change.
  • Materials fell, but less than sales. Budgeted at 22.5% of sales, they came in at 23.5%. Worth a look: price rises from a supplier, or waste on a job.
  • Fuel was 25% over, but only $450. A large percentage on a small account matters less than a small percentage on a large one. Set a rule, for example look at anything more than 10% and more than $1,000 off, plus anything that has been off three months running.
  • Wages fell only 5% on 13.8% less work. Crews were paid while rain kept them off jobs. That is the real lesson of the month.

Look at year-to-date as well as the month. One bad month is noise; three in a row is a trend. Review the report as the last step of your monthly close, after the bank is reconciled, or the actuals are not worth comparing.

Budgets by property, department or job

A landlord wants a budget per building; a firm wants one per office; a contractor wants an estimate per job. These are budgets by segment, and they need the actuals tagged the same way: a class for each property or department, a job for each project.

For jobs, the estimate is the budget: compare it with the job's actual costs. For properties or departments, set a separate small budget for each and compare it with the profit and loss by class.

In AcboBooks

Budgets holds an annual budget for each income and expense account for a calendar year, with actual and variance (actual minus budget) beside each, totals and net income, and an export to Excel or CSV. Click an actual to open the transactions behind it. Monthly Budget sets each account month by month and shows budget, actual and variance for every month. Budgets are by account only: there are no budgets by class, customer or job. To budget per property or department, export the profit and loss by class and set it beside your budget in a spreadsheet; for jobs, compare the estimate with the Job Profitability report.

Budget against your real books

AcboBooks holds an annual and a monthly budget for every income and expense account and shows actual and variance beside each, with the transactions one click away.

This article is general information, not tax, legal or accounting advice. Rules and dates change; check the official source or ask your accountant before acting.