How to calculate attendance for staff with different working hours
06.09.2026
Different working hours are the most common complication in an attendance calculation: within one company the office runs 09:00–18:00, the warehouse 08:00–17:00 and the sales team on a flexible pattern. Calculating them all with a single template produces wrong results. This guide shows how different patterns are handled correctly.
The root of the problem
In many companies the calculation is built on one template - usually the office pattern. Other teams are then "fitted" into it, and as a result:
- Lateness for the early-starting team is calculated incorrectly.
- Overtime for the late-finishing team stays invisible.
- Lateness becomes meaningless under a flexible pattern.
- Part-time employees appear as a permanent "shortfall".
The solution: schedule templates
The correct approach is to create a separate template for each pattern. In practice three to five templates cover the entire workforce:
| Template | Characteristic | Lateness rule |
|---|---|---|
| Standard | Fixed start and end | After the threshold |
| Early shift | A different start time | Against its own time |
| Flexible | An arrival window | After the window |
| Part-time | A reduced norm | Against its own norm |
| Field pattern | Multi-point recording | Daily norm |
There is no need to create an individual schedule per employee - assigning a template is enough.
The particularity of the flexible pattern
Under a flexible schedule the key measure is not the arrival time but the daily norm. The calculation logic therefore changes:
- An arrival window is defined (08:00–11:00, for example).
- Arrival within that window does not count as lateness.
- The daily norm is checked (eight hours, for example).
- Time above the norm is recorded as overtime.
This logic cannot be expressed by a standard template and requires its own pattern. Details are on the flexible working hours page.
A practical example
A company had three different patterns: office (09:00–18:00), warehouse (07:00–16:00) and couriers (flexible, with an eight-hour daily norm).
The calculation ran on a single template - the office one. The result was a two-sided error: warehouse employees appeared with "two hours of early leaving" every day, while couriers were counted as "late" almost always.
HR corrected those rows by hand every month - several hours of work monthly.
Once three separate templates were created the need for corrections practically disappeared. In addition, the couriers' real overtime became correctly visible for the first time.
Part-time and partial days
For part-time employees the norm must be reduced. Applying the standard norm shows them permanently "in shortfall" and makes their indicators meaningless. The same applies to employees in education and to partially authorised days.
When a pattern changes
When an employee's pattern changes - moving from office work to field work, for example - the schedule assignment must be updated too. This is the most common mistake in practice: the employee works in a new role while the system still calculates them on the old template. That can continue for months and only surfaces when the report is examined.
Checklist
- How many different working patterns exist in the company?
- Does each of them have its own template?
- Has an arrival window been defined for the flexible pattern?
- Are part-time norms shown correctly?
- Is a pattern change reflected in the system?
How many templates are needed
There are two extremes in managing different patterns, and both cause problems.
The first extreme is a single template: the entire workforce is calculated with the same logic. As a result some teams are corrected by hand every month.
The second extreme is an individual schedule per employee. That looks precise but becomes unmanageable: when a rule changes, dozens of schedules have to be updated and inconsistencies appear.
The practical middle ground is three to five templates. Experience shows that in real companies this number covers more than ninety per cent of the workforce; the remaining handful of cases are handled with individual assignments.
Before adding another template one question should be asked: is this pattern genuinely different, or can it be expressed as a parameter of an existing template?
Managing a change of pattern
In companies with different working hours the most common recording error is failing to update the template when an employee's pattern changes.
An example: the employee moves from office work to field work, but the system still calculates them on the office schedule. Every day then produces "lateness" or "early leaving", and HR corrects those rows by hand - sometimes for months.
The fix is adding one step to the HR processes: when a role or unit change is formalised, the schedule template is updated too.
A simple indicator shows whether that step is being missed: the list of manually corrected rows. If the corrections concentrate on a few specific employees, the cause is almost always a wrong template assignment.
Separating patterns in the report
When different patterns exist, the way the report is read changes too. Showing the whole workforce in one table with the same columns leads to false comparisons.
The practical approach is grouping by pattern: each group is shown against its own norm and comparison happens within the group.
Under a flexible pattern the lateness column should be removed entirely - it has no meaning there and only creates a false impression.
For part-time employees the percentage indicators must be calculated against their own norm; comparison with the full-time norm shows them permanently "in shortfall".
When this separation is not made, management reads the report and draws the wrong conclusion - and that can affect personnel decisions.
The order for building templates
Moving different patterns into the system is considerably easier with the right sequence.
Step one: listing the existing patterns. This sounds simple but produces unexpected results in practice - in most companies patterns are discovered that appear in no official document.
Step two: defining five parameters for each pattern - the start time (or window), the daily norm, the break rule, the lateness threshold and the point at which overtime starts.
Step three: listing which roles belong to which template.
Step four: testing - one employee is chosen from each template and one month is calculated by hand and verified.
These four steps are a day's work and remove most of the corrections that would otherwise repeat every month.
In summary
Attendance for employees on different working hours cannot be calculated correctly with a single template. The answer is a separate schedule template for each pattern - three to five cover the whole workforce in practice.
The second essential point is keeping the template assignment current: when an employee changes pattern the template must change too. This is the most frequent recording error.
The third is grouping the report by pattern - comparison is only meaningful within groups that share the same norm.
The next step
A simple check: look at the rows corrected by hand in last month's report. If most of them belong to one or two teams, the problem is in the schedule template rather than in employee behaviour.
QRGate supports separate templates for different patterns. See what QRGate can do or calculate the price.