End-to-end workflows
How work moves through Payroll from start to finish, who does each step and what the system does in response.
On this page (9)
Monthly payroll end to end (four people)Run with an HR pay change and attendance overtimeHR correction to a frozen period paid in the next runLeaver final settlement (from HR offboarding)Payment file, bank answer and repairCorrecting a posted run (no reversal)New pay element through a new package versionMonthly end-of-service provisionSet up payroll for a new company
Monthly payroll end to end (four people)
Who: Preparer P, Approver A, Finance F, Employee E (ESS)
| # | What the person does | What the system does |
|---|---|---|
| 1 | P: New run for MONTHLY 2026-09 (Regular); Freeze inputs | Frozen; snapshot hash; freeze exceptions listed |
| 2 | P: Calculate; check payslips against the expected figures | Calculated; totals card correct; P cannot see an Approve button (no payroll.approve) |
| 3 | A: acknowledge each review exception with a reason; Approve | Approved; A was not the creator, freezer or calculator |
| 4 | F: Post to accounting; open the journal | One balanced journal; net pay credited to the package's net-pay account |
| 5 | F: Publish payslips | Payslips Published; E sees the payslip in ESS > Payroll with masked bank and no employer cost |
| 6 | P: Raise payment instructions; Prepare payment file | Instructions In file; file Prepared with SHA-256 |
| 7 | F: Release to bank; Bank accepted all; Close | Released, Accepted, run Paid / Closed |
Run with an HR pay change and attendance overtime
Who: HR user H, Line manager M, Preparer P, Approver A
| # | What the person does | What the system does |
|---|---|---|
| 1 | H: pay change BASIC 10,000 -> 12,000 effective 16 Sep, approved by a second HR user | HR term version in force from 16 Sep |
| 2 | M: approve 8 overtime hours for E on 10 Sep (attendance) | Overtime approved on the attendance day |
| 3 | P: freeze and calculate September | BASIC 11,000.00 (day-weighted) with review exception mid_period_pay_change; OVERTIME 8 h x (11,000 / 240) x 1.5 on the overtime base |
| 4 | A: acknowledge and approve | Approved; trace on each line names the source |
HR correction to a frozen period paid in the next run
Who: HR user H, Preparer P, Approver A
| # | What the person does | What the system does |
|---|---|---|
| 1 | September is frozen; H approves 2 extra unpaid leave days in September for E | Adjustment Queued in Pay inputs > Adjustments with its price |
| 2 | P: create and freeze October | Adjustment In a run; RETRO_DEDUCTION line on E's October payslip |
| 3 | A: try to approve without acknowledging | Refused: open exception (every adjustment raises a review exception) |
| 4 | A: acknowledge; approve | Approved; September run, snapshots and payslips unchanged |
Leaver final settlement (from HR offboarding)
Who: HR H, Preparer P, Specialist S, Approver A, Payer Q, Finance F
| # | What the person does | What the system does |
|---|---|---|
| 1 | H: complete a resignation for L, last day 15 Oct; recoveries marked 'recover from final pay' | HR outbox event sent |
| 2 | P: Check for terminations; Calculate | PST-... Calculated with components, recoveries and findings |
| 3 | P: Send for review; S signs off with notes on not-configured components | Reviewed |
| 4 | H: place a dispute hold; A tries to approve | Refused with the hold text |
| 5 | H: release the hold; A approves | Final run created |
| 6 | F: Post; Q: Raise payment (Q is not P or A); P/Q prepare file; F releases; bank accepts | Settlement Paid |
| 7 | F: Close; freeze the October regular run | Closed; L blocked in October 'paid_by_final_settlement' |
Payment file, bank answer and repair
Who: Preparer P, Finance F
| # | What the person does | What the system does |
|---|---|---|
| 1 | P: raise instructions and prepare the file for a posted run | File Prepared |
| 2 | F: release; record one instruction rejected (API) and the rest accepted | File Partial; instruction Rejected |
| 3 | Employee's IBAN corrected through the bank change process | New active bank account |
| 4 | P: Repair the rejected instruction; prepare a new file; F releases; accepted | New instruction accepted; payroll not rerun; run can close |
Correcting a posted run (no reversal)
Who: Preparer P, Approver A, Finance F
| # | What the person does | What the system does |
|---|---|---|
| 1 | Posted September run; E's BONUS should have been 500 less | Original posted |
| 2 | P: Correction run: E's payslip, BONUS, -500, reason | Correction run calculated with a -500 delta payslip |
| 3 | A approves; F posts | Second journal for the delta only; original journal untouched |
| 4 | Check the register | Both runs listed; net of E across the two = corrected amount |
New pay element through a new package version
Who: Configurer P, Rules approver A
| # | What the person does | What the system does |
|---|---|---|
| 1 | P: open approved package DEMO-AE v1; New version | v2 Draft, a copy of v1 |
| 2 | P: Add element FOOD (earning, account 5210, prorate); add rule FOOD fixed 300 | v2 shows the element and rule |
| 3 | A: Approve package v2 | Refused while v1 is open-ended: 'Version 1 is still in force over these dates. Close its end date first.' |
| 4 | A (API): close v1 window to 30 Sep; approve v2 effective 1 Oct | v2 Approved; v1 ends 30 Sep |
| 5 | P: run October | FOOD 300.00 on every payslip (prorated for joiners) |
Monthly end-of-service provision
Who: Preparer P, Finance F
| # | What the person does | What the system does |
|---|---|---|
| 1 | P: Work out the provision for 2026-09-30 | Proposed; one line per serving employee |
| 2 | F: Post | Journal Dr expense / Cr provision for the month's charge |
| 3 | P: propose 2026-10-31; F posts | Charge = October liability - September; roll-forward agrees with the ledger |
Set up payroll for a new company
Who: Configurer P, Rules approver A, HR user H
| # | What the person does | What the system does |
|---|---|---|
| 1 | P: New package AE-STD (or Install DEMO package for a test company); add elements BASIC, HOUSING, TRANSPORT, OVERTIME, RETRO_PAY, RETRO_DEDUCTION, LOAN_RECOVERY with accounts | Draft with no problems listed |
| 2 | A: Approve package | Approved with hash |
| 3 | P: New pay group MONTHLY (AED, AE-STD); New periods Oct-Dec 2026 with cutoff and pay date | Group and periods listed |
| 4 | H: activate employees with contracts and bank accounts | Payroll > Eligibility shows them Eligible after Check eligibility |
| 5 | P: New run for October; Freeze | Everyone in; no unexpected block exceptions |