Watch the demo
Headcount Planning On Live Data: from HRIS snapshot to fully loaded cost, plan open positions, model removes, and watch the forecast reconcile to payroll.
The Sub-Sections
How to Use It
1
Start from the snapshot
Your live team comes from the HRIS. Apply per-person overrides (title, department, memo, tags) or month-level cost adjustments without touching the source data. Overrides and adjustments layer on top, so the next sync never overwrites your planning.
2
Add open positions
Plan hires, backfills, and removals. Each position carries a start and end window, so it only counts and costs in the months it is active.
3
Set assumptions
Fringe and merit rates resolve from most-specific to global, so you set a company default and override per department where it differs.
4
Run the forecast
The engine projects per-person, per-month loaded cost and derives it 1:1 into the GL (one person-month posts one GL row per cost component). The run goes through a background queue so it is not bounded by a request timeout - a progress bar tracks it while it runs, and if progress pauses momentarily the bar shows “Recovering” rather than stalling. Closing the browser tab does not cancel the run; the queue picks up where it left off.
What the Cost Components Mean
Progressive Fringe Brackets
Some statutory contributions have tiered rates - a reduced rate below a salary threshold, a full rate above it, and nothing beyond a ceiling (common in national insurance and social security schemes). A flat single rate approximates this but overstates high earners and understates low ones. The Fringe / Merit screen lets you define a bracket ladder on any GL fringe component. Each bracket covers a salary band (from, to) at a specific rate and period (monthly or annual). The engine sums each bracket’s contribution independently -clamp(salary, from, to) - from * rate - then applies the component’s cap on the total. A salary checker at the bottom of the editor previews the resolved amount through the same formula the forecast uses, so you can confirm the ladder before saving.
A component with no brackets continues to use the flat rate exactly as before - progressive brackets are additive and change nothing for components that do not use them.
MBO Assumptions
Management-by-objectives targets are configured in the Assumptions screen under the MBO tab. Each rule sets a target as either a per-month or per-year amount, and the engine spreads or accumulates accordingly. Rules can be scoped to:- The whole company (applies to everyone not matched by a narrower rule)
- A department
- An HR department (the HRIS-native department, distinct from Novaplan’s planning department)
Cost Derivation Trace
To see exactly how a per-person cost number was calculated, click the metric cell in People Snapshot (or another headcount grid) to open the formula popover, then choose How Was This Calculated? The derivation panel shows the full cost assembly for that employee in that month: base salary in local currency, the FX conversion, each fringe component with its rate and inputs, merit uplift, bonus accrual, and commission. This is the same math the forecast engine runs, not a re-derived approximation. The panel covers the month range that People Snapshot actually aggregates - so the total in the panel ties exactly to what the cell shows.Active Headcount and the Leave Model
The Total Headcount KPI on the dashboard shows your active headcount - employees fully at work, excluding anyone on leave or coded as freelance. Hovering the KPI opens a tooltip that breaks the full roster count into active, on-leave, and freelance so you can see exactly what was excluded. Rows in People Snapshot that the platform does not count toward active headcount are visually greyed out. This lets you scan the grid and see at a glance which employees are absent from the active count without filtering them out of view. Grey rows are still costed in the forecast if they carry a salary; only the headcount count excludes them.Recording a Leave
When you add a leave via the “Add Leave” action in People Snapshot, the dialog asks for:- Leave type - Parental, Sick, Sabbatical, Unpaid, or Other
- Start and end month - the employee stays in the snapshot and returns automatically when the period ends
- Pay during leave - Unpaid, a fixed amount, or a percentage of base
- Backfill needed - checking this creates a cover position alongside the leave so the seat is not left vacant in the plan; the backfill position carries no incumbent and you can set its own salary separately
Direction-Aware Counting
Open positions are counted by direction. An “add” increases headcount, a “remove” decreases it, and an “update” changes cost without changing the count, so your headcount numbers never double-count a backfill. A position only counts in the months its start-to-end window is active.
Opening Status in the Positions Manager
The Positions Manager shows an Opening Status column for every planned position. The status is derived from the positions feed and tells you, at a glance, whether each seat is occupied and whether that is about to change.Opening Status is read-only because it is calculated from the positions feed, not stored as a field. “Vacant Soon” can appear even when the occupant has no explicit end date set on this position - an employee moving between positions empties one seat and fills another, and the feed is forward-dated to reflect that.
Scheduling Changes to Take Effect Later
You can forward-date any edit in the People Snapshot so the change takes effect from a chosen future month without touching the live value today. This is useful for a raise that starts next quarter, a site transfer that kicks in after an office opens, or an end-date that you know ahead of time but have not reached yet. Fields that can be scheduled: salary, annual salary, FTE, end date, site, region, location, work mode, employment type, and job title. To schedule an edit, click into the cell and make your change. A clock icon appears below the input - click it to reveal an “Effective From” date picker. Pick the month the change should begin, then choose “Schedule” instead of “Apply Now.” The live value stays unchanged until that month arrives; the forecast picks up the new value from that month forward. A small clock chip on the cell shows that a forward rule is active. The adjustment dialog also lets you create forward overrides for FTE and end-date, so you can schedule changes without editing inline. Canceling a scheduled change: hover the clock chip to open a popover that lists every pending scheduled change on that cell - the field name and the month it takes effect. Each entry has a Cancel button. Clicking it opens a confirmation dialog (naming the field and month) and removes the rule. The forecast will no longer apply that future change. This is available in People Snapshot, HC Planner, and Open Positions.A scheduled change creates an effective-dated rule that the forecast engine reads per month. It does not modify the underlying HRIS record and will not be overwritten by the next HRIS sync.
Shared Memos and Tags
When the same memo text or headcount tag appears on more than one employee, it is a shared value. Shared values get a small chip (a link icon and a count) next to the cell - pink for memos, purple for tags - that tells you how many rows use that exact text. Renaming a shared value everywhere: click the chip (or right-click any cell that carries a shared value) to open “Reword everywhere.” Type the new text and confirm. The rename applies to every employee that shares the value across the version - in People Snapshot, HC Planner, and Open Positions. GL actuals adjustments and Cash forecast memos follow the same pattern. Changing just one: edit the cell directly as usual. The new text becomes private to that employee and the shared value stays unchanged on everyone else.Reconciliation and Conflict Indicators
When a cell’s value differs from what the HRIS reported, a small reconciliation badge appears on the row. Hover to see the source value alongside the current adjusted value, and use “Use actual” to revert to the HRIS figure (confirmed before applying). If a planned open position conflicts with a forward adjustment on the same employee - for example, a future end-date rule that overlaps with a plan-position timeline - the adjustment pill shows an amber indicator. Click the indicator to open a focused insight that explains the collision and suggests how to resolve it.Drill and Explain
Click any metric cell in the Overview to open the underlying rows - the exact people and positions behind the number, with filter, sort, and export. Row actions in the Overview (open employee, create position, and similar) are grouped under a ”…” kebab so the row stays uncluttered; hover a row to reveal it. The Combined view unions your snapshot team and your planned positions into one table with a Type pill marking each row’s source, and same-concept fields (job title, site, end date) are shown as one column rather than two half-empty ones. Open an employee to see their profile, overrides, timeline, and forecast.Common Questions
If I change someone's department in the planner, does it change the HRIS?
If I change someone's department in the planner, does it change the HRIS?
No. Edits in the planner are overrides that layer on top of the snapshot. The source HRIS record is untouched, and the next sync will not overwrite your override.
How do I plan a backfill without double-counting?
How do I plan a backfill without double-counting?
Add a “remove” position for the departing person and an “add” position for the backfill. The remove nets the count back to flat, so you see the cost change without the count drifting up.
An employee was added in the HRIS after I locked a version. Can I get them into the locked snapshot?
An employee was added in the HRIS after I locked a version. Can I get them into the locked snapshot?
Yes. Use the copy-to-locked-snapshot flow. It lists employees present in the HRIS but missing from the locked snapshot (already-present people are shown disabled, not hidden) so you can backfill them.
Why doesn't filtering by the version's year give me the right months?
Why doesn't filtering by the version's year give me the right months?
A version’s label year is just a label. Headcount is driven by the forecast window (start and end month), not the version name. Plan and read against the window.
If the Numbers Look Off
- A position is costing in months it should not: check its start and end window. A position with no end date is treated as open-ended and will keep costing.
- Headcount count looks doubled around a backfill: confirm the departing role is a “remove” and the new role is an “add”, not two adds.
- Rolling Forecast data reverted overnight: an HRIS sync can auto-trigger a forecast. The engine reads your forecast window, so confirm the window is set correctly on the live version.
- Loaded cost disagrees with payroll: open the underlying rows and compare base plus components side by side; fringe, merit, and bonus are loaded as rates, so a rate change moves the loaded total without changing base.