Working with Piece Rate Pay

Overview

Piecework is any work where an employee is paid at a fixed rate for each unit produced, mile driven, or times an action is performed, rather than the hours spent completing the work. Industries where piecework is expected are agricultural work, installation work, call centers, truck or cab driving, manufacturing, etc.

Piecework employees are considered non-exempt employees by both the Federal and State Department of Labor. Paying employees using the piecework method does not exempt employers from minimum wage mandates or overtime pay. Piece rate per unit does not have to be paid at minimum wage. However, the result of the total calculation must meet minimum wage requirements on a federal, state, city, local, or union collective bargaining agreement level, whichever results in the highest pay rate for the employees.

Piecework employees are often required to to be paid for breaks or when there is no work. These two types of period are called rest and recovery time, and non-productive time respectively in Check.

Rest and recovery time is an uninterrupted break in which the employee cannot be required to work. Examples of rest and recovery time are breaks, lunch, or sleep time. Rest and recovery time must be paid hourly and at a rate of pay that meets state requirements. Rest and recovery hours are also not considered time worked by the employee from a tax reporting standpoint.

Non-productive time is defined as time under the employer's control, exclusive of rest and recovery periods; however, there is no work. Or work that cannot be completed due to factors beyond the employees' control. Some non-productive time examples are mandatory safety meetings, travel time, standby or waiting time, company meetings, and job training. Non-productive time must be paid out at minimum wage standards set by federal, state, local, city or union.

Paying employees via piecework using the Check API

Piece Earning Rates

Unlike other hourly earnings, piece earnings require the Earning Rates API. This will ensure that the pay rates will be consistent across pay stubs given the volatility of units produced each pay period. These earning rates must have the period set to piece. An earning rate for an employee who has a piece rate of $0.50/unit would look as follows:

{
  "id": "rte_aOSqW0QTKcE1iVU1C5",
  "amount": "0.500",
  "period": "piece",
  "employee": "emp_FMssH75VFfjomWcNCEvL",
  "active": true,
  "metadata": {}
}

We will use this earning rate in all subsequent scenarios.

Scenario Background

Below are a few scenarios outlining how to use Check’s API for piecework. For all the examples, we will assume that the minimum wage is $7.25

Scenario 1: General piecework scenario

An employee earns $0.50/unit, completes 580 units, and works 33 hours. The employee also had 2 hours of training (non-productive time) and took a total of 5 hours of breaks, both paid at $7.25/hr

Gross piece wages: $0.50 * 580 = $290
Hourly piece rate: $290 / 33 = $8.79

Here this employee produced enough units of work during this pay cycle to not need any piece adjustment. This scenario can be represented in the API representation as:

📘

The hours the employee spent on non-productive time and rest and recovery time should not be included the piece earning

{
 "id": "itm_6bPCIDaiSrHj0h50J1ta",
 "payroll": "pay_pmT5GAxJG232NgWfyppY",
 "employee": "emp_FMssH75VFfjomWcNCEvL",
 "earnings": [
   {
     "type": "piece",
     "piece_units": 580,
     "earning_rate": "rte_aOSqW0QTKcE1iVU1C5",
     "hours": 33,
     "workplace": "wrk_PMB5H75VFfjiuWcNCE55"
   },
   {
     "type": "rest_and_recovery",
     "amount": "36.25",
     "hours": 5,
     "workplace": "wrk_PMB5H75VFfjiuWcNCE55"
   },
   {
     "type": "non_productive",
     "amount": "14.50",
     "hours": 2,
     "workplace": "wrk_PMB5H75VFfjiuWcNCE55"
   }
 ]
}

Scenario 2: Piece earnings fail to meet minimum wage

An employee earns $0.50/unit, completes 330 units, and works 33 hours.

Gross piece wages: $0.50 * 330 = $165
Hourly piece rate: $165 / 33 = $5.00

Here, this employee has an hourly rate under the minimum wage, so the employee will need a piece adjustment to ensure that the employee will make the minimum wage.

📘

In order to make sure that piece adjustments are being entered correctly into the Check API, it is critical to know the minimum wage requirements set by federal, state, local, city or union.

Hourly rate differential: $7.25 - $5 = $2.25
Piece Adjustment Gross: $2.25 * 33 = $74.25

Here is how this should be represented in the API:

📘

The piece_adjustment_to_minimum_wage earning type is a memo hour type, meaning the associated hours are accounted for in other earnings and these hours will not count towards the employee’s total hours worked for tax reporting purposes. Piece adjustment hours should equal all of the hours of all piecework done this pay cycle

{
 "id": "itm_6bPCIDaiSrHj0h50J1ta",
 "payroll": "pay_pmT5GAxJG232NgWfyppY",
 "employee": "emp_FMssH75VFfjomWcNCEvL",
 "earnings": [
   {
     "type": "piece",
     "piece_units": 330,
     "earning_rate": "rte_aOSqW0QTKcE1iVU1C5",
     "hours": 33,
     "workplace": "wrk_PMB5H75VFfjiuWcNCE55"
   },
   {
     "type": "piece_adjustment_to_minimum_wage",
     "amount": "74.25",
     "hours": 33,
     "workplace": "wrk_PMB5H75VFfjiuWcNCE55"
   }
 ]
}

Scenario 3: Piece earnings with overtime

Pieceworkers must be paid using weighted overtime. The weighted overtime calculation method is used in situations in which an employee is paid on a piecework basis or has multiple different jobs at multiple different rates of pay.

