Payroll Runs
A payroll run represents a single payroll cycle for a specific period — typically one month. It gathers all active employees, pulls in their salary structures and attendance data, calculates their pay, and produces individual payroll entries showing each employee's gross salary, deductions, taxes, and net salary.
Payroll Run Workflow
Every payroll run moves through a defined set of statuses:
Draft -> Processing -> Completed -> Approved -> Paid
| Status | Badge | What It Means |
|---|---|---|
| Draft | Grey | The payroll run has been created but not yet processed. You can edit the name, period, and notes. |
| Processing | Blue | The system is calculating payroll for all eligible employees. This status is set automatically. |
| Completed | Yellow | All calculations are done. Review the results before approving. |
| Approved | Green | A manager has reviewed and approved the payroll. Payslips can now be generated. |
| Paid | Purple | Payment has been disbursed and the payroll run is finalized. |
Each status transition can only move forward — you cannot revert an approved payroll run back to completed, for example. This ensures a reliable audit trail.
Creating a Payroll Run
- Navigate to HRM > Payroll Runs in the sidebar.
- Click Create Payroll Run.
- Fill in the form:
| Field | Required | Description |
|---|---|---|
| Name | Yes | A descriptive name for this payroll cycle (e.g., "February 2026 Payroll") |
| Reference Number | Yes | A unique identifier (e.g., "PR-2026-02"). Must be unique across all payroll runs. |
| Period Start | Yes | The first day of the pay period |
| Period End | Yes | The last day of the pay period. Must be on or after the start date. |
| Notes | No | Optional notes about this payroll run |
- Click Create.
The payroll run is created in Draft status with zero totals. No calculations happen yet — those occur when you process the payroll.
Processing a Payroll Run
Processing is where the system does the heavy lifting. It calculates pay for every eligible employee based on their salary structure and attendance during the pay period.
How to Process
- Open the payroll run (or find it in the list).
- Click the Process Payroll action.
- Confirm the action. The system will begin processing.
What Happens During Processing
For each eligible employee, the system:
- Fetches the employee's active salary structure — including basic salary and all assigned components.
- Calculates attendance for the pay period:
- Working days — Total weekdays minus configured week-off days (e.g., Saturday and Sunday).
- Present days — Days the employee was marked present in attendance records.
- Absent days — Days marked absent.
- Leave days — Approved paid leave days that fall within the period.
- Overtime hours — Total overtime hours from attendance records.
- Calculates the pro-rated basic salary based on attendance:
- By default, the daily rate is calculated and multiplied by the number of present days.
- Employees who were present every working day receive their full basic salary.
- Employees who missed days receive a proportionally reduced amount.
- Calculates allowances — Each allowance component is computed based on its calculation type (fixed amount or percentage of basic salary).
- Calculates overtime pay — If overtime is enabled, the hourly rate is multiplied by overtime hours and the configured overtime multiplier (default: 1.5x).
- Sums up the gross salary — Basic salary + allowances + overtime pay.
- Calculates deductions — Each active deduction component is computed. Components marked as "not deductible" are skipped.
- Calculates taxes — Each tax component is computed as a percentage of gross salary or a fixed amount.
- Calculates net salary — Gross salary minus deductions minus taxes.
- Creates a payroll entry for the employee with all the calculated data.
After all employees are processed, the payroll run totals (total employees, total gross, total deductions, total taxes, total net) are recalculated from the individual entries.
Only active employees who have joined on or before the period end date and have an active salary structure are included in the payroll run. Employees without a salary structure are skipped.
Processing Errors
If an error occurs while processing a specific employee (for example, a missing salary structure), the system logs the error, skips that employee, and continues with the rest. After processing:
- If all employees were processed successfully, the status automatically changes to Completed.
- If some employees had errors, the payroll run stays in Processing status so you can review and resolve the issues. Use the Mark as Completed action to manually move it to Completed once you are satisfied.
Who Can Process Payroll
Users with the Process Payroll permission.
Reviewing Payroll Entries
After processing, each employee has a payroll entry within the payroll run. To review:
- Open the payroll run detail page.
- The entries table shows each employee with their:
- Working days and present days
- Gross salary
- Net salary
- Whether a payslip has been generated
- Click on an entry to see the full breakdown including:
- Attendance details (working days, present, absent, leave, overtime)
- Basic salary calculation
- Individual allowances with amounts
- Individual deductions with amounts
- Individual taxes with amounts
- Gross and net salary totals
Review the numbers to ensure they are correct before approving.
Approving a Payroll Run
Once you have reviewed the payroll entries and confirmed the calculations are accurate:
- Click the Approve Payroll action on the payroll run.
- Optionally add approval notes explaining any observations or adjustments.
- Confirm the action.
The payroll run status changes to Approved, and the system records who approved it and when. This information is visible on the payroll run detail page.
Who Can Approve Payroll
Users with the Approve Payroll permission. Typically, this is a different person from the one who processed the payroll, to maintain a separation of duties.
Approving a payroll run is a significant action — it confirms the calculated amounts are correct and ready for payment. Review the entries carefully before approving.