Introduction

Basic concepts of the Time and Attendance module

This section will introduce you to the basic concepts of the Time and Attendance module. After reading through this section, you will understand the basics of how shifts work, how clock-ins and clock-outs are managed, and the terminology related to how hours are calculated.

In Agrigistics, time and attendance form the foundation of your payment process. If an employee's hours are calculated incorrectly, their payslips will also be incorrect. To ensure that employees' hours are correct, the first step is to make sure that their shifts are configured properly.

Shift Setup

In Agrigistics, shifts are configured when creating a Clock Template. There are two main types that will determine how employees' clocking data are processed:

  1. Start & End Times Shifts: These shifts have specified start and end times on specific days of the week.

    • For example, a shift on Monday might start at 08:00 and end at 17:00, with a lunch break from 12:00 to 13:00.

  2. Fixed Duration Shifts: These shifts do not have defined start and end times, including for breaks. Instead, they only specify the total duration of hours that need to be worked on a given day.

    • For example, a shift on a Monday might require employees to work 8 hours, irrespective of when they start or end their shift. If there is a required break, the duration of the break will be deducted from the employee's hours.

When configuring either of the above shifts, they are configured as follows:

  • Per Day of the Week: Each day from Monday to Sunday can be configured separately with its own shift type and parameters.

  • Mixed Shifts: Different shifts can be configured for different days. For instance, Monday to Friday could have defined start and end time shifts, while weekends could have fixed duration shifts.

Start & End Times Shifts

To set up these shifts, you need to specify the start and end times. Breaks can also be configured with specified start and end times.

  1. Shift length: Calculated as the duration between the start and end of the shift minus any breaks. For example: If a shift is set up from 08:00 to 17:00 with a break from 12:00 to 13:00, the total length of the shift is 8 hours.

  2. Breaks: Breaks are scheduled to start and end at specific times and they are compulsory, i.e. employees cannot work during a break. Employees clocked in during a scheduled break will be automatically clocked out.

  3. Overtime / Short Time Flex: Rounding mechanisms for managing overtime and short time can only be configured at the beginning and end of the shift.

Start and end times shifts are ideal for operations with defined schedules and minimal variation in work times.

  1. The shift is configured to start at 08:00 and ent at 17:00.

  2. There is a break scheduled from 12:00 to 13:00. Employees will be clocked out during this time and it will not count towards their total hours worked for the day.

  3. Overtime and short time flex durations can be configured for the start and the end of a shift.

Fixed Duration Shifts

To set up these shifts, specify the total hours employees must work in a day. Optionally, break durations can also be configured.

  1. Shift length: For each day of the week the shift duration is specified as hours. The duration is not calculated by calculating the duration between the start and the end of the shift as there is no defined start and end times.

  2. Breaks: If breaks are configured, the duration of the breaks will be deducted from the hours worked.

  3. Overtime / Short Time Flex: There are no flex times at the start and end of the shift. The total hours worked are rounded according to the shift length and flex configurations.

Fixed duration shifts are ideal for employees with erratic schedules, mixed day and night shifts, or varying start times.

  1. Because the shift is flexible, i.e. no fixed start and end times, the shift starts as soon as the employee clocks in for the first time.

  2. If breaks are configured for the shift, they are deducted from the hours worked immediately. For example: if a shift is configured with a length of 5 hours and a 1 hour break, the employee needs to work for 6 hours because the break is deducted automatically.

    • The break is only deducted if the employee's total hours is more than the total breaks. For example: If the duration of the break is 1 hour, and the employee only worked 50 minutes, the break will not be deducted. If the employee worked 1 hour and 30 minutes, it will deduct the 1 hour break.

  3. Overtime and short time flex are only applied at the end of the shift. If the length of the shift is 8 hours and the overtime flex is configured as 30 minutes, the employee must work more than 8 hours and 30 minutes before they will get overtime.

Please refer to this section for best practices on how to configure your shifts: Best Practices: Start & End Times vs Fixed Duration Shifts.

Clocking Data

The shift setup mentioned in the previous section in conjunction with the clock template parameters serves as the set of rules used to process clocking data. When employees clock in and out, their actions are recorded as timestamps within a day. Agrigistics differentiates between clock-in and clock-out data by associating clock-ins with the type of activity the employee performs. This means an employee can have multiple clock-ins and clock-outs in a day, and the system will automatically determine how to process them.

