The Monthly Payroll Cycle with Attendance: Shifts, Leave, Attendance Sheets, and the Payroll Run
This guide explains the complete monthly payroll cycle in the system: from setting up shifts, attendance rules, and leave, to recording attendance, calculating attendance days and the attendance sheets, then linking them to the salary component formulas, and creating the payroll run, approving it, and paying it, with the accounting entries.
Brief Monthly Workflow
First: Enabling
From the Apps Manager enable: Human Resources, Attendance, Payroll, and preferably Requests for employee requests.
Second: Attendance Setup (One Time)
From Attendance Settings:
1. Attendance Configuration
| Setting | Options (Default) | What It Does |
|---|---|---|
| Work Year Start | Day and month | The start of the year on which leave balances are calculated. |
| Automatic Calculation for Self-Recorded Attendance Logs | On / Off | Calculates attendance automatically when the employee records their own attendance. |
| Recording Attendance During Approved Leave | On / Off | When off, the approved leave day is counted as leave and its fingerprints are ignored. |
| Allow Submitting Leave Requests for Past Dates | On / Off | — |
| Default Approvers | Direct Managers / Department Managers / Employees | Who approves the requests if there are no custom approval settings. |
2. Shifts
From Shifts create the shift: specify the name, the type (Basic / Advanced), the working days, and for each day: the shift start and the shift end, the check-in and check-out range, the delay grace period, and the delay calculation method. Then assign it to the employees.
Example
A 9:00–17:00 shift with a grace period of 15 minutes and “delay calculation after the shift start time + the delay grace period”: an employee who arrived at 9:25 is charged a delay of 10 minutes. And if the calculation is “from the shift start time”, 25 minutes are counted (and the grace period prevents counting it only if they arrive before 9:15).
3. Attendance Rules
From Attendance Rules create rules that are evaluated on each attendance day with a condition and a formula (such as: if the delay > 30 minutes then the value = 1), and link them to the shifts. Their results appear in the attendance sheet (the number of times applied and the total of the values) and are used in the salary formulas for deductions or overtime.
🛈
Note: A rule is applied only to the days of the shifts linked to it. There is no ready “overtime” column; overtime and shortage hours are calculated through the attendance rules.
4. Leave and Holidays
- Leave Types: for each type the maximum days per year, the maximum consecutive applicable days, applicable after (days from hire), and requires permission.
- Leave Policy: arrange the leave types and assign the policy to the employees. The order matters: an absence day is converted automatically to the first leave type in the policy that meets the conditions (the balance, the duration, the permission), otherwise it stays Absent.
- Holiday Lists: the official holidays and assign them to the employees.
An example of the policy order
5. Attendance Recording Methods
- Attendance Recording Devices: ZKTeco devices by pulling or direct sending, with linking the employee to the device.
- My Attendance from the site or the app, and Record Employees’ Attendance by a supervisor.
- Import a file of attendance logs.
- Attendance Restrictions: restricting recording by IP address, GPS location, or the camera.
Third: The Full Monthly Cycle
1. Daily Attendance Logs
All the fingerprints appear in Attendance Logs.
2. Leave Requests and Permissions
The employee submits a request from Leave Requests: Leave, Late, Early, or Half Day. The statuses: Under Review → Approved or Rejected, and approval levels can be applied according to the approval settings.
- The final approval creates an attendance permission automatically (or add it manually from Leave Permissions).
- A late permission replaces the grace period in the delay calculation.
- Approval doesn’t recalculate attendance automatically; recalculate the days or create the attendance sheet after it.
3. Calculating Attendance Days
From Attendance Days click Calculate Attendance and specify the period and the employees (or the rules: branch, department, shift). For each day the system determines the status: Present, Absent, Check-in Only, Check-out Only, Leave, Holiday, with the minutes of delay and early leave and the actual working hours, and the values of the attendance rules. A day can be edited manually.
4. The Attendance Sheet
From Attendance Sheets click Create Attendance Sheet for the month. The system recalculates the period’s days and totals them:
| Total | Meaning |
|---|---|
| Working days | The days they are supposed to work |
| Attendance days | The actual days |
| Absence days | Absence without leave |
| Leaves | By each type with the balance before and after |
| Delay / early leave | The count and the minutes |
| Attendance rules | The number of times and the total of the values for each rule |
The statuses: Under Review and Approved. Two overlapping sheets cannot be created for the same employee, and days inside an approved sheet cannot be edited.
Fourth: Linking Attendance to Salary Components
In Salary Components use the attendance sheet variables in the components’ formulas, such as:
| Variable | Value |
|---|---|
| {{$attendance_sheet.absence_days}} | Absence days |
| {{$attendance_sheet.total_delay_amount}} | Total delay minutes |
| {{$attendance_sheet.present_days}} | Attendance days |
| {{$attendance_sheet.working_days}} | Working days |
| {{$attendance_sheet_flag_RULE_NUMBER.total_value}} | The total value of an attendance rule |
Example: the absence deduction
Fifth: The Payroll Run
- From Payroll Runs create a run: the registration date, the month’s period, and the employees, and leave Attendance Validation enabled.
- For each employee: if there is no attendance sheet, one is created automatically for the period; and if there is one, its dates must exactly match the run’s period.
- The payslips are calculated from the contract, the salary components, the attendance sheet, and the advance installments, and the attendance sheet is approved automatically.
- Review the payslips and edit them before approval.
⚠
Warning: If the employee has an attendance sheet with dates different from the run’s period, this appears: «You cannot create the payslip for %s #%s because attendance sheet #%s already overlaps with the same specified period». Delete the sheet or make its period identical.
Sixth: Approval, Payment, and Entries
| Stage | The Entry | The Date |
|---|---|---|
| Approval of the payslips | Debit: Salaries and Wages (or the account of each earning component) / Credit: the deduction accounts, advances, and Accrued Wages with the net salaries | The registration date |
| Pay | Debit: Accrued Wages / Credit: the treasury or bank | The payment date |
A complete example for an employee
Basic 5,000 + housing 1,000, an absence deduction of 400 (default account), insurance of 450 (“Insurance Payable” account), an advance installment of 500. The net = 6,000 − 400 − 450 − 500 = 4,650.
On approval:
| Account | Debit | Credit |
|---|---|---|
| Salaries and Wages (6,000 − 400) | 5,600 | — |
| Insurance Payable | — | 450 |
| Advances | — | 500 |
| Accrued Wages | — | 4,650 |
On payment:
| Account | Debit | Credit |
|---|---|---|
| Accrued Wages | 4,650 | — |
| The treasury | — | 4,650 |
🛈
Note: The absence deduction without a special account is subtracted from the Salaries and Wages expense. The full details of the entries and account routing are in the payroll cycle and accounting entries guide, and from Employee Accounts Routing.
Seventh: Reports
- Attendance Report Summary (by employee / month / department…), Detailed Attendance Report, Employee Leave Balance Report, Attendance Shifts Report, Attendance Sheets Report, Attendance Rules Summary.
- Payroll Report (by employee / monthly / department / branch) and the Employee Advances Report.
Important Restrictions and Messages
- «You cannot cancel the approval of an attendance sheet linked to a payslip»
- «You cannot delete the attendance sheet because it is approved»
- «You cannot undo the leave request because there is a linked attendance permission that has already been counted in the attendance log»
- «You cannot create, approve, reject, or pay a payslip in a closed period»
- The scope of the attendance calculation or the sheet doesn’t exceed 3 months ahead.
Frequently Asked Questions
I approved a leave but the day is still an absence?
Recalculate the attendance days for this period; approval doesn’t recalculate automatically.
How do I calculate overtime?
Create an attendance rule that calculates the extra hours, and use its value in an earning salary component.
Why was the absence converted to leave?
Because the leave policy automatically converts the absence to the first available leave type with a balance that doesn’t need a permission.
Must the attendance sheet be approved before the payroll run?
No, the run approves it automatically, but review it before creating the run.