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)

Who: Preparer P, Approver A, Finance F, Employee E (ESS)

#What the person doesWhat the system does
1P: New run for MONTHLY 2026-09 (Regular); Freeze inputsFrozen; snapshot hash; freeze exceptions listed
2P: Calculate; check payslips against the expected figuresCalculated; totals card correct; P cannot see an Approve button (no payroll.approve)
3A: acknowledge each review exception with a reason; ApproveApproved; A was not the creator, freezer or calculator
4F: Post to accounting; open the journalOne balanced journal; net pay credited to the package's net-pay account
5F: Publish payslipsPayslips Published; E sees the payslip in ESS > Payroll with masked bank and no employer cost
6P: Raise payment instructions; Prepare payment fileInstructions In file; file Prepared with SHA-256
7F: Release to bank; Bank accepted all; CloseReleased, 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 doesWhat the system does
1H: pay change BASIC 10,000 -> 12,000 effective 16 Sep, approved by a second HR userHR term version in force from 16 Sep
2M: approve 8 overtime hours for E on 10 Sep (attendance)Overtime approved on the attendance day
3P: freeze and calculate SeptemberBASIC 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
4A: acknowledge and approveApproved; 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 doesWhat the system does
1September is frozen; H approves 2 extra unpaid leave days in September for EAdjustment Queued in Pay inputs > Adjustments with its price
2P: create and freeze OctoberAdjustment In a run; RETRO_DEDUCTION line on E's October payslip
3A: try to approve without acknowledgingRefused: open exception (every adjustment raises a review exception)
4A: acknowledge; approveApproved; 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 doesWhat the system does
1H: complete a resignation for L, last day 15 Oct; recoveries marked 'recover from final pay'HR outbox event sent
2P: Check for terminations; CalculatePST-... Calculated with components, recoveries and findings
3P: Send for review; S signs off with notes on not-configured componentsReviewed
4H: place a dispute hold; A tries to approveRefused with the hold text
5H: release the hold; A approvesFinal run created
6F: Post; Q: Raise payment (Q is not P or A); P/Q prepare file; F releases; bank acceptsSettlement Paid
7F: Close; freeze the October regular runClosed; L blocked in October 'paid_by_final_settlement'

Payment file, bank answer and repair

Who: Preparer P, Finance F

#What the person doesWhat the system does
1P: raise instructions and prepare the file for a posted runFile Prepared
2F: release; record one instruction rejected (API) and the rest acceptedFile Partial; instruction Rejected
3Employee's IBAN corrected through the bank change processNew active bank account
4P: Repair the rejected instruction; prepare a new file; F releases; acceptedNew instruction accepted; payroll not rerun; run can close

Correcting a posted run (no reversal)

Who: Preparer P, Approver A, Finance F

#What the person doesWhat the system does
1Posted September run; E's BONUS should have been 500 lessOriginal posted
2P: Correction run: E's payslip, BONUS, -500, reasonCorrection run calculated with a -500 delta payslip
3A approves; F postsSecond journal for the delta only; original journal untouched
4Check the registerBoth 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 doesWhat the system does
1P: open approved package DEMO-AE v1; New versionv2 Draft, a copy of v1
2P: Add element FOOD (earning, account 5210, prorate); add rule FOOD fixed 300v2 shows the element and rule
3A: Approve package v2Refused while v1 is open-ended: 'Version 1 is still in force over these dates. Close its end date first.'
4A (API): close v1 window to 30 Sep; approve v2 effective 1 Octv2 Approved; v1 ends 30 Sep
5P: run OctoberFOOD 300.00 on every payslip (prorated for joiners)

Monthly end-of-service provision

Who: Preparer P, Finance F

#What the person doesWhat the system does
1P: Work out the provision for 2026-09-30Proposed; one line per serving employee
2F: PostJournal Dr expense / Cr provision for the month's charge
3P: propose 2026-10-31; F postsCharge = 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 doesWhat the system does
1P: 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 accountsDraft with no problems listed
2A: Approve packageApproved with hash
3P: New pay group MONTHLY (AED, AE-STD); New periods Oct-Dec 2026 with cutoff and pay dateGroup and periods listed
4H: activate employees with contracts and bank accountsPayroll > Eligibility shows them Eligible after Check eligibility
5P: New run for October; FreezeEveryone in; no unexpected block exceptions