Overview
A shift in Octal HR defines the expected working hours for a group of employees: when they should arrive, when they should leave, their break duration, grace period, and which days it applies to. The shift is the reference point for determining whether an employee is on time, late, absent, or working overtime.
You must assign at least one shift to every employee before attendance processing can work correctly. Employees without a shift assignment will show as "Unknown Shift" and their attendance cannot be computed.
Shift types
Fixed daily shift
Same start and end time on every applicable day. Most common for office and factory staff. Example: 09:00–18:00 Mon–Sat.
Overnight / cross-midnight shift
End time falls on the next day (e.g., 22:00–06:00). Tick the Overnight shift flag and Octal HR computes cross-midnight hours correctly — see the Night Shift article.
Creating a shift
Key shift fields explained
| Field | What it controls |
|---|---|
| Grace period | Minutes after shift start before a punch-in is recorded as late. E.g., grace = 15 means 09:15 punch-in is "on time" for a 09:00 shift. |
| Half-day hours | Hours worked below which the day is treated as a half day (and below half of that, as absent). |
| OT threshold (hours) | Hours worked before overtime applies for this shift. |
| Overnight shift | When ticked, a check-out earlier than the check-in is treated as crossing midnight, so worked hours are computed across the two days. |
| Applicable days | The days of the week the shift runs. Un-ticked days are non-working days for employees on this shift. |
Assigning shifts to employees
Each employee has one active shift assignment at a time. You can assign shifts to individuals or in bulk:
- By department: Filter the assignment list to a department and assign the whole group to one shift.
- By designation: Filter to a designation and assign that group. Useful for multi-department companies.
- Individually: Assign one specific employee a shift from their row.
To bulk-assign: Attendance → Shifts → Assign → filter employees by department or designation (and optionally search) → tick employees → choose shift → set effective date → Save.
Changing an employee's shift
To move an employee from one shift to another, assign the new shift with a future or current effective date: