I set up a system previously using Labor Rates on resource groups and and ProdStandards on operations. It worked like this:
Employees were paid their hourly rate for hours clocked in ADP at minimum.
Employees would use Report Quantity on Job Operations (Quantity Only).
If an employee’s earned hours in Epicor exceeded their hourly wage, they would be paid that amount.
Example 1: An employee clocks exactly 40 hours at $15 per hour in ADP in a week. In that week, they completed 90 job operations with ProdStandard 30 minutes / piece (Resource Group Labor Rate $15), for a total of 45 earned hours. The employee would be paid $675 (45 hrs * $15 Labor Rate) for that week.
Example 2: A different employee clocks the same 40 hours, but at $17 per hour in ADP. The employee completes the same 90 job operations w/ ProdStandard 30 minutes / piece, Resource Group Rate $15 / hour. Employee is paid $680 (40 hrs * $17 per hour) as that exceeds the “Piece Rate” in earned hours.
This worked well, as some employees were able to absolutely kill it at the piece rate. There were a couple of difficulties.
First, Overtime made the calculations difficult. If the employee works 45 hours (5 hours at time-and-a-half), we had to find the percentage of hours overtime and multiply their piece rate by the same amount to be compliant with Overtime laws.
Second, since the Resource Group labor rates were constant, giving a raise to someone who consistently earned Piece Rate became difficult, as that didn’t really increase their income. Management found a few ways around that, via bonuses, increased PTO. I think there was another way but I need to ask someone bc I don’t remember.
EDIT: Forgot to add - We had spreadsheet from ADP upload to an Epicor Function that would compare the clocked hours, make the overtime calculations, then push all the data to grid. HR could review in the grid, export, and upload to ADP for final payroll.