Analytics Catalog/Workday/Compensation/Salary vs payroll
Explore the catalogModulesCompensationGross to netLabor cost reportRetro restatement
Workday · Compensation · Editorial

Salary times twelve is not payroll

Compensation says the base bill is 46,535,000.00, one twelfth of which is 3,877,916.67. Payroll posted 3,997,550.00 of May wages. Both are right: the 119,633.33 between them is overtime, one-times, and a retro, each named below.

RuleReconcile the salary basis to posted wages every month: the base bill over twelve, plus named one-times, equals the wage account to the cent.
Nevercompare annual salary to the ledger and call the difference an error. The gap is real pay the salary number never promised.
Salary basis 3,877,916.67 one twelfth of the promise One-times +119,633.33 overtime, bonus, retro Wages posted 3,997,550.00 account 6000, May
The promise, plus the month’s named one-times, equals the posting. When the middle box is unnamed, the two ends argue.
The reconciliation, workedMay 2026, promise to posting.
May 2026Amount
Salary basis, one twelfth of 46,535,000.003,877,916.67
Overtime89,410.00
Spot bonuses18,970.00
Retro pay, earned April, paid May3,200.00
Other one-times8,053.33
Wages posted, ledger account 60003,997,550.00

The top line is compensation’s number: the annual base bill from the compa report, divided by twelve. The bottom line is payroll’s: the same wage account the gross-to-net page carries. The four rows between them are the month’s real story. Sample values are illustrative, never client data.

Why each side is righttwo systems, two questions, one bridge.

Salary answers what we promised; wages answer what the month actually cost. Overtime was never in the promise. The 3,200.00 retro is April’s cost arriving late, the same row the restatement page versions. The payroll bridge names only overtime’s movement, 14,760.22 above April; this page names the whole 89,410.00.

When this reconciliation runs monthly, the recurring meeting where finance asks why payroll is over the comp plan simply stops happening. The answer is already a table.

The owned answerboth sides from tables you already have.

The salary basis comes from the pay snapshot; the posting comes from the payroll fact. The reconciliation is a two-row union with the one-times classified between them.

-- promise to posting, one month
SELECT 'salary basis' AS line,
       ROUND(SUM(base_annual) / 12.0, 2) AS amount
FROM fct_comp_snapshot WHERE snapshot_date = '2026-05-31'
UNION ALL
SELECT 'wages posted',
       SUM(amount) FROM fct_payroll_line
WHERE period = '2026-05' AND account = '6000' 
Use case
Problem
Finance compares the comp plan to the payroll ledger, the two never match, and the gap gets a different folklore explanation every month.
What we build
A monthly reconciliation from the salary basis to the posted wage account, with overtime, bonuses, and retro classified as named lines between them.
What you get
Two numbers that agree on purpose: the promise, the posting, and a named bridge, so the monthly why-is-payroll-over meeting becomes a table nobody needs to attend.
Does payroll never match the comp plan?
We build the monthly promise-to-posting reconciliation with every gap named.
Talk to us
Terms on this page
salary basis
The annual base bill divided by twelve; the promise stated monthly.
one-times
Pay the salary never promised: overtime, bonuses, corrections.
wage account
The ledger account base pay posts to, here 6000.
retro
Cost from a prior month arriving in this month’s run.
overtime
Hours-driven pay, priced through payroll, absent from salary.
reconciliation
The named bridge from one right number to the other.