SM Space · Canadian Payroll
Canadian Payroll Software with CRA Tax Calculations
SM Space Payroll is the Canadian payroll software inside the SM Space ERP system. It works out federal and provincial tax, CPP and EI for every pay period using the Canada Revenue Agency’s published T4127 payroll formulas, keeps each employee’s year-to-date totals, and posts the finished run into your general ledger as one balanced journal.
Payroll for Canada, worked out to the CRA’s own formulas — and kept so you can explain any single figure three years later.
“Why was my tax $412.60?” Asked two years later, after the rates have changed twice. SM Space still has the answer on the pay line — the annual gross, the pay periods, the province, the TD1 claims and the pre-tax deduction the CRA formula was handed.
Last updated: September 2026
A pay run, start to finish
26 Sep · Semi-monthly · 48 employees
- Roster populated 48 eligibility worked out by the system, not typed in
- Calculated 47 paid as normal, to the CRA’s own formulas
-
1 needs attention R. Okonjo
Paid at an hourly rate, with no timesheet line on this run and no regular hours on file — there is no number of hours to pay.
nothing was zeroedfix the setting and recalculate
- Approved by a person, on purpose — and reversible until it is posted
-
Posted to ledger
one balanced journal
debits $152,040 = credits $152,040
the failure is attached to a person, not swallowed by the run
Above: a semi-monthly pay run of 48 people, drawn as the sequence it is — the roster populated from the employees who are actually eligible; 47 calculated to the Canada Revenue Agency’s published formulas; one employee, R. Okonjo, flagged by name because he is paid hourly with no timesheet line on the run and no regular hours on file, with nobody’s pay quietly zeroed; the run approved by a person and reversible until it is posted; and then posted to the general ledger as one balanced journal, debits $152,040 equal to credits $152,040.
What you can do
- Run payroll for one employer or several, each with its own settings
- Add everyone eligible to a pay run in one click, and preview it before anything is written
- Work out federal and provincial income tax, CPP and EI using the CRA’s published T4127 formulas
- Stop CPP and EI at the annual maximum, measured against each employee’s running year-to-date total
- Zero CPP or EI for employees who are exempt from them
- Take pre-tax deductions before tax is worked out, and voluntary deductions after
- See exactly why a deduction is the figure it is, for any pay period, years later
- Move a year-to-date figure through one of two doors, each of which records what changed and why
- Approve a run, and unapprove it if you find something before it is posted
- Post the run to the general ledger as one balanced journal, and reverse it if you have to
01
Every Deduction, Explained
Somebody will ask why their tax was $412.60. Usually they ask two years later, after the rates have changed twice and whoever set up their TD1 has left.
SM Space keeps the answer with the line that produced it. When the tax is worked out, the exact figures the CRA formula was handed — the annual gross, the pay periods a year, the province, the TD1 claim amounts, the deductions taken before tax — and the exact figures it handed back are stored against that employee’s pay line. Not a note of which rates were current. The working itself.
So Marc’s $412.60 is a question with a complete answer: $78,000 a year over 24 pay periods, Ontario, his own federal and provincial TD1 claims, and $162.50 of RRSP taken before tax. Three years from now that is still sitting on the line, and nobody has to reconstruct what March looked like.
This is the thing worth having if you have ever had to explain a deduction to an employee, an accountant or an auditor and found that the only way to answer was to run the sum again and hope it came out the same.
Why is Marc’s federal tax $412.60 this period?
What the CRA formula was given
- Annual gross$78,000.00this period × 24
- Pay periods a year24semi-monthly
- Province of employmentONOntario
- Federal TD1 claim$16,129.00from his own TD1
- Provincial TD1 claim$12,747.00from his own TD1
- Pre-tax deductions$162.50RRSP, taken before tax
What it gave back
- Federal tax $412.60
- Provincial tax $165.30
- CPP $184.70
- EI $53.30
- Net pay$2,271.60
stored Both halves are kept against this pay line, not recalculated when somebody asks.
Three years from now the rates will have changed twice and Marc’s TD1 will have been updated. This line will still say what it was worked out from.
One tax figure, opened up illustration
Change any of the four and watch the answer move. This is an illustration, not a tax calculation. The person and the salary are invented and the sum below is a simplified stand-in for the real thing. SM Space itself uses the CRA’s published T4127 formulas and each employee’s own TD1 — this page does not run them, and nothing here is tax advice.
Federal tax this period · illustration
$412.60 the figure someone asks about, two years later
Provincial $165.30 · CPP $184.70 · EI $53.30 · net $2,271.60
($78,000 − $3,900 pre-tax − $16,129 TD1) × 17.08% ÷ 24 = $412.60 — an illustration, not the T4127 formula
See it on a real pay lineCPP here keeps going all year. In SM Space it stops: once the employee reaches the $4,034.10 annual maximum the last contribution is trimmed to whatever is left of it — $135.66 instead of $229.32 — and the periods after it take nothing. That is the year-to-date screen further up this page.
02
A Pay Run That Doesn’t Fail Silently
The worst pay run is the one that finishes looking fine. Forty-eight lines, every one of them ticked, and one quietly at zero because a setting was missing.
SM Space will not do that. When something is wrong for one employee, the failure is recorded against that person by name and the run carries on for everybody else. The words in the code are worth repeating as they are: it never silently zeros pay.
R. Okonjo is paid by the hour, has no timesheet line on this run and no regular hours on their payroll settings. There is no number of hours to pay. Rather than paying nothing, the run stops for that one person and says exactly that. Forty-seven are calculated, one is flagged, you fix the setting and recalculate.
Recalculating is safe, which is the other half of it. The figures are worked out again from the hours rather than added to what is already there, so the forty-seven land on the same numbers and the year-to-date totals do not count anybody twice.
- 48on the roster
- 47calculated
- 1needs attention
- 0paid zero
| Employee | Status | Net pay |
|---|---|---|
| D. Whitfield | calculated | $2,914.05 |
| Marc Boivin | calculated | $2,271.60 |
| A. Nasser | calculated | $1,988.42 |
| R. Okonjo | needs attention | — |
| L. Fontaine | calculated | $3,102.77 |
R. Okonjo is paid at an hourly rate, and has neither a timesheet line on this run nor regular hours on their payroll settings. There is no number of hours to pay, and it would have been paid as zero.
nothing was zeroed Fix the setting and recalculate. The other 47 land on the same figures — a recalculation re-prices from the hours rather than adding to what is already there.
The alternative is the run that finishes looking complete with one line quietly at zero, and nobody finds it until payday.
Everything the formula is handed, and everything it gives back
One pay line for Marc Boivin. Five things go in, five come back, and all ten are stored against the line — so the question “why that number?” has an answer that does not depend on anyone remembering.
What it was handed
- Gross this period$3,250.00
- Pay periods a year24
- ProvinceON
- Federal TD1 claim$16,129.00
- Pre-tax deductions$162.50
What came back
- Federal tax$412.60
- Provincial tax$165.30
- CPP$184.70
- EI$53.30
- Net pay$2,271.60
Nothing under what it was handed is an adjustment, an override or a rounding. That is the point of drawing it: the list is the whole list, so three years from now the figure can be rebuilt from the line itself rather than reconstructed from memory.
03
Year-to-Date Balances and T4 Figures
Year-to-date totals are not a report. They are what the annual CPP and EI maximums are measured against, and what a T4 is built from. So they are not a grid anybody can type over — the pay run owns them.
That is what makes the ceiling work properly. Priya Raman puts in $229.32 of CPP a period. By the second half of September she has $3,898.44 in and the maximum held in your statutory rates table for the year is $4,034.10, so that period takes $135.66 — what was left — and October, November and December take nothing at all. In January it starts again.
The cap is measured against her actual running total, not guessed from the month, which is why it still lands in the right place for somebody who joined in April or had a bonus in June.
When a figure genuinely has to move there are exactly two doors: an opening balance, for the year you switch systems part-way through, and an adjustment. Each one leaves a record of what moved, from what to what, and why. Fixing a number is itself a record.
$3,898.44 of the $4,034.10 maximum held in your statutory rates table for the year
maximum reached The second half of September took $135.66 instead of $229.32, because that was all that was left. October, November and December take nothing. In January it starts again.
The register these are measured against read-only
- CPP$4,034.10at the maximum
- EI$1,077.48still contributing
- Federal tax$14,206.80
recorded 14 Feb — opening balance on transfer from the previous system. CPP $0.00 → $612.90, set by A. Mercer, reason recorded.
Two doors move a figure here — an opening balance and an adjustment — and each one leaves a row saying what moved, from what to what, and why. There is no third door, and no grid to type over.
04
Building a Pay Run
Adding everyone to a pay run is one action, not a list you tick through. SM Space works out who is eligible — active employees of that employer whose current payroll group matches the run — and adds them.
Two things make that safe rather than merely quick. You can preview it: the same action with preview turned on names everyone who would be added, and writes nothing. And running it a second time does not add anybody twice — it skips whoever is already on, so a click you were not sure about is a click you can repeat.
The two people left out are named too, with the reason. T. Aturu left in August. H. Nakamura is on the weekly payroll group, not this one. A roster that quietly holds 46 when you expected 48 is a bad afternoon; a roster that tells you which two and why is a thirty-second check.
Once the run is approved or posted, that door closes. Populating the roster of an approved run is refused, rather than quietly changing what somebody signed off.
- Preview 46 would be added 2 excluded · nothing written
- Run it 46 added roster now 48 · 2 were already on
- Run it again 0 added everybody eligible is already on it
Who was left out, and why
- T. Aturuleft the company in August
- H. Nakamuraon the weekly payroll group, not this one
refused Once the run is approved or posted, populating its roster is refused — rather than quietly changing what somebody signed off.
Eligibility is worked out by the system, not typed in: active employees of this employer whose current payroll group matches the run.
Five pay frequencies, and the one that is refused
12, 24, 26, 27 or 52 pay periods a year. Anything else is refused when you save the payroll group — not approximated three weeks later, when the run is already calculating.
- 12 Monthly
- 24 Semi-monthly this page’s run
- 26 Bi-weekly
- 27 Bi-weekly, 53-week year the extra fortnight
- 52 Weekly
- 13 Four-weekly not supported
The 27th period is the one that catches people out. A bi-weekly year usually has 26 pay days; roughly every eleventh year it has 27, and a system that assumes 26 either pays a period short or spreads the year’s tax across the wrong number of pay days. You set 27 on the payroll group for that year and the CRA formulas are handed 27, not 26.
How SM Space Canadian payroll software compares
The one-line answers buyers usually ask for, and then the one that matters more — what it does not do.
- Federal and provincial tax Worked out every pay period from the CRA’s published T4127 formulas.
- CPP and EI, with the ceilings Stopped at the annual maximum, against each employee’s running total.
- Exemptions CPP or EI zeroed for employees who are exempt from them.
- Pre-tax and voluntary deductions Taken before tax and after it, in that order.
- Five pay frequencies 12, 24, 26, 27 or 52 pay periods a year. Anything else is refused.
- More than one employer Each with its own settings, in one system.
- Posts to the ledger One balanced journal, with a reversal if you need one.
- Cloud Runs in a web browser, nothing to install.
- Audit trail Every run keeps who approved it, and when.
What it does not do. SM Space calculates and records Canadian payroll and posts it to your accounts. It does not file T4s with the CRA or produce bank payment files. It does not remit source deductions, it does not issue Records of Employment, and it does not run payroll for any country other than Canada. Quebec’s own QPP and QPIP plans are not calculated either — a Quebec employee is refused rather than priced on the federal plan, because under-withholding a statutory contribution is a bill somebody gets later.
How it fits with the rest of SM Space
This is a payroll module inside the ERP, not a payroll tool beside it. Two things follow from that, and together they are the whole argument.
- Approved timesheets feeds
- Employee and payroll settings feeds
- TD1 claims feeds
- Pre-tax and voluntary deductions feeds
- reads General ledger — one balanced journal
- reads Reporting & dashboards — the same figures, grouped
- reads Audit & compliance — who approved the run, and when
First, the hours payroll prices are the hours HR management approved. An approved timesheet lands in the table the calculation reads, and an hourly line is paid as hours × rate — not an export, not a nightly sync. Nothing has to be reconciled between the two, and overtime somebody actually worked cannot be costed at nothing.
Second, a posted run becomes one balanced journal in accounting and finance by itself — wages, the employer’s CPP and EI, each withholding and the bank side, every amount mapped to the account you chose, and the posting refused outright if it does not balance. Nobody types the payroll journal into the accounts every fortnight, and that re-keying is the one thing a standalone payroll tool cannot remove. Reporting and dashboards reads the same figures; audit and compliance keeps who approved the run, and when.
Who this Canadian payroll software is for
You run payroll in Canada for 10 to 500 people, in one province or several. You are either paying a bureau to do it, or running it in something that knows nothing about your accounts — so every fortnight somebody types the payroll journal in by hand. SM Space is a cloud ERP system: it runs in a web browser, with no server to install. It is for Canada only, and Quebec is not supported.
The ceiling, across a year
Priya Raman’s CPP, every pay period of one year. The maximum is not a date in the calendar — it is a running total, and the period that reaches it takes what is left of it rather than its usual amount.
$4,034.10 annual maximum
running total
- Jan
- Feb
- Mar
- Apr
- May
- Jun
- Jul
- Aug
- Sep
- Oct
- Nov
- Dec
what each period took
September takes $135.66 not the usual $229.32 — $3,898.44 was already in, so only $135.66 of the maximum was left
October to December take nothing no flag was set and no date was reached — the running total simply has no room left in it
In January it starts again from zero. An employee who joins you mid-year brings their running total with them on the opening balance, which is why the year-to-date register can be adjusted at all — and why every adjustment to it records who made it and why.
Frequently asked questions
- What does SM Space Payroll do?
- It is the Canadian payroll module inside the SM Space ERP system. For each pay period it works out federal and provincial income tax, CPP and EI for every employee, using the Canada Revenue Agency’s published T4127 payroll deductions formulas. It keeps each employee’s year-to-date totals, and posts the approved run into your general ledger as one balanced journal.
- Does it calculate CPP, EI and income tax?
- Yes, for every pay period. CPP and EI stop at the annual maximum, measured against each employee’s running year-to-date total rather than assumed from the calendar, and both are zeroed for employees who are exempt from them. Quebec is the exception: its own QPP and QPIP plans are not calculated, so a Quebec employee is refused rather than priced on the federal plan.
- Does it file our T4s with the CRA?
- No. SM Space keeps the year-to-date register a T4 is built from, but it files nothing with the CRA — there is no submission, no XML and no transmitter number. Filing stays with you or your accountant. SM Space is also not CRA-certified or CRA-approved: what it implements is the CRA’s published T4127 payroll deductions formulas, which is a different claim.
- Does it produce a direct deposit file for our bank?
- No. SM Space works out what each person is owed, records it and posts the run to your accounts, but it does not generate a bank payment file — no CPA 005, no NACHA, no format of any kind. Paying people happens through your bank the way it does today. It does not remit source deductions to the CRA either.
- Which pay frequencies does it support?
- 12, 24, 26, 27 and 52 pay periods a year — monthly, semi-monthly, bi-weekly and weekly, plus 27 for the 53-week year that gives a bi-weekly payroll an extra fortnight. Anything else is refused when you save the payroll group, not approximated three weeks later at calculation. A four-weekly payroll of 13 periods is not supported.
- Does it post payroll to our accounts automatically?
- Yes. Posting an approved run builds one journal from it — gross wages, the employer’s CPP and EI, each withholding and the net pay — and maps every amount to the account you chose for it. If the journal does not balance, or an amount has no account mapped, the posting is refused rather than half-done. A posted run can be reversed.
Payroll that lands in your accounts by itself.
Book a 30-minute demo and we’ll run a pay period on your own numbers.
Book a 30-minute demo