Page tree
Skip to end of metadata
Go to start of metadata

Title: Best Practices for Handling Time and a Half Overtime and Double Time in Unanet

Brief description:

This entry covers the recommended capture of overtime and double time charges in Unanet.

What’s covered in this document:

Optional Standard Validation Stored Procedures (VSP) to apply Overtime/Double Time rules

Overview and sample validations

Many companies elect to apply custom validations associated with company rules about overtime to their timesheets. They do this in Unanet via what is called a Validation Stored Procedure (VSP). A VSP applies certain rules to the timesheet. Depending on how the timesheet user has filled out the timesheet, the VSP will display custom messages stating whether the overtime charges are valid or invalid.  

While VSP's are not required for use of overtime and double time, they can greatly streamline processing of timesheets and enforcement of overtime/double time rules. Without a VSP, all of your timesheet approvals will require that the approver do a manual review of the timesheet, applying their understanding of overtime/double time rules as they review. The VSP, on the other hand, applies the rules automatically.

Unanet offers a Standard VSP for Overtime and Double Time charges, which cover the federal rules as well as rules for the five states that have overtime rules different from the federal rules: California, Nevada, Colorado, Alaska, and Kentucky. It is important to note the Disclaimer section below.

If you elect to use the Standard VSP, you will provide us with your Unanet system Pay Codes, Employee Types, and Location values/formats. 

Below are just a few examples of the many validations that will ensure that overtime is charged when the person is eligible, and also ensure that overtime is not charged when the person is not eligible.  

NOTE THAT THE EXAMPLES BELOW ARE NOT COMPREHENSIVE OF ALL THE VALIDATIONS THAT ARE AVAILABLE. FOR A COMPREHENSIVE LIST OF VALIDATIONS, PLEASE CONTACT YOUR UNANET CUSTOMER SUCCESS MANAGER.


SAMPLE Weekly Validation Description

Error Message on SUBMIT

An Overtime Employee may not report more than 40 hours in a single work week to regular time.


You have reported [x] more than [y] regular hours on your timesheet for the work week ending [mm/dd/yyyy]. Time over [y] hours must be reported to the OVERTIME pay code [pay code]. Please update your timesheet before submitting.

An Overtime Employee may not report to the Overtime pay code unless s/he has reported 40 or more hours in a single work week to regular time. This validation only applies to states without daily overtime rules.

You may not record to the Overtime pay code [pay code] on your timesheet when working fewer than [y] regular hours in a week. Please update your timesheet for the work week ending [mm/dd/yyyy].
An Overtime Employee in California must charge to Overtime for hours on the 7th consecutive day of work in a single work week.You have worked 7 consecutive days. Please report your time on [mm/dd/yyyy] to the overtime pay code [overtime pay code] before submitting your timesheet.

SAMPLE Daily Validation Description

Error Message on SUBMIT

An Overtime Employee whose Location is a state with a "Daily OT 8 Hours" rule must charge to Overtime for hours greater than 8 regular hours in a single day.

You have reported [x] more than [y] hours on your timesheet for [mm/dd/yyyy]. Time over [y] hours in a single day must be reported to the overtime pay code [overtime pay code]. Please update your timesheet before submitting.

An Overtime Employee may not report to the Overtime pay code unless s/he has reported adequate hours to regular time for that day, where adequate hours = 8 if state has a "Daily OT 8 Hours" rule, and adequate hours = 12 if state has a "Daily OT 12 Hours" rule.

You have reported [x] regular hours and [y] overtime hours on your timesheet for [mm/dd/yyyy]. The Overtime pay code [overtime pay code] cannot be used in a single day until [z] hours are reported for that day. Please update your timesheet before submitting.

An Overtime Employee in California must charge to Double-Time for hours greater than 12 hours in a single day.

You have reported [x] more than [y] hours on your timesheet for [mm/dd/yyyy]. Time over [y] hours in a single day must be reported to the double time pay code [double time pay code]. Please update your timesheet before submitting.


Custom validations are not required for use of overtime charges in Unanet. If you elect not to create custom validations associated with overtime, then you will monitor and control overtime charges via the timesheet approval process instead.  

Prerequisites for using the Unanet Standard VSP for Overtime/Double Time

The following must be true in order to use the Standard Stored Procedures for Overtime/Double Time:

  1. Must be on a WEEKLY, BI-WEEKLY, or SEMI-MONTHLY time period. (OK to have multiple time periods as long as they are a combination of these supported types.)

  2. Must determine OT/O1 eligibility based on the Employee Type Code. (O1 can be optionally used to track "straight" overtime (=1x rate) for salaried employees.)

  3. If state-specific rules are to be used, then Person Location must be populated in one of these formats:
      • The state's full name (like "COLORADO").
      • The state postal abbreviation (like "CO").
      • The state preceded by the city, with a comma before state (like "Boulder, CO" or "Boulder, Colorado").
      • The city, state abbreviation, followed by zip in parenthesis: (like "Huntsville, AL (35801)").

