💡
Recommended Tool
This article mentions QuickBooks — QuickBooks generates budget vs. actual reports automatically once you set up your annual budget — no manual comparison spreadsheet needed.
Try QuickBooks →

A budget that’s never compared to actuals is just a wish list. The budget vs. actual comparison is where you learn whether your assumptions are correct and where to adjust.

The Structure

A budget vs. actual spreadsheet has three data columns per period:

BudgetActualVariance
Revenue$50,000$47,200-$2,800
Cost of Goods$15,000$14,100+$900
Gross Profit$35,000$33,100-$1,900
Payroll$18,000$17,500+$500
Marketing$2,500$3,800-$1,300
Software$400$400$0
Net Income$14,100$11,400-$2,700

The variance column = Budget − Actual. Positive variance on expenses is good (under budget). Positive variance on revenue is good (over budget).

Setting Up the Spreadsheet

Monthly view:

Create columns for each month January through December. For each month, have:

  • Budget (set at the start of the year or last month)
  • Actual (entered when the month closes)
  • Variance = Budget − Actual

Year-to-date view:

Add a YTD column that sums January through the current month for both Budget and Actual. This shows whether you’re on track for the year even if individual months vary.

Formulas:

Variance = =B3-C3 (Budget − Actual)

Variance % = =D3/B3 (Variance ÷ Budget, formatted as percentage)

YTD Budget = =SUM(B3:M3) (sum across all budget months)

Building Your Annual Budget

The budget column requires work upfront. For each line item:

Revenue: Based on your prior year with growth assumptions, or your sales pipeline if you have one. Be specific: “Client A retainer: $2,000/month” rather than generic “Revenue: $50,000.”

Variable expenses: Use percentage of revenue where appropriate. COGS that’s 30% of revenue stays 30% even as revenue fluctuates.

Fixed expenses: Enter known amounts (rent, salaries, loans). These don’t change with revenue.

New spending: Add planned new hires, equipment purchases, or marketing campaigns in the month they’re expected to occur.

The Monthly Review Process

On the 5th-10th of each month (once financial data is available):

  1. Enter actuals for the prior month
  2. Calculate variances
  3. Identify any line with >10% variance (positive or negative)
  4. Write one sentence explaining each large variance in a notes column
  5. Adjust the forward budget if you’ve learned something that changes your assumptions

The explanation step is the most valuable. “Marketing over by $1,300 — added a new ad campaign that’s performing well” is different from “Marketing over by $1,300 — not sure why.”

What Large Variances Tell You

Revenue consistently below budget: Your growth assumptions were too optimistic. Revise the full-year forecast and adjust expense plans accordingly.

An expense category consistently over budget: Either the budget was unrealistic, or there’s spending happening without oversight. Investigate.

An expense category consistently under budget: Planned spending isn’t happening. Sometimes good (cost savings), sometimes concerning (planned marketing didn’t launch, which may explain revenue miss).

Net income tracking below budget: Identify whether it’s a revenue problem, a cost problem, or both. Don’t wait until December to discover you’re $30,000 off plan.

The Reforecast

If your actuals diverge significantly from budget by mid-year, do a reforecast:

  • Take actuals year-to-date
  • Re-project the remaining months based on current trends
  • Update your full-year estimate

The reforecast is more useful than the original budget at that point — it’s grounded in what’s actually happening.

Set up your budget vs. actual spreadsheet before the next month closes. Even if you don’t have a formal annual budget, start by entering last month’s actuals and creating a simple budget for next month. The habit of comparing expected vs. actual is the foundation of financial management.

5 Google Sheets Every Small Business Needs

Cash flow, P&L, mileage log, invoice tracker, and payroll — all free.

No spam. Unsubscribe any time.