Payroll

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.

The Comma team3 min read

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:

AccountDebitCredit
6000 · Salaries and Wages5,000.00
6010 · Employer Contributions420.00
2210 · Income Tax Payable1,100.00
2220 · CPP Payable560.00
2230 · EI Payable160.00
2200 · Net Pay Payable3,600.00
Total5,420.005,420.00
A single pay run. Note that no line here is the bank payment — that comes next.

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:

AccountDebitCredit
2200 · Net Pay Payable3,600.00
1000 · Bank3,600.00
Total3,600.003,600.00
Paying the employees. This settles a liability created above — it is not where the expense is recognised.

And later, the remittance clears the rest:

AccountDebitCredit
2210 · Income Tax Payable1,100.00
2220 · CPP Payable560.00
2230 · EI Payable160.00
1000 · Bank1,820.00
Total1,820.001,820.00
Remitting source deductions. The employee shares and the employer share go to the same authority in one payment, from three accounts.

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