Time clock rounding – Some Solutions for rounding time entries in Time Tracking and Time Off


Background

Time clock rounding or time rounding is a practice that allows supervisors or employers to get an insight into their employee’s work hours and modify them to easier-to-tackle numbers for accounting when they calculate payroll

Is time clock rounding legal?

If you are an employee, you might be wondering: “Is it legit for an employer to adjust my hours?”

The answer is yes, under specific rules.

  • The U.S. Federal Law states that employers are allowed to round the time to specific predetermined time intervals: nearest 5 minutes, nearest 10th of an hour (6 minutes), or quarter of an hour (15 minutes).
  • In addition to these strict time rules, an employer cannot use time rounding in any way that can withhold an employee’s pay. The aim is to round the times in such a way that they benefit both the employer and employee.

The 7-Minute rule/One-quarter of an hour

This is often the most common rule companies will use. As you’re about to see it deals with a larger time interval, so it’s easier to keep track of clock in/out times. Overall, it makes the rounding process less tedious.

It’s important to note that this is called the 7-minute rule because in the first 7 minutes of a 15-minute interval you round the time back, and in the next seven minutes you round the time forward.

Start time Rounded time
07:53 – 08:07 08:00
08:08 – 08:22 08:15
08:23 – 08:37 08:30
08:38 – 08:52 08:45
08:53 – 09:07 09:00

Implementing one of these rules creates an unbiased system for time rounding. It will ensure that your employees get a fair timesheet report by the time payroll calculations come around. That being said, you will have to be mindful of your employees’ login/out times to make sure they aren’t inflating their minutes in an attempt at accumulating hours for overtime pay.

If you notice the entries in above table, we are eventually rounding them in increments of 15 Mins i.e the target time is a multiple of 15 ex: 8:00, 8:15, 8.30, 8.45, 9.00.

Having set the context w.r.t the requirement and rules in above sections, now let’s get into the solution details. I am going to list some solutions but please ensure that you do your own due diligence and adapt them accordingly after evaluating your customer requirements. At the end of the day, it is important to realize that this is a custom approach to a problem.

Solution Details

The first step in order to achieve such a rounding would be to create a custom MDF that can act as a lookup and store these entries and target time for rounding

Custom MDF

The custom MDF contains 4 fields

External Code : A key field to identify a rounding rule entry

Lower Limit : Lower limit of a rounding range

Upper Limit : Upper limit of a rounding range

Target Time: Target time for rounding a value.

Examples of Lookup

The below is the complete table of entries across 24 hours