Disclaimer related to the Unanet Standard VSP for Overtime 

Unanet makes no claim to adherence to state/federal/international labor or tax laws. It is the responsibility of the customer to either agree to the standard validations, or to propose an alternate configuration with different validations.

Example 1 (daily overtime rules)


Sat

Sun

Mon

Tue

Wed

Thur

Fri

Total

Hours Worked

6.5

8

12

12

12

12

12

74.5

Regular Hours

6.5

8

8

8

8/38.5

1.5


40

1.5x Hours



4

4

4

10.5

8

30.5

2.0x Hours







4

4

Example 2 (weekly overtime rules)

In this example, a weekly 40-hour threshold is passed after the 4th hour worked on Friday. Friday is a mix of regular hours (4) and overtime hours (8).


Sat

Sun

Mon

Tue

Wed

Thur

Fri

Total

Hours Worked

4

4

8

8

8

4

12

48

Regular Hours

4

4

8

8

8

4/36 total thus far this week

4

40

1.5x Hours







8

8

2.0x Hours









Example 3 (weekly overtime rules)

In this example, a weekly 40-hour threshold is passed after the 10th hour on Thursday. All Friday hours are overtime. 


Sat

Sun

Mon

Tue

Wed

Thur

Fri

Total

Hours Worked



10

10

10

10

10

50

Regular Hours



10

10

10

10


40

1.5x Hours







10

10

2.0x Hours









Setup of Overtime/Double Time Pay Codes for Use

We recommend that companies instruct their users on the proper entry of overtime hours, ideally using custom validation (stored procedure) logic to enforce that time charges are appropriate. The Pay Code's Cost Rate Factor handles pay lifts, typically by a factor of 1.5 or 2.   

Set up the Overtime and Double Time Pay Codes

In Admin > Setup > Time > Pay Codes, you will define the overtime and double time pay codes. See the Help doc link in Additional Information below for details on the various settings available.

Note that if INCLUDE IN DEFAULT LIST is selected in your Admin Setup of the Pay Code, then each time you create a new project, the Pay Codes will be allowed on that project.  

Enable the Overtime and Double Time Pay Codes for the appropriate Employee Types

Ensure that only the appropriate employees are eligible to charge Overtime/Double Time. For example, you may wish to allow Hourly employees to see Overtime/Double Time as an option in the timesheet pay code dropdown menu, and you may wish to prevent Salaried employees from even seeing these pay codes. (Note, we are referring to time and a half overtime, not the time spent by salaried employees working more than 40 hours per week.)

Navigate: Admin > Setup > People> Employee Types > List > Edit Pencil Icon > Pay Codes tab. 

If necessary, restrict the Overtime and Double Time Pay Codes for the appropriate projects

If INCLUDE IN DEFAULT LIST is selected in your Admin Setup of the Pay Code, then each time you create a new project, the Pay Code will be allowed on that project. For projects in existence prior to using the Pay Code, you will need to enable that Pay Code on the appropriate projects inside the project profile. Note that you may efficiently enable the Pay Code for multiple projects at once via import.

Keep in mind it is the intersection of what is allowed for the Employee Type in the Project Pay Codes that will determine what will be allowed on the timesheet.

Navigate: Project > List > List tab > Edit Pencil Icon > Billing > Invoice Setup > Additional Invoice Formats tab.

Expose the Pay Code dropdown menu in the timesheet

In Admin > Properties, you will deselect Hide Pay Code On Timesheet Edit so that the Pay Code menu is exposed in the dropdown menu.

Navigate: Admin > Properties > Time > Edit Settings. 

Applying the Optional VSP's

If you have elected to apply the Unanet Standard Stored Procedure for overtime, work with your Unanet contact to enable these special validations.

Why you don't want software to auto-calculate overtime

There are many reasons why it is beneficial that timekeeping software not auto-calculate or auto-populate overtime. Instead, the timesheet user should specify the overtime charges in accordance with your company policy as well as federal/state laws. These reasons are outlined below.

Your initial reaction may be, “The timesheet user has to add a separate row? They can’t do that, it's cumbersome, they won’t understand it." It is actually very simple to add a new row in the timesheet to record overtime, and allows you to decide how overtime should be allocated to projects. It is especially easy for the user when the Standard VSP is used. It is very likely you would not want the software to decide where the higher cost of overtime should be applied. By training your employees on how to enter time, and optionally ensuring that VSP's indicate whether they are making valid or invalid charges, you will capture overtime appropriately for reporting, billing, and payroll purposes.

Concerns about system-driven manipulation of data entry