Differentiating Clock-Ins and Clock-Outs

Unlike other platforms that use an even number of clocks in a day to identify clock-outs, Agrigistics explicitly differentiates between clock-ins and clock-outs. This provides better context for when an employee did not clock in or out for the day. When processing the clocks for time and attendance, only the rules specified in the clock template are applied. We do not alter any employee clock data during calculations, ensuring data integrity and allowing you to adjust clock template setups to fine-tune overtime and exception management.

Clocking In on Activities

When clocking in, employees always associate their clock-ins with an activity. This ensures accountability for their tasks throughout the day and simplifies cost calculation at the end of a pay run period. Employees can clock in for multiple activities in a single day. When an employee clocks in for a new activity, they are automatically clocked out from the previous activity. This allows an employee to perform multiple tasks within a day and only clock out once at the end of the day.

T&A Terminology

Each employee's clock-ins and clock-outs are processed according to the rules provided in the shift setup. This results in different hourly components, which are defined in the following section:

Clock Templates

Clock templates refer to a collection of parameters and configurations used to interpret and calculate hours from employees' clocking data. When setting up a clock template, the following elements are configured:

  • Name and Teams: A clock template is associated with one or more teams and is linked to all employees within those teams.

  • Shifts: Define the working hours for each day of the week. This can include start and end times or fixed duration shifts. Each shift can also have optional, detailed flex configurations that apply to specific days of the week.

  • Global Flex Settings: Flex configurations that apply to all shifts when no specific flex settings are configured for a particular shift. Flex settings are determined per shift type.

  • Periodic Overtime Aggregation: Specify which hour components to use when calculating overtime over a week or period.

  • Targets and Default Clock Outs: Manage missing clock-outs and allocate full days for employees who meet their targets.

To create a new clock template: Clock Template Configuration

Budget Hours

In the context of the shift setup in a clock template, "budget hours" refer to the designated hours an employee is required to work per day. These hours are calculated by determining the duration between the start and end time of a shift, minus any allocated breaks. If a shift is configured for a day, there will always be budget hours. If the day is marked as optional, the budget hours will not contribute towards the employee's ordinary hours of work.

If there are no budget hours for a day i.e. no shift configured, and an employee clocks in or out, it will result in a Missing Template error.

Ordinary Hours of Work

"Ordinary Hours of Work" refers to the hours permitted to work by an employer. Please refer to section 9 in the BCEA for more information.

If any day of the week is not marked as "optional" in the clock template, the budgeted hours on that day will be classified as "Ordinary Hours of Work".

According to the BCEA, the total number of "Ordinary Hours of Work" within a calendar week may not exceed 45 hours.

Please consult your lawyer if there are any special conditions applicable to your operations.

Overtime & Short Time Flex

Flex is a rounding mechanism for clock-ins and clock-outs that helps manage overtime and short time. Flex is applied differently depending on the configured shift type. Essentially, overtime flex subtracts time worked from an employee, and short time flex adds time worked for an employee within the configured parameters.

Start & End Time Shifts

Flex is applied at the beginning and end of the shift. The flex mechanism adjusts clock-ins and clock-outs to the shift's start or end time within the configured parameters. Flex times can be configured separately for the start and end to provide more flexibility. For detailed usage, refer to our Best Practices on maximizing flex with Start & End Time shifts. Examples:

  • Overtime Flex at the Start: If the overtime flex at the start of the shift is 30 minutes and the shift starts at 08:00, any clock-in between 07:30 and 07:59 will be adjusted to 08:00. If the employee clocks in before 07:30, they will be allocated the full 30 minutes as additional time.

  • Short Time Flex at the Start: If the short time flex at the start of the shift is 10 minutes and the shift starts at 08:00, any clock-in between 08:01 and 08:10 will be adjusted to 08:00. If the employee clocks in after 08:10, the full 10 minutes will be deducted.

  • Overtime Flex at the End: If the overtime flex at the end of the shift is 30 minutes and the shift ends at 17:00, any clock-out between 17:01 and 17:30 will be adjusted to 17:00. If the employee clocks out after 17:30, they will be allocated the full 30 minutes as additional time.

  • Short Time Flex at the End: If the short time flex at the end of the shift is 10 minutes and the shift ends at 17:00, any clock-out between 16:50 and 16:59 will be adjusted to 17:00. If the employee clocks out before 16:50, the full 10 minutes will be deducted.

