End-to-end workflows

How work moves through Human Resources from start to finish, who does each step and what the system does in response.

On this page (19)

New employee to system user

Who: HR officer A, HR manager B, system admin C

#What the person doesWhat the system does
1A: Employees > New employee: EMP-T010, legal name, join date today; SaveDraft employee created
2B: Overview > Private information: nationality, date of birth; IDs & visas: Emirates ID 784-1990-7654321-2 with expiry; Documents: Residence visa + required Labour cardPrivate data saved; no 'Required and missing' banner
3A: Job & pay > New assignment (department, position, calendar, contract type, manager, FTE 1, from today); Activate assignmentAssignment Active
4A: Job & pay > New contract (structure, probation 6); Put in forceContract In force with probation end
5A: Actions > Activate employee; acknowledge the warnings; ConfirmState Probation; Access tab shows Access request Pending
6C: Administration > System users > New system user > pick EMP-T010 (or link on the user's Employee tab); then decide the access request FulfilLogin linked; request Fulfilled; A cannot fulfil a request A raised ('You cannot decide a request you raised.')
7Sign in as the new user; open Employees > My HROwn record, documents with numbers and leave balances shown

Profile change maker-checker

Who: Employee E (linked login), HR manager B, HR manager D

#What the person doesWhat the system does
1E: My HR > Request a profile change: personal phone + emergency phone, reason; SubmitPending; form shows Withdraw
2E (also holding hr.private.manage, if available) opens ApprovalsOwn request is not listed; deciding it by API -> 'A different HR user must decide this request.'
3B: Approvals > Profile change > Reject with no reasonReject disabled / 'Say why you are rejecting this.'
4D: Approvals > ApproveEmployee's private phones updated; revision +1
5E: My HRNew values shown; notification 'Profile change approved'; can submit a new request again

Document expiry to renewal campaign

Who: HR manager B, employees E1 and E2, HR manager D

#What the person doesWhat the system does
1B: Reporting > Document expiry > 31-60 daysE1's and E2's visas listed (no numbers)
2B: Reporting > Renewal campaigns: name, Expiry from/to covering both; Preview recipientsEligible 2 grouped by type
3B: Launch campaignHistory shows 'launched', Recipients 2; E1/E2 get '<type> renewal requested'
4E1 and E2: My HR > Request renewal with new expiry and a PDF; SubmitBoth pending; recipients 'submitted'
5B: Approvals > type Document renewalBoth renewals listed with the new expiry; the new number is not shown in the inbox
6D: approve E1, reject E2 with a noteE1's document updated, E2's unchanged; campaign 'completed'; both notified

Transfer and headcount

Who: HR officer A, report viewer R

#What the person doesWhat the system does
1A: Employee in Sales > Actions > Transfer from a date (today + 1) to an Ops position, reasonSales assignment ends today, Ops starts tomorrow
2R: Headcount & FTE as of todayEmployee counted in Sales
3R: Headcount & FTE as of tomorrowEmployee counted in Ops; total headcount unchanged
4A: open History > TimelineTransfer entry with reason and dates

Candidate to offer to hire to employee to contract

Who: HR recruiter A (recruit.manage, pay.manage, employee.manage, private.manage, contract.manage), HR approver B (recruit.approve), line manager

#What the person doesWhat the system does
1A: Hiring > Candidates > New candidate: Layla Hassan, Source Referral, passport P1234567, Position Sales executive; Save; ScreenCandidate CAN-nnnn, status Screening; not visible in the Employees directory
2A: Hiring > New hire > step 1 pick the candidate; step 2 fill the offer (start 2026-11-01, contract Limited, probation 6, BASIC 9000 + HOUSING 4000 + TRANSPORT 800); Save offer; Submit for approvalOffer Submitted; total 13,800.00 AED per month; seat reserved from the start date; flow shows 'Waiting for approval'
3A tries to approve their own offer (API); B: Offers > open the offer > ApproveA refused 'You cannot decide an offer you prepared.'; B: Approved; candidate becomes Offered
4A: Record acceptance (before the offer's expiry date)Offer Accepted; flow moves to step 3
5A: step 3 employee number blank, work email; step 4 default checklist; step 5 Create employeeEmployee Draft, assignment Active, draft contract with the three pay lines, onboarding tasks dated from 2026-11-01; offer and candidate Hired
6A: open the employee > Job & pay > Contracts > open the draft contract; Put in forceContract In force; probation ends 2027-04-30
7A: Actions > Activate employee; acknowledge any required-task warningsEmployee state Probation; access request raised; second hire of the same passport refused with 'Nobody is hired twice.'

Pay change with two-person approval, retroactive

Who: HR payroll officer A (pay.view, pay.manage), HR pay approver B (pay.approve), payroll specialist

#What the person doesWhat the system does
1A: Pay & benefits > Pay changes > New change: EMP-T010, Salary, BASIC, effective 2026-08-01 (a frozen period), new 9900.00, reason 'Annual review'; SaveDraft; before 9,000.00, new 9,900.00, difference +900.00
2A: Submit for approvalSubmitted; Retroactive banner names the frozen periods; request cannot be edited
3A tries Approve (API); B: ApproveA refused 'A pay change is approved by somebody other than whoever wrote or submitted it.'; B: Approved
4A: Apply without ticking the acknowledgementRefused with the frozen period names; nothing written
5A: Apply with the acknowledgement ticked and a reasonApplied; new version written; one adjustment of +900.00 per frozen period from Aug queued; frozen payslips unchanged
6Payroll: open the next open runQueued adjustments appear as supplemental lines; Pay history on the employee shows both versions

Offboarding to final settlement

Who: HR officer A (offboard), HR approver B (offboard.approve, hold.manage), payroll officer

#What the person doesWhat the system does
1A: Offboarding > Terminations > Start offboarding: EMP-T010, Resignation, notice today, last day in 18 days; read the preview; Give noticeTermination Draft; employee state Notice; preview showed notice required 30, served 18
2B: open it > Approve (A is refused)State Notice; clearances for each required department, recoveries, leave freeze and access cutoff set up
3A: request a notice waiver with a reason; B: Decide the notice waiver > ApproveNotice item Waived (decided by B, not A)
4Departments: A records each clearance; asset returned; advance set to Recover from final pay; Freeze leave; Freeze inputsGuard checklist shows only 'Last day reached' blocking
5A: Move to cleared; on the last day A: TerminateState Terminated; employee Terminated; sign-in revoked; payroll told through the termination event
6Payroll: prepares and posts the final settlementHR Settlement tile shows Posted then Paid; no amounts visible in HR
7A: CloseRefused while Posted; allowed once Paid; state Closed

Dispute hold on a leaver

Who: HR manager A (hold.manage), HR manager B (hold.manage), HR officer C (offboard)

#What the person doesWhat the system does
1A: Offboarding > Dispute holds > Place hold: employee on notice, Legal, reasonHold Open; attached to the employee's termination; Holds counter 1
2C: bring the termination to Cleared and press TerminateRefused: 'No dispute hold: 1 open hold(s)'
3A tries to Release; B: Release with a noteA refused 'A different person must release a hold you placed.'; B: Released, kept in history
4C: TerminateTerminated

Benefit enrolment and end

Who: HR payroll officer A (pay.manage), approver B (pay.approve)

#What the person doesWhat the system does
1A: Benefit plans > New plan MED-GOLD (employee 150.00, employer 300.00, mapped components, expatriate, 12 months)Plan Active
2A: Pay changes > New change: Benefit, MED-GOLD, effective 2026-11-01; reason; SubmitShares shown from the plan; eligibility checked
3B: Approve; A: ApplyVersions written for the employee deduction and employer cost lines; payroll picks them up from 2026-11-01
4A: second change with End this benefit, effective 2026-12-01; B approves; A appliesShares go to 0.00 from 2026-12-01; history keeps both

Annual leave: request, approval, balance and report

Who: Aisha (employee), Hana (HR, deciding), Omar (manager), Hamdan (report)

#What the person doesWhat the system does
1HR: Time off > Request leave for Aisha, Annual leave Thu 15 Oct - Tue 20 Oct 2026Quote shows 4 chargeable days of 6 asked, balance 10, after approval 6; request goes Pending; nothing deducted
2Check Leave balances for AishaBalance 10, Pending 4; a second request would only see 6 available
3Hana (a different person from Aisha) opens Employees > Approvals and approvesRequest Approved; one 'used' row of -4; payroll period 2026-10; notification sent
4Open Leave balances and the Leave ledger movements for AishaBalance 6; Used shows 4 this year; the movement row names the request
5Aisha asks to cancel from My HR; Hana approves the cancellationA 'cancellation' row of +4 returns the days; balance 10; payroll adjustment queued if the period was frozen
6Hamdan runs Reporting > Leave ledger for the monthOpening + Accrual - Used - Expired + Adjustments = Closing for every row; Reconciles Yes

Accrual plan: author, independent review, in force, monthly run, year end

Who: Hana (author, hr.configure), Hamdan (reviewer, hr.leave.policy.approve)

#What the person doesWhat the system does
1Hana creates plan ANNUAL30: 2.5 a month, cap 30, prorate by FTE, carryover capped 5 lapsing after 3 months, with a legal sourcePlan v1 Configured; cannot post
2Hamdan adds his own worked cases (FTE 1 -> 2.5, FTE 0.5 -> 1.25) and clicks Approve planAll cases Match; plan Approved with a content hash; Hana could not have done this
3Hana puts the plan in force from 1 Nov 2026Status In force; five checks ticked
4Hana previews then runs the accrual As of 30 Nov 2026Aisha +2.5, part-timer +1.25; run in history; running again skips everyone as 'already run'
5On 31 Dec 2026 Hana closes the leave year for the planA balance of 12 carries 5 (expiring 31 Mar 2027) and lapses 7; balance 5
6Hana runs Expiry as of 1 Apr 2027Unused carried units lapse as 'expired' rows; Leave balances shows them in Expired

Manual balance correction with a second approver

Who: Hana (asks), Hamdan (decides), Aisha (employee)

#What the person doesWhat the system does
1Hana: Allocations & adjustments > New request, Allocation +2 for Aisha, lapses 31 Dec 2026, reason 'Worked 2 Dec'Request Pending; balance unchanged
2Hana tries to approve her own request403 'A different HR user must decide this request.'
3Hamdan approvesOne ledger row +2 with expiry; balance up by 2; the request keeps the ledger entry id
4Hana asks for an adjustment of -1.5 and withdraws it before a decisionRequest Cancelled; ledger untouched
5Hana asks again; Hamdan rejects with a reasonRejected; ledger untouched; reason visible

Missed swipe to payable day

Who: Aisha, Omar (manager), Hana (hr.attendance.manage), Hamdan (hr.attendance.approve)

#What the person doesWhat the system does
1Punches for Mon 5 Oct 2026 are imported with an 'in' at 09:00 and no 'out'Day Incomplete with exception 'Missed punch out'; cannot be approved
2Omar raises a correction: Missing punch out, 18:00, reason 'Forgot to swipe'Request Pending, raised through Manager
3Hamdan approves the correctionCorrection punch added, original untouched; day complete; Net 8.00 after the 1.00 lunch
4Aisha also worked until 19:30 on Tue; Hamdan opens the day and approves it with 'Also approve the overtime found'Overtime 1.50 Daily approved; Payable 9.50
5Hana runs Attendance exceptions for the weekThe Monday and Tuesday days are clean or only approved; footer reconciles punches to payable units
6Omar tries to approve a correction he raised, then Aisha her ownBoth refused

Weekly timesheet with variance

Who: Aisha (employee), Omar (manager)

#What the person doesWhat the system does
1Aisha: Timesheets > New timesheet for the week of 5 Oct 2026Draft sheet for 5-11 Oct created
2She adds Mon-Thu 8 h and Fri 12 h on PRJ-ERP (44 h) and savesReconciliation: attendance 40.00, variance +4.00, Flagged at tolerance 2.00
3She submitsStatus Submitted; the flag is shown to the approver
4Omar returns it with 'Friday looks high'Status Returned; Aisha can edit again
5Aisha corrects Friday to 8 h and submitsVariance 0.00 within tolerance
6Omar approvesStatus Approved; lines locked; Aisha cannot approve her own

From working week to schedule and absences

Who: Hana (hr.configure and hr.attendance.manage)

#What the person doesWhat the system does
1Create calendar STD40 (Asia/Dubai, 40 h, Mon-Fri) and add holiday 2 Dec 2026Calendar saved; holiday listed
2Create shifts DAY (09:00-18:00, lunch unpaid) and NIGHT (22:00-06:00)Scheduled hours 8.00 and 7.50
3Create rotating roster ROT3 (DAY, NIGHT, rest) anchored 1 Oct 2026 and assign Aisha with offset 1Schedule preview shows NIGHT, rest, DAY ... from 1 Oct
4Assign Basma the fixed shift DAY from 1 Nov 2026Basma reads from 'assignment'; the calendar is the fallback
5Generate absent days for 5-9 Oct 2026Absent rows exist only on scheduled working days; leave days show 'On leave'
6Open Attendance exceptions filtered to AbsentThe generated absences list with the reconciliation footer

Expense claim to settlement

Who: Employee B (ESS) or HR user H, Approver A, Settler F

#What the person doesWhat the system does
1H (or B in ESS > Expenses): new claim 'Client visit', add 2 lines with receiptsDraft with totals
2SubmitSubmitted (or Held if a duplicate - A lets it through with a note)
3B tries to approve their own claim (if B has hr.expense.approve)Refused 'A different approver must decide your own claim.'
4A approvesApproved
5F settlesSettled; payable to employee frozen; no journal or payment created (finance not wired) - note

Trip with advance settled by its claim

Who: HR user H, Approver A, Settler F

#What the person doesWhat the system does
1H: new trip for B, 4 days, policy GCC-STD, advance 1,000Draft trip; per diem shown 1,200 (no meals)
2A approves; F pays the advanceAdvance paid
3H: claim linked to the trip: hotel 700 from advance, taxi 150 employee paidTotals 850
4Submit, A approves, F settlesAdvance applied 850 (700 + 150); Returnable by employee 150.00; trip Settled

Company card statement to claim

Who: HR configurer C, HR user H

#What the person doesWhat the system does
1C: Load a statement with CC-TEST-1 450 and CC-TEST-2 1202 lines, Claimed No
2H: claim line paid on the card with CC-TEST-1CC-TEST-1 Claimed Yes
3H: second claim tries CC-TEST-1 (API)Refused 'That card transaction is already claimed on another line.'
4Submit, approve, settlePayable 0.00 for the card line; card total shown separately

Performance review (API only)

Who: HR H, Employee E, Manager M, HR publisher P

#What the person doesWhat the system does
1H: create cycle, preview, launchReview for E pending_self
2E: self-assessment; M: manager assessmentCalibration
3P: calibrate, sign off, publishPublished; E sees it in full only now
4E: acknowledge (or appeal within the window)Acknowledged / appealed