Daily Overtime Rule

Note: With the 5.0.5.0 release, an enhanced version of this rule, the Daily Overtime Plus Rule, was introduced. We recommend that you review the enhanced rule before configuring the Daily Overtime Rule. See Daily Overtime Plus Rule.

Class Name

com.workbrain.app.ta.quickrules.DailyOvertime

Overview

When employees work extra time outside their normal shift and beyond the effects of any graces they are bound by, they are usually paid what is commonly known as daily overtime. The term "daily" comes from the fact that overtime is earned on a daily basis. A Weekly Overtime Rule also exists. See Weekly Overtime Rule.

Depending on the nature of the day (scheduled, unscheduled, holiday, Saturday, Sunday, first day off, second day off), an employee may be paid one of several different types of compensation.

If the condition being tested is true, the application applies the overtime based on the specified parameters and stops processing the other conditions. We recommend a catch-all condition using the Any Day parameter value as the highest priority number. This condition means that you are always assured of an overtime being applied in case all other conditions fail. But if this condition does not comply with your company rules, then do not create this catch-all condition.

Parameters

Parameter Description
Hour Set Description The hour set that determines how overtime is determined.

There are two ways to enter the Hour Set description parameter: through the Payrule Hourset lookup (Workbrain 4.1 and later versions) or manually. If the Hour Set Description parameter contains a lookup button, click the button and then select the appropriate Payrule Hourset from the pop-up window.

If the Hour Set Description parameter does not contain a lookup button, you must manually specify the Hour Set parameter string. Alternatively, you can add the Hour Set Description lookup option. See Creating Hour Set Description lookups.

The parameter string is a comma-delimited list of tokens, with each token consisting of an hour type and duration in minutes:

Hourtype=Minutes, Hourtype1=Minutes1 … 
HourtypeN=MinutesN

For example, if the parameter string is REG=480,OT2=240,OT3=9999, then the first 480 minutes will be REG, the next 240 minutes will be OT2, and anything after that will be OT3.

If the parameter string is REG=0,OT2=800*,OT3=9999, then scheduled minutes will be REG and the minutes after scheduled minutes, up to 800 minutes, will be OT2. A duration of 0 is reserved to represent the scheduled duration (net schedule without the unpaid breaks). An asterisk (*) at the end of a duration means "up to duration minutes". An asterisk (*) is used in conjunction with a duration of 0.

You can configure how hour types are changed based on hour type multiples with the Assign Better Rate parameter.

Add Premium For First Hourtype Determines whether the premium is added to the first hour type in the hour set description. For example, premiums are not allocated on the first hour type when the hour set is REG=480,OT1=9999. Premiums are allocated when the hour set is OT1=480,OT2=9999.

This parameter is only effective if the Premium Time Code Inserted parameter is selected.

Work Detail Time Codes A work detail's time code will only change if the related time code is displayed in this list.
Eligible Hour Types Defines the hour types of records to be included in the summing of hours. This parameter allows for the case when the overtime should not include hours that have already been paid at overtime. Defaults to REG.
Premium Time Codes Counted Defines which premium record time codes are counted toward overtime. Defaults to blank. This parameter is rarely used.
Discount Time Codes Defines codes that count toward daily overtime, but are not paid at weekly overtime.
Apply OT to unscheduled hours Instructs the rule to apply overtime based on the shift boundaries. Defaults to False. When this parameter is set to True (check box is selected), overtime is applied in these three steps:
  1. Overtime is applied to the schedule duration.
  2. Overtime is applied to the time before the shift, taking into account the time that is worked during the shift.
  3. Overtime is applied to the time after the shift, taking into account the time that is worked both during and before the shift.

For example, if an employee who earns overtime after eight hours is scheduled to work 11:00 to 19:00, but works 10:00 to 20:00 instead, one hour of overtime is applied from 10:00 to 11:00 and another hour of overtime is applied from 19:00 to 20:00.

Premium Time Code Inserted When set, the application will insert a premium record for the overtime instead of updating the WORK_DETAIL.

When using a premium, the application does not apply hour type betterment.

Hour type For Overtime Work Details This parameter is used only when the Premium Time Code Inserted parameter is used (overtime is given as premium). This parameter is used to mark the details that produce overtime premiums with this hour type so that they can be:
  • Excluded/included in other overtime rules
  • Distinguished as details that produced the types of compensation (when looking at the work detail popup)

For example:

  • Hour Set = REG=480, OT1=99999
  • Premium Time Code Inserted = PRE
  • Apply OT to unscheduled hours = FALSE
  • Hour type For Overtime Work Details = OTPRE

Then the work details for an employee working 10:00 to 20:00 are:

  • 10:00 to 18:00, with a time code of WRK and an hour type REG
  • 18:00 to 20:00, with a time code of WRK and an hour type of OTPRE
  • 00:00 to 00:00, with a time code of PRE and an hour type of OT1
24 Hour Start Time Some clients pay overtime on a 24-hour basis, meaning that overtime begins accumulating at a certain time and continues up until the end of the 24 hours. When set, the application will apply overtime to the segments of time that occur before and after this time independently of each other.

The format is mm/dd/yyyy HH:mi, where the date part is ignored and the time part is added to current calculation date when the cutoff point is determined.

For example:

  • Hour Set Description = REG=480, OT2=9999
  • Work Detail Time Codes = WRK
  • Eligible Hour Types = REG
  • 24 Hour Start Time = 01/01/1900 12:00

Then the work details on Day 2 for an employee working 12:00 to 20:00 on Day 1 and 10:00 to 20:00 on Day 2 are:

  • 10:00 to 12:00, with a time code of WRK and an hour type of OT2
  • 18:00 to 20:00, with a time code of WRK and an hour type of REG
  • 20:00 to 21:00, with a time code of WRK and an hour type of OT2

Since the cutoff time is 12:00, the rule looks at the work details between Day 1 12:00 to Day 2 12:00.

Assign Better Rate Setting this parameter to True (select the check box) will prevent situations that can arise whereby switching an employee to an overtime hour type actually results in them being paid a lower rate. For example, if an employer decides to create a rate override for a specific time period and this time period is then overwritten due to overtime kicking in.