Rounding is a necessary evil in payroll for a number of reasons. These include:
- The IRD doesn't accept "cents" in any reporting to them
- You can only actually "pay" an employee 2 decimal points (you won't see any more than 2 decimal places on the list of transactions in your bank account)
- An employee's hourly rate might be calculated from an annual salary figure
- A pay category can be set to have a rate precision of up to 5 decimal places
So, how/when is rounding done in KeyPay?
In the Pay Run
The rounding in the pay run happens when the gross earnings total is calculated. Meaning, all of the employee's earnings lines are totalled and then that figure is rounded to two decimal points:
Note in this example, the sum of the earnings lines is $819.31968, so this is rounded to $819.32. The rounding method we use is called "bankers rounding" - which rounds 5 to the nearest even number rather than always rounding up - this is a standard approach that gives a more accurate total when rounding is done across multiple values. Here are a couple of examples to illustrate bankers rounding:
- if a calculated gross earnings total is $558.12500 the bankers rounding method will round it to $558.12 if a calculated gross earnings total is $558.13500 the bankers rounding method will round it to $558.14
This rounding is necessary because we give users the option to set a pay category to use up to 6 decimal places when calculating employee earnings in the pay run (the rate precision field is in the pay category settings, click here for more information on pay category settings)...
...if you're calculating earnings to 6 decimal places in the pay run then at some point you need to round the earnings down to 2 decimal points (so you can pay your employee net earnings with 2 decimal places).
In the Pay Run Journal
The rounding for pay run journals happens on each line...
... but as you can see in this example, the total earnings figure in the journal will vary (by 1c) from the gross earnings figure in the pay run so when that happens, the system will add a 1c balancing entry (because the journal has to balance).
By default, the earnings line that we choose to put the 1c balancing entry on in the journal is an earnings line using the employee's Primary Pay Category (as set on the Pay Run Defaults page). If there are no earnings lines using the Primary Pay Category we'll put the 1c against the pay category/earnings line with the highest earnings total (as long as it isn't ETP earnings). If there are multiple earnings lines using different pay categories with the equal highest total, one is chosen at random.
Year to date (YTD) figures
On the pay slip YTD figures displayed on the pay slip are rounded once only, at the end of the most recent pay period. Meaning, the YTD figure you see on the pay slip is calculated by totalling up all unrounded earnings lines from all pay runs for the financial year to date for that employee, and then rounding that total to 2 decimal points. So, the rounding on the last pay slip (at the end of the financial year) is the total of all earnings lines for the whole financial year. This is why you'll occasionally see a small variation between the total earnings figure for the financial year in the reports when compared to the YTD figure on the pay slip.
End of year summaries
The YTD figure from the pay slip is used on the end of year summaries less the cents, because whole dollars only are accepted by the IRD. This is why you'll almost always see a small variation, less than $1, when you reconcile the total of end of year summaries lodged against the Detailed Activity Report for the financial year.
Not all reports round the same way:
The Detailed Activity Report (DAR), Pay Categories Report round each earnings line individually - as per the pay run journal method, using bankers rounding. So these reports will show the total of all of the (already rounded) earnings figures from each pay run.
The Gross to Net report (G2N) report totals up all unrounded earnings for the filtered period, and then rounds the total, using bankers rounding. It does this to try to match the Pay Slip (which sums the unrounded earnings lines for the financial year to date and displays it as a 2 decimal points total).
If you have any feedback or questions please contact us via firstname.lastname@example.org