This is about something completely boring but perhaps useful to someone who is verifying Dynamics GP Canadian Payroll vs the Canada Revenue Agency's payroll deductions online calculator.
I've always said, I know how the Canadian Payroll module works, but I am not a Payroll expert. I'm an accountant, not a payroll or HR person; there is a wealth of knowledge someone certified in payroll matters knows that I'll never know! I was helping a client test something relating to adding some new employees and trying to compare a test pay run to the CRA payroll deductions online calculator. They weren't matching, and the client was saying they should match and they weren't matching on income tax. In our test, Dynamics GP was deducting about $8.00 more income tax than what the CRA calculator showed.
So, off we went troubleshooting, systematically.
Check the new paycodes
The first thing to look for is if new paycodes were added, no matter how similar they are to another existing paycode, check the calculations, check the settings, and see if that might cause the discrepancy.
In this case, they added a new type of benefit, which this test employee had a deduction of $1.43 for this pay. They also had a new type of union dues, for $21-something on the pay. The benefit is too small to be related to an $8 swing in income, so we ignored it. The union dues, we verified it was deducted before tax and even swapped out that code for an existing union due code we knew to be correct, and got the same results.
Compare to a different employee
This didn't happen to employees with the same pay rate so we arbitrarily chose one, and entered a pay for the same hours and rate as the test person. Here's where I figured I'd get the identical results on two people set up identically, with the same pay in a given pay period. The Income Tax calculation was off, it was slightly off for both of them vs. the online calculator but the existing employee's tax calculation was at least reasonably close, except for some minor rounding. We triple-checked that both employees were identical or close to it: similar age, same default TD1 tax credits, and we removed all benefits & extra deductions from the test pays to limit it to pure hourly pay. Still differences. The only thing that was obvious between the 2 employees is the new guy had $0 YTD values in anything and the existing guy had a partial year of YTD history. I didn't think that mattered… it's income tax, not CPP or EI where it could matter, right?
Look at how tax is calculated
At this point, I was curious and reached out to a contact at Microsoft and got the T4127 (Payroll Deduction Formulas for Computer Programs). This document is downloadable from canada.ca too for those who are interested in reviewing it.
Anyway to cut a long story a little shorter, little did I know one of the factors in the calculation of Annual Basic Federal Income Tax, is a tax credit based on YTD CPP and YTD EI. Who knew? I never thought the two were connected that directly.
Once we looked at that and worked through the rough math of the calculation in the T4127 guide, we worked out that for this guy, compared to the other existing employee, the difference in tax credit was a little over $7 per pay.
At that point, we were close enough to trust that the calculations were indeed correct, and all was good!
I hope this helps someone out there explain what seemed inexplicable for a little while…