Fixed Duration Shifts

When applying flex to fixed duration shifts, it rounds off the total hours worked for the day. Flex is not applied to the start or end of the shift since there are no defined start and end times. For detailed usage, refer to our Best Practices on maximizing flex with Fixed Duration shifts. Example:

  • Overtime Flex: If the overtime flex is configured for 30 minutes and the required budget hours are 8:00, any work between 8:00 and 08:30 hours will be rounded down to 08:00.

  • Short Time Flex: If the short time flex is configured for 10 minutes and the required budget hours are 8:00, any work between 7:50 and 8:00 hours will be rounded up to 08:00.

Daily Normal Hours, Overtime and Short Time

If there is a shift configured for a day, there will always be budget hours. As soon as an employee clocks in on a day with a shift configured we can start to calculate Normal Hours, Short Time and Overtime.

  • HtH_t = Total hours worked in a day

  • HbH_b​ = Budget hours in a day

  • HnH_n​ = Normal hours

  • HsH_s​ = Short time

  • HoH_o​ = Overtime

  1. Normal Hours (HnH_n​): Hn=min(Ht,Hb)H_n = \min(H_t, H_b) Normal Hours equal the total hours worked if they are less than or equal to the Budget Hours, and are capped at the Budgeted Hours if more hours are worked.

  2. Short Time (HsH_s​): Hs=max(0,HbHt)H_s = \max(0, H_b - H_t) This calculates the shortfall when the Total hours worked are less than the Budget Hours, ensuring Short Time is zero if the Total hours worked exceed or equal the Budgeted Hours.

  3. Overtime (HoH_o​): Ho=max(0,HtHb)H_o = \max(0, H_t - H_b) This calculates the excess when the Total hours worked exceed the Budget Hours, ensuring Overtime is zero if the Hours worked are less than or equal to the Budgeted Hours.

Short Time Example

An employee worked less than the Budget Hours specified on the day:

  • HtH_t = 7 hours

  • HbH_b​ = 8 hours

Normal hours and Short time calculations:

  • Normal Hours (HnH_n​): Hn=min(Ht,Hb)H_n = min(H_t, H_b) Hn=min(7,8)H_n = min(7,8) Hn=7H_n = 7 Normal Hours are less than Budget hours and equal to the total hours worked on the day.

  • Short Time (HsH_s​): Hs=max(0,HbHt)H_s = \max(0, H_b - H_t) Hs=max(0,87)H_s = \max(0, 8 - 7) Hs=max(0,1)H_s = \max(0, 1) Hs=1H_s = 1 The total hours worked is less than the budget hours on the day. The Short Time is equals to the difference between the Budget hours and the total hours worked on the day.

Overtime Example

An employee worked more than the Budget Hours specified on the day:

  • HtH_t = 9 hours

  • HbH_b​ = 8 hours

Normal hours and Overtime calculations:

  • Normal Hours (HnH_n​): Hn=min(Ht,Hb)H_n = min(H_t, H_b) Hn=min(9,8)H_n = min(9,8) Hn=8H_n = 8 Normal Hours are more than Budget hours. Normal hours can't exceed the budget hours for the day.

  • Overtime (HoH_o): Ho=max(0,HtHb)H_o = max(0, H_t - H_b) Ho=max(0,98)H_o = max(0, 9 - 8) Ho=max(0,1)H_o = max(0, 1) Ho=1H_o = 1 The total hours worked is more than the budget hours on the day. The Overtime is equals to the difference between the Total hours worked and Budget hours on the day.

Public Holidays

Employees must be paid their ordinary hours of work if any public holiday that falls on a ordinary working day. An employee's ordinary pay is equal to the budget hours on the public holiday.

If a public holiday is not on a ordinary working day, i.e. optional day in the clock template, the should not be compensated for that day.

According to the Basic Conditions of Employment Act (BCEA) in South Africa, if an employee works on a public holiday, they must be paid at double their normal rate of pay.

Last updated