HB106 (Pay Stub Protection Act)

HB106 (Pay Stub Protection Act)

Beginning April 9, 2025, employers will be required to print certain information on hourly employees pay slips. Please reach out to your legal advisor for direction and to determine what is needed for full compliance based on how your employees' Compensations are structured. For more details regarding House Bill 106, click here.

To comply with these requirements, the software was updated with the USPS.5.0 and USPS.5.1 releases.

Selection of Day of Week for counting of HOURS>40/Week calculation for employees pay stub.

For the Payment Printing Configuration setup>Hours>40/Week calculation, please click here.

image-20260130-155957.png

Form Changes

For sample XML and forms for printing, click here.

Direct Deposit Form Updates

For further instructions on updating an existing form or creating a new a form, click here.

Default Direct Deposit Form

The following information can now be included on Direct deposit notices:

  • Pay Period Start: Payroll>Payroll Processing>Start Date entered based on the Position>Pay Group.

    • ${pp.payGroupStartDate?datetime?string("MM/dd/yyyy")}

  • Rate: Applies to all Pay Amounts. Compensation>Unit Amount.

    • ${(pa.rate?string(“#0.000”))!}

  • Total Hours Worked: Only applies to Compensations>Pay Unit =Hourly.

    • [#if o.totalHourlyUnits gt 0]

    • ${o.totalHourlyUnites?string(“,##0.00”)!}

  • Hours > 40 / Week: Only applies to Compensations>Pay Unit =Hourly.

    • ${o.totalHourlyUnitsOverFortyPerWeek?string(“,##0.00”)!}

    • [/#if]

Sample Direct Deposit

image-20250410-201351.png

Check Form Updates

Default Check Form

The following information can now be included on checks:

  • Pay Period Start: Payroll>Payroll Processing>Start Date entered based on the Position>Pay Group

    • ${pp.payGroupStartDate?datetime?string("MM/dd/yyyy")}

  • Rate: Applies to all Pay Amounts. Compensation>Unit Amount.

    • ${(pa.rate?string(“#0.000”))!}

  • Total Gross - Total of all pay amounts.

    • ${o.gross?string(“,##0.00”)!}

  • School District Name - Core>Organization>Name.

    • ${(o.organizationName)!}

  • Total Hours Worked: Only applies to Compensations>Pay Unit =Hourly.

    • [#if o.totalHourlyUnits gt 0]

    • ${o.totalHourlyUnites?string(“,##0.00”)!}

  • Hours > 40 / Week: Only applies to Compensations>Pay Unit =Hourly.

    • ${o.totalHourlyUnitsOverFortyPerWeek?string(“,##0.00”)!}

    • [/#if]

Sample Check

image-20250410-201748.png

New Field Explanations

Total Hours Worked

This will print as the TOTAL HOURS WORKED value on the pay slip. For an example of how the TOTAL HOURS WORKED value is being calculated, see .

How the System is Calculating the Total Hours Worked:

  1. Locate the employee’s payment (based on the history and located on the HistoricalPositionPay object).

  2. On the employee payment, locate all pay amount(s) with the Pay Type equaling Regular, Miscellaneous, or Overtime and has a Compensation>Pay Unit set to Hourly.

  3. Total the Units amount(s).

Hours > 40/Week

This will print as the HOURS > 40/WEEK value on the pay slip. For an example of how the HOURS > 40 / Week value is being calculated, click .

How the System is Calculating the Hours > 40/Week:

  1. Locate the employee’s payment (based on the history and located on the HistoricalPositionPay object).

  2. On the employee payment, locate all pay amount(s) with the Pay Type equaling Regular, Miscellaneous, or Overtime and has a Compensation>Pay Unit set to Hourly.

  3. Determine the weekly periods or date ranges that make up each week.  These are based on the Position>Pay Group date range.

  4. For each pay amount located in Steps 1 - 3 do the following:

    • Find the Compensation.

    • Determine each weekly period.

      • Determine the hours for a week from the Job Calendars.

        • Locate the Compensation>Job Calendar.

        • Locate the Compensation>Hours In Day.

        • Determine the number of days from the Job Calendar.

        • If the number of days>0, then multiply Compensation>Hours In Day X Number of days counted on the Job Calendar.

      • Count the hours from Attendance and subtract the hours from Absence records.

        • Locate Attendance and Absence records for the weekly period.

        • Locate Compensation>Hours In Day.

        • Arrive at an Attendance and Absence total. Only Attendance and Absence records within the Pay Group’s pay period will be included.

          • Attendance and Absence>Unit = Hourly then the value equals the Attendance and Absence>Length.

          • Attendance and Absence>Unit = Daily then the value equals Attendance and Absence>Length X Compensation>Hours In Day.

  5. Calculated hours from Job Calendar + Calculated hours from Attendance - Calculated hours from Absence records minus 40 = Hours greater than 40.

  6. Total each value in Step 5 for each Position paid.

Commonly Asked Questions

  1. If a value is entered in the Retire Hours field when the payment is created in Payroll Payments>Future or Payroll Payments>Current and an Attendance>Attendance record is also created, when running SERS Per Pay will the hours be doubled?

  • No, Attendance>Attendance records will count the days (if not already a work day on the Job Calendar) for retirement reporting purposes and also factored in the hours greater than 40 calculation.

  1. Are Dock Pay Types included in the Total Hours Worked and/or Hours > 40/Week calculations?

  • No, not at this time, Dock Pay Types are NOT factored into the hours calculations.

  1. What are common items to consider if the Hours > 40/Week are not correct?

  • Verify the Attendance records are assigned to the correct Position - not to a prior fiscal year in error.

  1. What is considered a week when determining weekly periods for calculating Hours > 40/ Week?

  • A new option in Configuration>Payment Printing Config has been added to determine your districts weekly periods

  • By default, it is set to Sunday - Saturday but can be changed.

  • Click here for more information on how to update your day of the week

  1. How does the system count weeks if three weeks in the pay period are involved to arrive at the hours greater than 40?

  • Each week is counted separately. If a pay period begins with a Saturday, that day becomes the first weekly period.

    • Example: The pay period Start Date is 03/15/2025 and the End Date is 03/28/25.

      • Weekly Period 1: 03/15/2025

      • Weekly Period 2: 03/16/2025 - 03/22/2025

      • Weekly Period 3: 03/25/2025 - 03/28/2025

  1. How does the system determine the Total Hours Worked?

  • The system will look at the payment for the Pay Types of Regular, Miscellaneous, and Overtime and total the Units.

  1. How does the system determine the Hours>40/Week?

    • We start by counting the workdays from the job calendars, attendances and absences (this includes ALL Absences categories). And then uses the Payment Printing Configuration> ‘First Day of Week For Hours Over 40 Per Week Count’ to determine the Hours over 40, by grouping the counts by week. For Example: Sunday as the start of the week and Saturday as the end of the week.