HR Utilities
← All tools

Headcount Reconciliation

Why your HR system, payroll and finance each count a different headcount, explained one named person at a time.

Reads .xlsx and .csv inside your browser. Nothing is uploaded.

The system of record

Drop a spreadsheet here

Usually your HR system. Everything is reconciled against it.

The system to reconcile

Drop a spreadsheet here

Payroll, finance's headcount report, or any other list of people.

A third system (optional)

Drop a spreadsheet here

Reconciled against the first one as well.

The totals can agree and still be wrong

HR says 412, payroll says 410, and a gap of two looks like rounding. Underneath it can be eleven people HR counts and payroll does not, and nine the other way round, and the two sets of mistakes cancel. So the net gap sits beside the number of people who actually disagree. The first is what the meeting asks about. The second is the work.

Every person gets exactly one reason

The bridge from one count to the other is built from people, not adjustments. Each person counted by one system and not the other is placed in one line, so the lines add up exactly and there is no balancing figure. Open any line to see who is in it. Whatever the files cannot explain is left as unexplained, and that short list is the one to work through.

Most differences are definitions and timing

Contractors sit in the HR system and are paid through accounts payable. People on unpaid leave are employed and not in this month’s payroll. A starter from last week is not set up in payroll yet, and a leaver from last week is still due a final pay run. None of that is an error, and each is labeled as a definition or as timing so it can be set aside quickly.

One difference is expensive

Somebody the HR system says left two months ago, and whom payroll still counts, is either a termination payroll was never told about or a person still being paid. That is listed before anything else. So is the reverse: payroll stopped long ago and the HR system still counts them, which overstates every headcount, turnover and cost figure built on it. The window for what counts as timing is yours to set.

Two numbering schemes, and departments with different names

IDs match ignoring case, spaces and leading zeros. Where payroll uses its own numbers, a person missing from both sides under a name nobody else shares is offered as the same person under two IDs, as something to confirm rather than a certainty. Departments are compared the same way: “Engineering” in the HR system is matched to whatever finance calls it for most of those people, and only the people who break that pattern are reported.

What this does not do

It explains the difference between lists; it does not decide which list is right, and a person paid after leaving is a question for your payroll team, not a conclusion. For a simple comparison of who arrived and left between two exports of the same system, the Employee Roster Comparator does that, and the Headcount & FTE Calculator breaks one list down by department or site.