Currently, Check does not support weighted overtime calculations and you will need to determine the gross overtime amount. Before calculating weighted overtime, you must first find the employee’s average rate of pay by dividing their total compensation (piecework, production bonuses, and other regular hourly earnings) by the total by the number of hours worked in the week, including productive and nonproductive time and overtime hours. Important note: each state may have different qualifications for the amount of hours used to calculate average regular rate of pay. Please review your state.

📘

Rest and recovery periods should not be included into the average rate of pay

The employee should be paid the average rate of pay for the work week expected by the applicable state, and is entitled to additional one-half of the average rate of pay for each overtime hour or one-times for double overtime hour.

Let’s consider the following scenario: An employee earns $0.50/unit, completes 2500 units, and works 41 hours. The employee is also a foreman for the crew and is paid $7.25 for each foreman hour worked. The employee has 10 foreman hours:

  • $0.50/unit x 2500 units = $1250 regular piecework pay
  • $7.25 x 10 = $72.50 foreman pay
  • $1250 piece + $72.50 foreman = $1322.50
  • $1322.50 / 51 hours = avg hourly rate of $25.93/hr
  • $25.93 x 0.5 (overtime premium multiplier) =$12.97
  • $12.97 x 11 overtime hours = $142.62 overtime pay
  • $1322.50 + 142.62 = $1465.12 total pay

Here is how this should be represented in the API:

📘

The weighted_overtime and weighted_double_overtime earning types are considered memo hour types. Any hours considered overtime should be included in either a weighted_overtime or weighted_double_overtime earning. All worked hours must also be housed in the regular earnings or piece earnings to ensure proper tax calculation.

{
 "id": "itm_6bPCIDaiSrHj0h50J1ta",
 "payroll": "pay_pmT5GAxJG232NgWfyppY",
 "employee": "emp_FMssH75VFfjomWcNCEvL",
 "earnings": [
   {
     "type": "piece",
     "piece_units": 2500,
     "earning_rate": "rte_aOSqW0QTKcE1iVU1C5",
     "hours": 41,
     "workplace": "wrk_PMB5H75VFfjiuWcNCE55"
   },
   {
     "type": "hourly",
     "amount": "72.50",
     "hours": 10,
     "workplace": "wrk_PMB5H75VFfjiuWcNCE55"
   },
   {
     "type": "weighted_overtime",
     "amount": "142.62",
     "hours": 11,
     "workplace": "wrk_PMB5H75VFfjiuWcNCE55"
   }
 ]
}

Scenario 4: Piece earnings with multiple rate

If an employee is paid at multiple rates for piecework, the work associated with each of these rates should be a separate earning to ensure that all rates are displayed on the pay stub.

In this scenario, an employee earns $0.50/unit producing shirts, and makes 330 units in 17 hours. They then start producing pants at $0.60/unit, and complete 270 units in 16 hours.

Assuming that we also have the following earning rate also associated with this employee

{
  "id": "rte_u28YgJu3XPj2OrA6778C",
  "amount": "0.600",
  "period": "piece",
  "employee": "emp_FMssH75VFfjomWcNCEvL",
  "active": true,
  "metadata": {}
}

This scenario can be represented as:

{
 "id": "itm_6bPCIDaiSrHj0h50J1ta",
 "payroll": "pay_pmT5GAxJG232NgWfyppY",
 "employee": "emp_FMssH75VFfjomWcNCEvL",
 "earnings": [
   {
     "type": "piece",
     "piece_units": 320,
     "earning_rate": "rte_aOSqW0QTKcE1iVU1C5",
     "hours": 17,
     "workplace": "wrk_PMB5H75VFfjiuWcNCE55"
   },
   {
     "type": "piece",
     "piece_units": 270,
     "earning_rate": "rte_u28YgJu3XPj2OrA6778C",
     "hours": 16,
     "workplace": "wrk_PMB5H75VFfjiuWcNCE55"
   }
 ]
}

Piece Rate Pay on Check Pay Stubs

If an employee has received piece earnings year to date, the “Gross earnings” sections of pay stubs generated by Check will have two additional columns to support piece earnings: “Units” and “Units YTD”.

Piecework with Earning Codes

You can also use the Earning Code API to customize and group how piece earnings are displayed on paystubs. Assume the company has an earning code to modify the piece earning type to display “Shirts”.

{
   "id": "erc_Vxp2sKhb4eEHIZ8TG5aV",
   "company": "com_S3CQHRfSpRl2IAtq7wz7",
   "type": "piece",
   "name": "Shirts",
   "metadata": {},
   "active": true
}

Let’s take the example from Scenario 1 again, but apply the above earning code:

{
 "id": "itm_6bPCIDaiSrHj0h50J1ta",
 "payroll": "pay_pmT5GAxJG232NgWfyppY",
 "employee": "emp_FMssH75VFfjomWcNCEvL",
 "earnings": [
   {
     "earning_code": "erc_Vxp2sKhb4eEHIZ8TG5aV",
     "piece_units": 580,
     "earning_rate": "rte_aOSqW0QTKcE1iVU1C5",
     "hours": 33,
     "workplace": "wrk_PMB5H75VFfjiuWcNCE55"
   },
   {
     "type": "rest_and_recovery",
     "amount": "36.25",
     "hours": 5,
     "workplace": "wrk_PMB5H75VFfjiuWcNCE55"
   },
   {
     "type": "non_productive",
     "amount": "14.50",
     "hours": 2,
     "workplace": "wrk_PMB5H75VFfjiuWcNCE55"
   }
 ]
}