It’s the monthly leadership meeting, and the CEO asks what sounds like the simplest question in the world. How many employees do we have?
HR says 412. Payroll says 398. Finance pulls up the budget file and says 405.
The room gets quiet, and then somebody says the line I hear more than any other in this work: “This is why nobody trusts the system.”
I’ve sat in some version of that meeting more times than I can count. And here’s what I tell them. Every one of those numbers is right. They’re just answering three different questions.
HR counted everyone with an active worker record, including the people out on leave and the new hires starting Monday. Payroll counted who actually got paid last cycle. Finance counted budgeted positions, and some of those are still open. Three reports, three definitions, one system that did exactly what each person asked it to do.
The system isn’t confused. The organization is.
“Just make it match”
The first request is almost always some version of “just make the reports match.” I get it. Leadership wants one number they can stand behind. But if I force three reports to land on the same total without settling what that total means, all I’ve done is hide the disagreement inside a calculated field where nobody will find it until the next audit.
And it’s never just headcount. The same fight shows up everywhere:
- Turnover. Does a transfer count? A rehire? A seasonal worker whose assignment ended on schedule?
- Full-time vs. part-time. Is that based on scheduled hours, benefits eligibility, or what the offer letter said?
- Hire date. Original hire date, most recent hire date, or the seniority date you use for PTO accruals?
- Pay. Base only? Base plus allowances? Annualized total compensation?
- Active. Is someone on unpaid leave active? What about someone whose termination is entered but whose last day is next Friday?
Every one of those is a business decision, not a technical one. Your system will happily calculate any version of them. It just needs somebody to decide which version is the official one.
How it gets this way
Most of the time, this goes back to the implementation. During the build, reports get created one request at a time. Payroll needs a report, so it gets built the way payroll thinks. Benefits needs one, so it gets built the benefits way. Finance asks for one that looks like the report they had in the old system. Nobody stops to ask whether all of them are using the same definition of “employee,” because nobody was ever asked to own that question.
Then the system goes live. People start exporting to spreadsheets to “fix” the numbers before they send them up the chain. Now you’ve got a fourth version of headcount living on somebody’s desktop, and that’s the one leadership actually sees.
That’s the part that gets me. The organization paid for a system that could be the single source of truth, and then built a process that guarantees it won’t be.
What actually fixes it
It’s less technical than people expect.
- Write the definitions down. Start with the five or six numbers leadership asks about most. For each one, decide in plain language what counts, what doesn’t, and as of what date. “Headcount includes active employees and employees on leave. It excludes contractors and future-dated hires. It’s measured as of the last day of the month.”
- Give every definition an owner. Not a committee. A person. When someone wants to change what “active” means, they go to that person, and the change gets made on purpose instead of by accident.
- Build one official report per definition, and label it like you mean it. The official headcount report says so in its name, and its description says exactly what it includes. Retire or rename the lookalikes so nobody grabs the wrong one at 4:45 on a Friday.
- Keep the other numbers, and name them honestly. Payroll still needs “paid last cycle.” Finance still needs “budgeted positions.” Those numbers aren’t wrong. They just aren’t headcount, so stop calling them that.
- Put the logic in the system, not in a spreadsheet. If a number needs a calculation, build it once, inside the system, where it can be reviewed, secured, and reused. In Workday that might be a calculated field on the right data source. In ADP, Dayforce, or BambooHR it might be a custom report field or a saved filter. The tool changes. The principle doesn’t. Every manual adjustment made outside the system is a future argument.
The point
When the reports don’t match, the instinct is to blame the system, or to blame whoever built the report. Most of the time, neither one is the problem. The problem is that nobody decided what the number means.
Settle the definitions, and your system will give you the same answer every single time. That’s when people start trusting it again. And that’s when your leadership meeting stops being a debate about whose spreadsheet is right and goes back to being about the business.
If your meetings have turned into a battle of the spreadsheets, I’m happy to talk it through.