Why Finance and HR never have the same headcount number

Curious how TeamOhana can help you? Talk to us.
In this article
Never miss new content
Ask Finance how many people the company has, then ask HR. Ask Recruiting how many roles are open, then ask Finance how many are approved. You'll get four numbers that don't line up, and every one of them can be defended.
This is a common challenge for Finance and HR teams. Even Workday acknowledges it. A post on Workday's blog notes that the two departments routinely report headcount numbers that don't match. It also describes the variance work as a manual back-and-forth of emails, trying to trace where each position and requisition ended up. A finance lead at a European fintech we spoke with in August was blunter: "The reconciliation is crazy."
It's easy to blame the discrepancies on how each team defines headcount. But even when everyone agrees on the definitions, the numbers can still be different.
Each team is counting a different thing
Finance counts budget lines in the plan. HR counts employee records in the HRIS. Recruiting counts reqs in the ATS. All three are reasonable things to count, and none of them is the seat.
A budget line isn't tied to a particular seat. An employee record closes when the person leaves. A req is created fresh every time a role gets filled. So whenever someone leaves, moves teams or gets reorganized into a new group, the three counts pull apart, and somebody has to put them back together by hand.
You can agree on whether contractors count or whether an accepted offer is a hire. You'll still be reconciling, because the objects themselves don't connect.
Shared definitions don't fix headcount reconciliation. The budget line, the employee record and the req were never designed to point at the same seat, so the numbers drift no matter what everyone agrees to call them.
Where the gap opens
Departures open the first gap. The employee record closes and HR's count drops. Finance's plan line is still there. Recruiting hasn't opened a req yet. For a few weeks, three systems disagree about whether that seat exists. That window is also when the most useful question gets skipped: does the role still need what it needed before?
Backfills widen it. The replacement req often gets a new ID, and the old one lingers as what Workday admins call "ghost positions." Unless someone flags it, Finance sees new headcount where HR sees a replacement.
Transfers and reorgs do the most damage. A finance leader at a large media company told us that when people transfer, "they don't move the open positions with the transfer... So then it's sitting in the wrong place. So when they go to hire, they open a new position id." That company already had position IDs, and it still fell out of sync, because nothing kept the IDs attached to the plan.
Then the calendar does the rest. Start dates slip, levels change, hires get pulled forward, and the January plan stops matching anything by June. In TeamOhana's research, 30 to 50 percent of an annual plan has typically drifted by April.
What it costs
At mid-size companies, the cost is mostly time. A finance team at a software company of about 300 told us the manual reconciliation took 2 to 3 hours a week, just to see total headcount including approved roles that hadn't been filled. That adds up to more than a full day of an analyst's time every month, spent on work that produces no new information. At 1,500 people, we typically see 60 to 80 hours a month spent on it across HR, Recruiting and FP&A.
60 to 80 hours a month: the time a 1,500-person company typically spends reconciling headcount across HR, Recruiting and FP&A.
The other cost is trust. When the CFO and CHRO bring different headcount numbers to the same board meeting, what should be a conversation about where to invest in the workforce becomes a debate over which numbers to trust.
One shared object closes it
You can't spreadsheet your way out of this, because the spreadsheet is still joining three things that were never designed to connect. What closes the gap is giving every team the same object to count: the position.
A seat, or position, is a funded role with its own ID that exists whether or not someone is in it. Once every position is a record, Finance's budget sits on the seat, HR's employee record points to the seat the person holds, and Recruiting's req points to the seat it's filling.
What is a seat (or position)? A seat is a funded role with its own ID that exists whether it's filled or empty. Budget lines, employee records and reqs all attach to it, so every team counts the same thing.
The numbers then come from one place. Approved headcount is the count of seats. Actual headcount is the count of filled seats. Open roles are the seats with nobody in them. When plan and actual differ, you can see why, one seat at a time.
There's one more requirement: every seat needs to stay connected to the headcount plan as the organization changes. This is where companies that already have positions in their HRIS usually fall down. Without that connection, teams end up with the same conflicting numbers they're trying to eliminate. When a role changes, its responsibilities and budget should be updated within the same seat record, preserving a clear history of what changed and why.
If your numbers already match
Some companies don't have this problem, usually because headcount moves slowly or one person owns all three numbers. If your monthly reconciliation takes a few minutes and nobody argues about the result, keep doing what you're doing.
A quick test
Without opening a spreadsheet, try to answer three questions. How many funded seats are open today? Which open reqs are backfills? Why does one department have more open reqs than approved headcount? If any of those sent you to an export, position management may be your fix.
TeamOhana gives Finance, HR and workforce planning the same seats to count, with each seat's budget and history attached, and runs next to your HRIS and ATS. See how it works.
Headcount Reconciliation FAQs
Simplifying TeamOhana: your questions, answered.
Headcount reconciliation is the work of matching the headcount numbers held by Finance, HR and Recruiting so they tell the same story. Finance tracks approved budget lines, HR tracks employee records in the HRIS and Recruiting tracks open reqs in the ATS. Reconciliation traces each difference back to a specific person, position or requisition.
Each team counts a different object. Finance counts budget lines in the plan, HR counts employee records and Recruiting counts reqs, and none of those is tied to the same seat. Every departure, transfer or reorg moves those three counts apart, so someone has to put them back together by hand.
It helps, but it doesn't remove the gap. Teams can agree on whether contractors count or when an accepted offer becomes a hire and still disagree on the total. The underlying records in the plan, HRIS and ATS don't connect to each other, so the numbers still drift.
Departures, backfills, transfers and reorgs are the main causes. A departure closes the employee record while the budget line stays open, a backfill often gets a new req ID, and transfers can leave open positions sitting in the wrong department. Slipped start dates and level changes add to the drift, and 30 to 50 percent of an annual plan has typically drifted by April.
Ghost positions are old position or requisition records that linger after a role has been backfilled under a new ID. Unless someone flags them, Finance may read the replacement as new headcount while HR sees it as a backfill. They inflate open-role counts and make plan-versus-actual comparisons unreliable.
At a software company of about 300 people, one finance team spent 2 to 3 hours a week just to see total headcount including approved but unfilled roles. At around 1,500 people, the effort typically reaches 60 to 80 hours a month across HR, Recruiting and FP&A. That time produces no new information, only agreement on numbers that should already match.
Position management gives every funded seat its own record with an ID that exists whether or not someone is in it. Finance's budget, HR's employee record and Recruiting's req all point to that seat, so approved headcount, actual headcount and open roles come from one source. The seats also need to stay connected to the headcount plan as the organization changes, or the numbers drift again.


