CakeHR tracks the overtime hours that are reported using Timesheets. This overtime can be automatically broken down into different categories. It is particularly useful for differentiating between rates at which the overtime is paid.
You can allocate different rates to different time spans & specify a special rate for the work performed during holiday.
Let's take a look.

️ ℹ️ What do I need to configure Overtime categories?

Let's start by going to Settings --> Timesheets --> Overtime:

Here you can find Overtime categories section. You can think of Overtime categories as of payment rates which will apply based on duration of work executed by an employee & depending on whether they worked on a working day or on their weekend or a holiday.

Configuring an Overtime category

If you create or edit an Overtime category, a following modal will appear:

Here you can specify which overtime hours are going to be tracked under this category. CakeHR considers overtime hours as any hours tracked beyond the contract hours of the employee. (The contract hours are defined by a working pattern). So If you configure an Overtime range of "from 0 to 2 hours", then the first two hours of overtime work will fall into this category.


James has a working pattern that makes an 8-hour working day. This working pattern applies every day, from Monday to Friday. His CakeHR account has the following Overtime categories created: 

If James would work 10 hours (8h of his contract hours & 2h as an overtime), then his manager would then pay him for a full-day work as well as for 2 hours extra, according to Rate 1 (since these hours would be categorised in the Overtime category named 'Rate 1').

Now, if James would work 2 hours more on the same day (making the 4 hours of overtime and 12 hours of work in total), then the last two hours would get categorised as Rate 2.

Eventually, if James would come to work on Sunday (as we agreed earlier, James has a standard working week, Mon to Fri, therefore Sunday is not a working day in his working pattern), then all of his working time would be rated at Weekend & Holiday Rate automatically.

I've finished creating my Overtime categories! What's next?

Overtime categories work for Timesheet groups they are assigned to. This is particularly useful when you require maintaining different overtime calculation rules for different groups of people (for example when tracking time across different locations with different labour codes).

Proceed to section 'Overtime tracking per group' in the Overtimes settings to determine which group will use your Overtime categories. 

This section offers a view that allows to easily understand which rules are assigned to a certain Timesheets group. You can assign a set of Overtime categories to multiple group at once. Categories with conflicting conditions cannot be assigned to the same group.

How do I extract the overtime data for my employees?

Use Overtime report to retrieve the information on Overtime hours reported by your employees, with breakdown by categories and total per period:

⚠️NB! CakeHR but provides flexible & easy to use tools to track and categorise overtime hours, rather than payroll calculation engine.
If you are interested in payroll, please make sure to reach out to our support for information about upcoming features for payroll & calculations.

Tracking overtime for part-time employees

In order to be eligible for overtime payouts labour codes often require part-time employees to accumulate a numbers of hours equal to a full-time working day.

In order to enforce this, you can specify the Default working day duration (full-time equivalent) when creating a working pattern:

Having this parameter set will enable CakeHR to track the overtime for each day only after the Default working day duration is reached. For example, if set to 08:00 and logged 08:30 hours of work, then the overtime duration for that day will be 0,5h.

We hope you've enjoyed this article about Overtime categories!
If you have questions about this or other features in CakeHR, please feel free to reach out to our support.

Did this answer your question?