How-to
Headcount budget vs actual rollup
Positions > Budget tab. Aggregates planned cost (salary band midpoint × FTE) and actual cost (active contracts) per department + budget year.
1 min readLast updated 25 May 2026
The Budget view
Organisation > Positions > Budget shows, per (department, budget_year):
| Column | Calculation |
|---|---|
| Planned headcount | Count of open + filled + frozen positions |
| Planned cost | Σ (salary_band_midpoint × FTE) across all planned positions |
| Actual headcount | Count of filled positions |
| Actual cost | Σ (current contract gross_salary × FTE) across filled positions |
| Variance | Planned − Actual (positive = under budget; negative = over) |
| Vacancy rate | (Planned − Actual) / Planned × 100 |
Setting it up
For the budget rollup to be useful, each position needs:
- Salary band min + max — midpoint is the planned cost basis
- FTE — full-time = 1.0, part-time = e.g. 0.5
- Budget year — drives the time-axis filter
Positions without salary bands are excluded from the cost columns (still counted in headcount).
What to do with it
- Hiring decisions — variance positive = room to hire; variance negative = need to freeze or close
- Quarter-on-quarter trends — change budget year filter to compare planning eras
- Department vs department — sort the table by Department to see which teams are over/under
Filters
- Budget year (default: current year)
- Status (default: open + filled, exclude closed)
- Department (multi-select)
Limitations
- Doesn't factor in employer NI / pension / benefits / NI-saving on under-21s — pure gross salary only
- Doesn't factor in part-period costs (someone joining mid-year is counted at full annual cost)
For a more nuanced spend forecast, export and model in your finance tool.