The gross-to-net model, and why payroll is three transactions
Payroll looks like one payment. In the books it is an expense, a set of liabilities you are holding for someone else, and later a remittance. Conflating them is why payroll accounts drift.
Payroll is the transaction most often recorded wrongly, and the reason is that it looks simpler than it is. Money leaves the bank once, so it feels like one event. In the books it is three.
The universal model#
Every payroll system in every country works the same way underneath, whatever the local names for the deductions.
Gross pay is what the employee earns. From it you withhold amounts that are still theirs but are on their way somewhere else — income tax, pension contributions, unemployment insurance, garnishments. What is left is net pay, the amount that actually reaches their bank account.
Separately, the employer owes its own contributions on top of gross — its share of pension and insurance, and in some jurisdictions a payroll levy. Those never touch the employee's pay. They are pure additional cost.
So three numbers matter, and only one of them is the one people quote:
- Net pay — what the employee receives.
- Gross pay — what the employee earns, and what shows on their annual slip.
- Total employer cost — gross plus the employer's own contributions.
In the books#
The pay run itself is one entry:
| Account | Debit | Credit |
|---|---|---|
| 6000 · Salaries and Wages | 5,000.00 | |
| 6010 · Employer Contributions | 420.00 | |
| 2210 · Income Tax Payable | 1,100.00 | |
| 2220 · CPP Payable | 560.00 | |
| 2230 · EI Payable | 160.00 | |
| 2200 · Net Pay Payable | 3,600.00 | |
| Total | 5,420.00 | 5,420.00 |
Two things fall out of this that are worth stating plainly.
The expense is gross plus employer contributions, not net. Booking the bank payment straight to wage expense understates payroll cost by every dollar of withholding — often 30% or more — and leaves the liabilities that were created sitting nowhere.
The withholdings are liabilities, not expense. Income tax withheld is the employee's money. It sits on your balance sheet only because you are the one sending it on. The same is true of their share of pension and insurance contributions. Only the employer's share is your cost.
Then the bank payment clears the net-pay liability:
| Account | Debit | Credit |
|---|---|---|
| 2200 · Net Pay Payable | 3,600.00 | |
| 1000 · Bank | 3,600.00 | |
| Total | 3,600.00 | 3,600.00 |
And later, the remittance clears the rest:
| Account | Debit | Credit |
|---|---|---|
| 2210 · Income Tax Payable | 1,100.00 | |
| 2220 · CPP Payable | 560.00 | |
| 2230 · EI Payable | 160.00 | |
| 1000 · Bank | 1,820.00 | |
| Total | 1,820.00 | 1,820.00 |
Why the three-entry shape matters#
Because the liability accounts are the control.
If the pay run and the remittance both post correctly, each payroll liability account should return to zero — or to exactly one unremitted period — every cycle. When one does not, something is wrong and you can see it on the trial balance rather than discovering it from a notice.
A CPP payable balance equal to two periods when you remit monthly means a remittance was missed. A balance that is not a whole number of periods means a pay run was posted at the wrong amount. A balance that grows steadily means the remittance is being booked to expense instead of to the liability — which double-counts the cost and leaves the liability forever outstanding.
The remittance due date tool works out which CRA remitter category you are in and what that means for your deadlines — including the fact that your category comes from what you withheld two calendar years ago, not what you withhold now.
What it costs, as opposed to what you pay#
The employer's own contributions are the part budgets miss, because they are invisible in the salary conversation. In Canada they include the employer share of CPP and CPP2, EI at 1.4× the employee premium — not matched, higher — and in five provinces a health tax on total payroll.
The employee cost tool adds them up for a given salary and province. For most employers the answer lands somewhere around 8–12% on top of salary, before workers' compensation.
Comma does not run payroll. What it does is take the journal your payroll provider produces and keep those liability accounts where you can see them, so what you owe each authority is a balance rather than something reconstructed from bank statements at year-end.
Keep reading
Payroll
Your payroll liability accounts should have a shape
Each payroll liability has a predictable rhythm. A balance that does not fit the rhythm is the cheapest error you will ever find — and the one most often found by the CRA instead.
1 Sep 2026 · 3 min read
Month-end close
A period you can still edit is not closed
Locking a period is what makes a reported number mean something. Everything found afterwards is a correction posted forward — visible, dated, and leaving the original in place.
8 Sep 2026 · 3 min read
Month-end close
Accruals and prepayments, and the reversal that stops the double count
Adjusting entries are where a cash-shaped ledger becomes an accrual one. They are also where the same cost gets counted twice, because the adjustment was never reversed.
3 Sep 2026 · 2 min read