WaspTime: Why do the Payroll Summary Report and Wage Report not show the correct total for the wages?
Because the pay rate for an employee can change any day during the pay period, the wages must be calculated separately for each day in the pay period. This means it takes the hours and minutes for each day, divides the minutes by 60 to arrive at decimal hours, and rounds that to two decimal places. Then it multiplies the result by the pay rate in effect for that day to get the daily dollar amount. All of the daily dollar amounts for the pay period are added together to get the total wage for the pay period.
Conversely, the total hours on the reports show the total hours from the timecard, which adds all of the daily times together, then divides the minutes by 60 and rounds to two digits. This difference in rounding the daily amounts and then adding, vs. adding first and then rounding, is where we see the small discrepencies, usually only one or two percent difference.
If the system were set up to only apply the wages to the rounded total for the pay period, it would mean any wage change would have to apply to the whole pay period. Most companies will apply raises on anniversary dates, or the first of the month, or some other arbitrary day not tied to the pay period, or in extreme cases the rate can vary daily based on what work is being done, so the system must allow for this.
For an example: Employee Rusty has daily times of 8:13, 8:13, 8:17, 8:25, and 8:12. Given the overtime being applied to anything over 40 hours per week, that means the time for Friday is split into 6:52 regular time, and 1:20 overtime. Converting these to decimal (given the above rules for rounding), this gives 8.22, 8.22, 8.28, 8.42, and 6.87 regular, 1.33 overtime. 8.22 + 8.22 + 8.28 + 8.42 + 6.87 = 40.01. With a regular wage of $11.00/hour, this gives 90.42 + 90.42 + 91.08 + 92.62 + 75.57 = 440.11 for regular time.
If the days are added together, and then converted to decimal, you get 41:20 total, 40:00 regular and 1:20 overtime, which converted would be 40.00 and 1.33. Applying the wage to this total would give 440.00, an 11 cent difference.
However, if he was given a raise to $12.00/hour regular rate on Thursday, you would get 90.42 + 90.42 + 91.08 + 101.04 + 82.44 = $455.40 when calculating the wage daily. If you were using the same pay rate for the whole pay period, you would have to either leave the whole pay period at the starting rate, giving him only the $440.00 from above, or the whole period at the ending rate, giving him $480.00.
A possible work around for this would be to apply Rounding in the group rules. You would need to set the In/Out Rules, Breaks, and Meals to all Round To 6 minutes. With everything rounding to 6 minutes, any division, either daily or weekly, will always come out to the nearest tenth of an hour.
Given the above example times, rounding them to the nearest 6 minutes would mean for the purposes of calculation we would get these times: 8:12, 8:12, 8:18, 8:24, and 8:12, for a total of 41:18. (Note that for this specific example, rounding will cause him to lose 2 minutes from his total. Other examples could lead to gaining or losing a few minutes from the total, but it will generally even out over time.) Applying the overtime over 40 hours rule again, that leaves 6:54 regular and 1:18 overtime on Friday. Converting to decimal: 8.20 + 8.20 + 8.30 + 8.40 + 6.90 = 40.00 regular, 1.30 overtime. We get the same from the total: 41:18 total gives 40:00 regular, 1:18 overtime, or 40.00 and 1.30.