Create, freeze and calculate a payroll run
Start a run for a period, freeze its inputs, calculate payslips and read the exceptions.
Required permission: payroll.prepare
Before you begin
- An approved rule package is in force on the last day of the period.
- The pay group, the period, and employees with contracts and bank accounts exist.
- Inputs for the period are approved before you freeze (see Manual inputs, adjustments and eligibility).
- You hold payroll.prepare.
Steps
Create the run
- Go to Payroll > Payroll runs and click New run.
- Choose the Period, shown as "MONTHLY 2026-09".
- Choose the Type: Regular or Off-cycle. A correction run is raised from the run it corrects; a final run only from a settlement.
- Click create. The run opens in Draft with a number such as
PR-MONTHLY-2026-09-01.
Freeze
- Click Freeze inputs.
- The system takes a snapshot per person of the contract, approved inputs, HR facts (unpaid leave, approved overtime, pay changes, loans) and bank details. The run becomes Frozen.
- Open the Exceptions and variance tab and read what was raised.
Calculate
- Click Calculate. The status becomes Calculated.
- Open Payslips. Each line shows how it was calculated, including proration and rounding.
- If you find a mistake in the inputs, use the menu Back to draft, fix the input, and freeze again. Recalculate rebuilds payslips from the same snapshots.
What happens next
Worked examples with the DEMO package, full month:
| Employee | Basis | Gross | 2 % deduction | Net |
|---|---|---|---|---|
| A, full month | BASIC 10,000 + HOUSING 4,000 + TRANSPORT 1,000 | 15,000.00 | 300.00 | 14,700.00 |
| E, joined 16 Sep | 15 of 30 days = 0.5 | 7,500.00 | 150.00 | 7,350.00 |
| F, 3 unpaid days | 27 of 30 = 0.9 on prorated elements | 13,500.00 | 270.00 | 13,230.00 |
- Overtime: 10 approved hours with BASIC 10,000 gives 10,000 / 240 x 10 x 1.5 = 625.00. Unapproved hours are left out with a warning.
- A pay change mid-month is day-weighted: (10,000 x 15 + 12,000 x 15) / 30 = 11,000.00, with a review exception to acknowledge.
- A loan instalment is deducted up to what is outstanding.
- Employer cost lines are shown separately and are not part of net pay.
- The run page shows Totals (gross, employee deductions, net, employer cost) and a Traceability tab with the snapshot hash and run fingerprint.
Exceptions
Each is a block, warn or review item with a phase (freeze, calculate, variance, payment).
- Block stops that person's payslip: no contract, negative net ('Deductions exceed gross pay; approved negative-net handling is not configured, so no payslip is produced.'), a contract in another currency, or a period already paid by a final settlement.
- Warn: for example 'No active bank account is on file...' or an invalid IBAN checksum.
- Review must be acknowledged before approval: variance against the prior posted run ('Net pay moved 12.24% against PR-...-08-01 (14700.00 to 16500.00); the limit is 10%.'), a new or missing person, a mid-period pay change, a supplemental adjustment.
Good to know
- Only one non-cancelled regular run per period: 'Period 2026-09 already has the regular run PR-MONTHLY-2026-09-01 (draft). A second one would pay the period twice; cancel that run or raise an off-cycle or correction run instead.'
- Without an approved package: 'No approved rule package DEMO-AE is in force on 2026-09-30. Approve one under Configuration.'
- If the package content changed since approval, the system will not use it.
- Stale screen: 'This payroll run has changed since you opened it (revision 3, you sent 2). Reload and try again.'
- A draft, frozen or calculated run can be cancelled from the menu. After approval it cannot: 'A posted run cannot be cancelled. Raise a correction run.' Cancelling frees the period for a new regular run.
- Hourly unpaid leave is not deducted by the system today.
- Overtime is priced with one multiplier for all approved hours.
- Run lists carry a yellow notice about unfinished features; it is older than the current build.