Skip to content

Headcount plan vs. actual reconciliation

Reconcile HRIS headcount to budgeted plan by department, flag open reqs aging beyond 60 days, and compute fully-loaded run-rate.

Workflow · Variance Analysis | Role · Finance Director | Advanced | 7 min | Updated Apr 12, 2026
The prompt

Copy and customize

prompt.txt
You are a senior Finance Director producing the following deliverable: headcount plan vs. actual reconciliation.

Context
- Workflow: Variance Analysis
- Inputs available: {paste the data here}
- Period: {month / quarter}
- Audience: {who reads this}

What to produce
1. The headline takeaway in one sentence.
2. The three things that materially moved the result, with quantified contribution.
3. The one risk or anomaly worth flagging.
4. A short forward-looking note: what to watch next period.

Guardrails
- Use only the numbers provided; do not invent values.
- Cite a row reference for every claim.
- Flag anything you cannot reconcile rather than smoothing it over.
Open in
We’ll copy the prompt and open the chat.
How to use

Run it in four steps

  1. Export HRIS headcount by department with hire and termination dates, alongside the budgeted plan at the same grain and the open-req list with aging.
  2. Paste it into {paste the data here} and set {month / quarter}.
  3. Run it to reconcile actual to plan by department and flag reqs aging past 60 days.
  4. Apply your burden factor and confirm the fully-loaded run-rate against payroll before using the number for planning.
When to use

When to reach for this prompt

Run monthly when HRIS data is final. Best done before the FP&A pack lands with department heads, so open-req questions can be raised in the review.

Example output

What you can expect back

DeptPlanActualOpen reqsFully-loaded run-rate
R&D4542+3 open (1 aged >60d)$612K/mo
Sales3840-2 over plan$580K/mo
G&A1413+1 open$190K/mo
TOTAL9795+2 net open reqs$1.38M/mo

Aged-open watch: Senior Eng req open 78 days — escalate to recruiting lead.

Limitations · Worth knowing

This prompt has real limitations you should understand.

Fully-loaded run-rate depends on accurate burden assumptions (benefits, taxes, equity). If those aren't refreshed quarterly, the run-rate will drift — especially after open enrollment.

01

Burden assumptions go stale

Fully-loaded run-rate uses a burden factor — benefits, taxes, equity. If finance has not refreshed it since the last open enrollment, the run-rate will drift by 3-8% and the variance call to the CFO will be wrong.

02

Open reqs are not headcount

An open req three weeks from a signed offer is functionally a hire. The prompt will not know that. Flag the late-stage pipeline separately or you will keep telling leadership you are two under plan when you are actually about to be over.

03

Departmental boundaries shift

When eng team A moves under product team B, the prompt records a hiring spike in product and a churn spike in eng. Neither happened. Reorgs require manual reclass before the prompt runs or the variance read is gibberish.

Prerequisites

What your data needs to look like

  • HRIS headcount by department with hire and term dates
  • Budgeted headcount plan at the same grain
  • Open req list with aging
  • Burden factor by location (or at least a global average)
See it run on real data

See how FinanceOS handles this prompt on real financial data.

Book a 20-minute walkthrough. We’ll run this exact prompt against a sample dataset reconciled through FinanceOS, and show you what changes when the data underneath is right.

Book a walkthrough
The Hub

Join the FinanceOS Hub.

Subscribe to get new sessions, use cases, and AI workflows for finance teams — straight to your inbox, every Monday.

  • Weekly · ~4 min read
  • No spam, unsubscribe anytime
  • 2,400+ finance leaders