All posts
Functional5 min read

Budget vs. Actual Variance Analysis in Odoo Accounting

Compare actual results to budgets in Odoo - identifying spending variances by account and department, drilling into root causes, and generating management commentary for financial reviews.

Budget vs. Actual Variance Analysis in Odoo#

A budget is only useful if you track actual results against it. Variance analysis identifies where performance deviated from plan - enabling management to take corrective action or update forecasts.

Budget Setup in Odoo#

Accounting → Accounting → Budgets → New:

  • Name: FY2027 Operating Budget
  • Period: 2027-01-01 to 2027-12-31

Budget Lines:

AccountAnalytic AccountAmount
Revenue (4000)All$1,200,000
COGS (5000)All($720,000)
Payroll (6100)All($240,000)
Marketing (6200)Marketing Dept($60,000)
Office (6300)Operations($30,000)

Viewing Budget vs. Actuals#

Accounting → Accounting → Budgets → [Budget] → Budget Report:

AccountBudgetActualVarianceVar %
Revenue$100,000$87,500$(12,500)-12.5%
Payroll$(20,000)$(22,300)$(2,300)-11.5%
Marketing$(5,000)$(3,200)$1,800+36%

Red: over budget (expenses higher / revenue lower than plan)

Green: favorable variance (expenses lower / revenue higher)

Variance Categories#

Revenue Variance:

  • Volume Variance: fewer units sold than planned
  • Price Variance: sold at lower prices than planned
  • Mix Variance: sold different product mix than planned

Cost Variance:

  • Volume Variance: costs scaled with actual volume (acceptable)
  • Price Variance: materials cost more than budgeted (investigate)
  • Efficiency Variance: used more labor/materials per unit than planned

Drilling Into Root Causes#

Revenue shortfall of $12,500 in Q3:

  1. Sales Analysis: units sold vs. budgeted units → volume shortfall
  2. Average selling price: compare to budget → price realization
  3. By rep: which rep underperformed vs. quota?
  4. By product: which products had weak revenue?
  5. By region: is the shortfall concentrated geographically?

Budget Reforecasting#

Mid-year, if budget assumptions are clearly wrong:

Accounting → Budgets → New (create a revised forecast):

  • Keep original budget unchanged (for audit trail)
  • Create "Q3 Reforecast" with updated assumptions
  • Compare Actual vs. Original Budget and Actual vs. Reforecast

Report to management: "Original budget miss is $12,500; but on our revised forecast we are on track."

Try ERPeek on your own Odoo module - ask questions, scaffold tests, and explore your codebase in plain language.

Get started free