CFO

Availableapp.erp.io/cfo/budgets

Budgets

A budget is a set of expectations by account and period. Variance is where reality disagreed, and it is worth reading carefully.

Granularity
Account and period
Dimensions
Where the ledger carries them
Variance
Absolute and percentage
Re-forecast
A new budget

Setting one

A budget assigns an expected figure to each account for each period. Where the ledger carries dimensions, budgets can be set per department or project — which is the point at which a budget starts being something a manager owns rather than something finance produces.

app.erp.io/cfo/budgets
Budget vs actual

Year to March 2026 · all departments

Export
AccountBudgetActualVarianceNote
Revenue400,000412,880+3%
Subcontractors96,000128,410+34%Two projects outsourced
Salaries168,000162,000−4%One hire delayed
Marketing36,00018,200−49%Underspent, not saved
Hosting5,0005,0200%
Budget against actual. The variance column is the one to read, with the reason beside it.

The two variances that mislead

A favourable variance from underspending is not a saving. The marketing line above is 49% under budget. Nothing was saved — work that was planned did not happen, and its absence will show up somewhere else, later, as a revenue number rather than a cost one. Underspend on discretionary investment is the most consistently misread figure in any budget report.

A salary underspend from a delayed hire is a capacity problem. It reads as a positive variance and it means the work that person was going to do is either not being done or is being done by somebody else at the cost of something else — frequently the subcontractor line immediately above it.

The two rows in that example are the same event

A delayed hire, and subcontractors 34% over. Read together they are one story; read as separate variances they are a saving and an overspend. Variance analysis is mostly the discipline of noticing which lines are connected.

Re-forecasting

When a budget stops describing the year, create a new one rather than editing the original. Keeping the original preserves the comparison that shows how far expectations moved — which is usually more informative than the new budget.

What this does not do

No budget approval workflow

A budget is set, not routed and approved.

No driver-based budgeting

Figures are entered per account, not derived from volumes and rates.

No rolling forecast automation

Re-forecasting is creating a new budget.

No commitment tracking

A purchase committed but not yet invoiced does not consume budget.

Questions

Can a manager see only their department?

Access is per module, so no — but the view filters by dimension.

Can we import a budget?

Through the API.

Do budgets appear in Accounting?

Budgets exist there too; the variance analysis is here.