externalCode cust_lowerLimit cust_upperLimit cust_targetTime
externalCode lowerLimit upperLimit targetTime
8:00 7:53:00 8:07:00 8:00:00
8:15 8:08:00 8:22:00 8:15:00
0:00 23:53:00 0:07:59 0:00:00
0:15 0:08:00 0:22:59 0:15:00
0:30 0:23:00 0:37:59 0:30:00
0:45 0:38:00 0:52:59 0:45:00
10:00 9:53:00 10:07:59 10:00:00
10:15 10:08:00 10:22:59 10:15:00
10:30 10:23:00 10:37:59 10:30:00
10:45 10:38:00 10:52:59 10:45:00
11:00 10:53:00 11:07:59 11:00:00
11:15 11:08:00 11:22:59 11:15:00
11:30 11:23:00 11:37:59 11:30:00
11:45 11:38:00 11:52:59 11:45:00
12:00 11:53:00 12:07:59 12:00:00
12:15 12:08:00 12:22:59 12:15:00
12:30 12:23:00 12:37:59 12:30:00
12:45 12:38:00 12:52:59 12:45:00
13:00 12:53:00 13:07:59 13:00:00
13:15 13:08:00 13:22:59 13:15:00
13:30 13:23:00 13:37:59 13:30:00
13:45 13:38:00 13:52:59 13:45:00
14:00 13:53:00 14:07:59 14:00:00
14:15 14:08:00 14:22:59 14:15:00
14:30 14:23:00 14:37:59 14:30:00
14:45 14:38:00 14:52:59 14:45:00
15:00 14:53:00 15:07:59 15:00:00
15:15 15:08:00 15:22:59 15:15:00
15:30 15:23:00 15:37:59 15:30:00
15:45 15:38:00 15:52:59 15:45:00
16:00 15:53:00 16:07:59 16:00:00
16:15 16:08:00 16:22:59 16:15:00
16:30 16:23:00 16:37:59 16:30:00
16:45 16:38:00 16:52:59 16:45:00
17:00 16:53:00 17:07:59 17:00:00
17:15 17:08:00 17:22:59 17:15:00
17:30 17:23:00 17:37:59 17:30:00
17:45 17:38:00 17:52:59 17:45:00
18:00 17:53:00 18:07:59 18:00:00
18:15 18:08:00 18:22:59 18:15:00
18:30 18:23:00 18:37:59 18:30:00
18:45 18:38:00 18:52:59 18:45:00
19:00 18:53:00 19:07:59 19:00:00
19:15 19:08:00 19:22:59 19:15:00
19:30 19:23:00 19:37:59 19:30:00
19:45 19:38:00 19:52:59 19:45:00
1:00 0:53:00 1:07:59 1:00:00
1:15 1:08:00 1:22:59 1:15:00
1:30 1:23:00 1:37:59 1:30:00
1:45 1:38:00 1:52:59 1:45:00
20:00 19:53:00 20:07:59 20:00:00
20:15 20:08:00 20:22:59 20:15:00
20:30 20:23:00 20:37:59 20:30:00
20:45 20:38:00 20:52:59 20:45:00
21:00 20:53:00 21:07:59 21:00:00
21:15 21:08:00 21:22:59 21:15:00
21:30 21:23:00 21:37:59 21:30:00
21:45 21:38:00 21:52:59 21:45:00
22:00 21:53:00 22:07:59 22:00:00
22:15 22:08:00 22:22:59 22:15:00
22:30 22:23:00 22:37:59 22:30:00
22:45 22:38:00 22:52:59 22:45:00
23:00 22:53:00 23:07:59 23:00:00
23:15 23:08:00 23:22:59 23:15:00
23:30 23:23:00 23:37:59 23:30:00
23:45 23:38:00 23:52:59 23:45:00
2:00 1:53:00 2:07:59 2:00:00
2:15 2:08:00 2:22:59 2:15:00
2:30 2:23:00 2:37:59 2:30:00
2:45 2:38:00 2:52:59 2:45:00
3:00 2:53:00 3:07:59 3:00:00
3:15 3:08:00 3:22:59 3:15:00
3:30 3:23:00 3:37:59 3:30:00
3:45 3:38:00 3:52:59 3:45:00
4:00 3:53:00 4:07:59 4:00:00
4:15 4:08:00 4:22:59 4:15:00
4:30 4:23:00 4:37:59 4:30:00
4:45 4:38:00 4:52:59 4:45:00
5:00 4:53:00 5:07:59 5:00:00
5:15 5:08:00 5:22:59 5:15:00
5:30 5:23:00 5:37:59 5:30:00
5:45 5:38:00 5:52:59 5:45:00
6:00 5:53:00 6:07:59 6:00:00
6:15 6:08:00 6:22:59 6:15:00
6:30 6:23:00 6:37:59 6:30:00
6:45 6:38:00 6:52:59 6:45:00
7:00 6:53:00 7:07:59 7:00:00
7:15 7:08:00 7:22:59 7:15:00
7:30 7:23:00 7:37:59 7:30:00
7:45 7:38:00 7:52:59 7:45:00
8:00 7:53:00 8:07:59 8:00:00
8:15 8:08:00 8:22:59 8:15:00
8:30 8:23:00 8:37:59 8:30:00
8:45 8:38:00 8:52:59 8:45:00
9:00 8:53:00 9:07:59 9:00:00
9:15 9:08:00 9:22:59 9:15:00
9:30 9:23:00 9:37:59 9:30:00
9:45 9:38:00 9:52:59 9:45:00

The next step is to read this lookup in a rule and use it for rounding

Clock in Clock Out

If you are using Clock In Clock out feature as part of Time Tracking implementation, You would be reliant on clock in clock out entries coming from Terminal , Mobile etc. In this case, these entries are paired and stored in “External Time Data” MDF object. From external time data they eventually flow to time sheet of an employee.

In this case, you would need to create a onSave rule to read this lookup and hook it to the MDF “External Time Data”

Testing in Clock In Clock Out

Assume we have the following entries punched In /Out from the Clock In Clock Out Feature

External Time Data is rounded after the above Clock In and Clock Out is paired

You will see similar rounded entries in time sheet as well after external time data is merged with employee time sheet

Time Tracking / Time Sheet

Customers who are not using Clock In Clock Out and use time sheet manually to enter their times need to use this lookup a bit differently.

We need a time sheet validation rule and this needs to be hooked to “Employee Time Sheet Entry” MDF object as shown below

Testing in Time Sheet

Time Off

It is also necessary to plug this rule in Time Off to have an E2E solution. In this case, you need to create a Take Rule and attach it to the Time Type you intend to do this validation

Example Take Rule:

Testing

Try requesting an absence at odd times and you will see an error

To Conclude, these rounding rules can be used especially when you have laws to enforce a particular time in regions like US. Hope this helps in your implementations

Thanks