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.
◆ The reconciliation, workedMay 2026, promise to posting.
| May 2026 | Amount |
|---|---|
| Salary basis, one twelfth of 46,535,000.00 | 3,877,916.67 |
| Overtime | 89,410.00 |
| Spot bonuses | 18,970.00 |
| Retro pay, earned April, paid May | 3,200.00 |
| Other one-times | 8,053.33 |
| Wages posted, ledger account 6000 | 3,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'
- 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.