Running payroll without dreading the 15th
Payroll is arithmetic with deadlines attached. The arithmetic is the easy half; the part that catches businesses out is that source deductions are not your money, they are the CRA's money passing through your bank account, and the remittance date does not move.
Gross to net, in order
Start with gross pay for the period. Deduct CPP (or QPP in Quebec) up to the annual ceiling, EI (or EI plus QPIP in Quebec), then income tax using the federal and provincial tables. What is left is net pay. Separately, the employer owes its own CPP match and 1.4x the employee's EI — a real cost that is not deducted from anybody and is easy to forget when quoting a salary.
The ceilings matter more than people expect
CPP stops once the year's maximum is reached, so a higher earner's net pay rises partway through the year and their December cheque is not the same as their January one. If your payroll does not track year-to-date per employee, it cannot get this right, and the error compounds quietly until the T4 does not balance.
Remittance is a separate deadline
Deductions withheld are held in trust and remitted on a schedule set by your remitter type — for most small employers, the 15th of the following month. Late remittance attracts a penalty on the full amount, not the late portion, which makes it one of the more expensive administrative mistakes available.
What has to be true before T4 season
Every pay run posted, every adjustment made in the right year, and year-to-date figures that agree with what actually left the bank. A T4 is not a document you prepare in February; it is a summary of twelve months that were either right or were not.
Where the ledger comes in
A pay run is at least three postings: wages to expense, source deductions to a liability that clears when you remit, and the employer's own cost to its own account. Payroll run outside the books means somebody re-keys those every period, and re-keying is where the year stops reconciling. SeroBooks posts the run once, and refuses to post it twice.