Attendance, Shifts and Overtime
Working shifts, holidays and pay groups, then recording absences, overtime and monthly Excel timesheets.
This guide covers when employees are expected to work (shifts, weekly offs, holidays) and what actually happened (absences and overtime). Both flow straight into payroll.
Part A – Set up the work calendar
Working Shift
A shift says how long a normal working day is. Open Working Shift → Create Working Shift:
| Field | Example: Office shift |
|---|---|
| Shift Code / Description / Company | OFF · Office 8–5 |
| Start Time / End Time | 08:00 / 17:00 |
| Break Time (Min) | 60 |
| Working Hours | 8 |
| Maximum (Incl. OT) | 12 |
| Is End On Next Day | Tick for night shifts that finish after midnight |
| Working Hours on Special Occasions | Same fields for special periods, e.g. Ramadan 09:00–15:00, 6 hours |
Holidays and special occasions
Open Holiday/Special Holidays → Create Holiday. Enter a Code, Description, Company, From Date, To Date and the Over Time rule that applies if someone works on that day (e.g. 150% or 200%). Tick Special Occasion for periods with different working hours, such as Ramadan; they appear on the Special Holidays tab.
Pay Group
A pay group ties it all together: which days are weekly off, which shift applies each day, which overtime rate applies each day, and which holidays apply. Every employee must have one (Employee → Allowance tab → Paygroup).
- Open Pay Group → Add Pay Group; enter Code, Description and Company.
- In Mappings, set each day of the week: tick Weekly Off for days off, choose the Manage Shift for working days, and the Manage Overtime rule for each day (e.g. normal rate on working days, a higher rate on days off).
- Tick the holidays in Choose Holidays.
- Click Save.
| Day | Weekly Off | Manage Shift | Manage Overtime |
|---|---|---|---|
| Sunday – Thursday | OFF · Office 8–5 | OT125 · Normal day OT | |
| Friday | — | OT150 · Weekend OT | |
| Saturday | — | OT150 · Weekend OT |
An office pay group: Sunday to Thursday working, Friday and Saturday off.
Typical pay groups: Office (Fri–Sat off), Site 6 days (Fri off), Shop shifts. A pay group can't be deleted while employees use it.
Part B – Record what happened
Absent Entry – unplanned absence
Use Absent Entry for days an employee did not come to work and that are not taken from their annual leave – for example absence without notice, sick days or emergency leave. (Planned annual leave goes in Vacation Entry.) One document can hold several employees.
- Click Create Absent Entry, set the Date and the Company.
- For each absence, add a row: Employee, Absent Type, Leave From, Leave To and Remarks. With Salary ticks itself if the absence type is paid.
- Check Total Days on each row – it drives the deduction.
- Click Save.
| Absent type is… | Effect in payroll |
|---|---|
| Paid (e.g. Sick leave with pay) | No deduction; the days count against that leave type's balance |
| Unpaid (e.g. Absent without notice, Ded. 100%) | Days × daily rate × deduction % are deducted |
Overtime
Overtime reaches payroll in one of three ways:
Each overtime line is paid as: hours × rate % × hourly salary, where the rate and the salary parts come from the overtime rule. With an hourly salary of 25 SAR and a 150% rule, 4 hours = 4 × 1.5 × 25 = 150 SAR.
To enter overtime manually: Over Time Multiple Entry → Create Over Time Entry → Date and Company → one row per employee and day (Employee, OverTime Date, Time From, Time To, Over Time Type, Remarks) → Save.
Monthly timesheets (Excel import and approval)
Sites and projects often track attendance in a monthly Excel sheet. Bizmagnet can import it, check it, and turn it into absences, vacations, overtime and extra payments.
- One-time setup: in HR Setup → Dynamic Format, describe your sheet: worksheet name and the column numbers of employee code, branch, project and day 1.
- Prepare the sheet. Download the Data Template from Import Excel Timesheet. One row per employee: EMP_CODE, EMP_NAME, BRANCH, PROJECT, then one column per day (1…30/31). In each day cell put the hours worked (e.g. 8 or 10), or a leave code (the code of an absence or leave type, e.g. A for absent, V for vacation), or leave it blank.
- Import: choose the Month and the Excel Format, click Import Excel, check the preview, then click Upload. If an employee code is unknown or inactive, the upload stops – click View errors, fix the sheet and upload again.
- Review: open Time Sheet Approval, choose the month and company, select Pending and click Generate. Expand an employee to see each day split into regular hours and overtime.
- Resolve conflicts: if a day clashes with leave already recorded ("Time Sheet Conflict With Office Absence Entry", "Annual Vacation Entry Missing", "Missing Time Sheet entry"), the conflict list opens. Fix the entries or the sheet; Approve is only enabled when there are no conflicts.
- Click Approve. Bizmagnet creates absent entries for absence codes, vacation entries for leave codes, overtime for extra hours, and other payments for amounts in the extra column – all ready for payroll.
Approved timesheets can be viewed and exported to Excel from Time Sheet (Approved).
Practical scenarios
Yousef was absent without notice for 2 days
- Absent Entry: Yousef · Absent Type "Absent without notice" (unpaid, 100%) · 12/11 → 13/11 · Total Days 2 · remark "No call, no show".
- November payroll deducts 2 days of the salary parts ticked on that absence type. With Basic 4,000 + Housing 1,000: 5,000 ÷ 30 × 2 = 333.33 SAR.
A construction site sends its November timesheet
| EMP_CODE | … | 1 | 2 | 3 | 4 | 5 | … |
|---|---|---|---|---|---|---|---|
| E0102 | … | 10 | 10 | A | 8 | 8 | … |
| E0103 | … | V | V | V | V | V | … |
After import and approval (shift = 8 hours): E0102 gets 2 hours of overtime on day 1 and day 2 and an absent entry for day 3; E0103 gets a vacation entry for 1–5 November.