Some companies want the timesheet user to put in their hours worked and have the overtime automatically moved to a different row. We do not auto-populate overtime hours for the following reasons:

  • We only allow core Unanet product code that has been fully system tested to manipulate the database. 
  • There is great risk in allowing customized code, and code that could be easily manipulated, to modify database data.
  • When timesheet data is manipulated within the Unanet core code, there are numerous and complex validations that occur to ensure database integrity is maintained. This same integrity could not be guaranteed if stored procedure code is allowed to modify timesheet data.
  • The internal audit trail created when timesheet data is modified by Unanet core code base would not exist if VSPs manipulated the data. Troubleshooting could be impossible. In addition, changing the time reported by a user may also be of concern to DCAA auditors, which is a strong reason to avoid it. Instead, you should follow the "Recommended Capture of Overtime" section above.
  • What project would the software automatically move the overtime to? If you had two projects worked, you likely would not want the software to decide which project gets the higher cost of overtime. Instead you would want the company policy to determine which project gets the higher cost of overtime. 

Other companies want to actually add a separate row to the timesheet just for overtime (falsely inflating the total hours on the timesheet), automatically calculating these additional hours based on total hours charged by the user. This is not advised for the following reasons:

  • It would cause problems throughout the reports and exports where you would have false hours that you would need to back out of calculations (and in some places that may not be possible).
  • The system would not be able to remove the additional overtime items, reallocating that time to the original value upon a user pulling a timesheet up for adjustments. As such, they would need to rely on the end user to manually remove overtime entries on the timesheet such that we could determine a new overtime value based on updated hours values. This is tedious to correct, and delicate in that the user probably won't get the adjustment right.
    • For example, should you have two projects on your timesheet on a given day, would you subtract the hours from one project or the other, or perhaps both to offset the overtime entry? Doing this introduces challenges related to rounding if we attempt to prorate the time somehow based on distributing the deduction proportionally across all projects on a timesheet day, and in a way that would fit with their particular timesheet increment settings, which can vary by person. Add additional rows on the timesheet and this issue grows. 
    • Consider a user who enters time in quarter hour increments, where they have five projects entered on a given day on their timesheet and they work 8 hours and 15 minutes (15 minutes of overtime). From which project of the five projects would we deduct 15 minutes? We would not be able to deduct 3 minutes from each of the five projects as that would violate the timesheet increment. You might consider changing from quarter hour increments to 100th/hour increment.
    • As a human looking at a timesheet, we can make the determination as to which project from which we’d like to deduct the time and to which project we’d like to associate the overtime. Many companies choose to have a company policy and human action determine which project should receive the overtime.

Attempting to auto-calculate overtime in the export

This not recommended, in part because the cost will not be correct in Unanet if you auto-calculate only on the export (1.5 cost rate factor will not be applied).

Which project should the overtime charges be applied to?

You have a few options when choosing which project to charge overtime to:

1) The overtime is charged to the last project worked during the weekday. This may seem unfair, but it may just be realistic that a person charges regular time until they hit the overtime threshold.

2) If you prefer, you may choose to have the user apply the overtime to the most appropriate project as follows:

  • If the person works more than 8 hours in a given day, or 40 hours in a week, apply the overtime to the project that pushed the time above the threshold.
  • If the time for that day is split between more than one project and it isn’t possible to determine which project should receive the overtime, split the overtime between the projects.

Note: It is recommended to have information regarding how overtime is allocated to the jobs in your written timekeeping policy and included in the training documents to the users so it is clear and consistently applied. It can even be reinforced using a timesheet footer or stored procedure message on submit.

Training

If you have elected to employ the Standard VSP for overtime, then you will advise your users that the system will automatically instruct them if they have charged pay codes incorrectly in their timesheet. For example, the system will alert them to move a certain number of hours from Regular time to Overtime or vice versa. They will not need to calculate the split of hours themselves.

If you have not elected to use the Standard VSP, then you will advise your users that they must calculate the split of hours themselves based on the federal and state laws.

Note that the intersection of Pay Codes allowed for the Employee Type and the Project Pay Codes will determine which Pay Codes are allowed on the timesheet.

Other types of Overtime

Overtime types other than 1.5 (time and a half) or 2 (double time) exist as well and may be accommodated in Unanet. To accommodate scenarios other than 1.5 or 2, please contact your customer success manager or consultant.

Additional Information

Help Docs - Custom Timesheet Validations (Stored Procedures)

Help Docs - Admin Setup Pay Codes

Help Docs - Restricting Pay Codes via Employee Types

Help Docs - Dilution

KC - Overtime Authorization

KC - FAQ - What are Business Rules Enforcement and Validation Stored Procedures?

Help Docs - Validation Stored Procedures for Time Users

Help Docs - Validation Stored Procedures for Expense Users

Help Docs - Validation Stored Procedures for Manager Time Approvers (Preview Approval Screen)


  • No labels