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 β PaidDraft
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:
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.
Generating Payslips
After a payroll run is completed or approved, you can generate payslips for all employees in one step:
Click the Generate Payslips action on the payroll run.
Configure the options:
Regenerate existing β Check this if payslips were already generated and you want to recreate them (for example, after correcting an entry). Existing payslips will be replaced.
Send notifications β Check this to email each employee a notification that their payslip is available. Enabled by default.
Confirm the action.
The system creates a payslip record and generates a PDF document for each payroll entry. See the Payslips page for full details on managing, finalizing, and sending payslips.
Who Can Generate Payslips
Users with the Generate Payslips permission.
Marking as Paid
After payslips have been generated and payment has been disbursed through your banking or payment system, update the payroll run to reflect this:
Open the payroll run.
Set the Payment Date to the date the payment was made.
The status changes to Paid.
The system does not process actual bank transfers or payments. The Paid status is a record-keeping step to indicate that payment was handled outside the system.
Deleting a Payroll Run
Only payroll runs in Draft status can be deleted. Once a payroll run has been processed, it cannot be deleted β this protects the integrity of your payroll history.
Notifications
When a payroll run is successfully processed and completed, the system sends a notification to:
Users configured as payroll notification recipients in Settings, or
Users with administrator or HR manager roles (if no specific recipients are configured)
The notification informs them that the payroll is ready for review and approval.
Filtering and Views
The Payroll Runs list includes five pre-built views:
All Payroll Runs
Shows all payroll runs
Draft
Shows only draft payroll runs
Completed
Shows payroll runs awaiting approval
Approved
Shows approved payroll runs
Paid
Shows paid (finalized) payroll runs
Additional filters are available for name, reference number, period dates, status, and payment date.
Last updated