AAuditPro Suite· HR manual
HR manual Wave 2f · Lifecycle

The 6 sub-tabs

1 · Onboarding

4 seeded templates: audit_hire (25 standard items) · admin_hire · intern · partner. Items grouped by category: HR · IT · Finance · Manager · Compliance · Training. Each item has days_to_complete + is_blocking flag.

Auto-creation: on EmployeeService::create, an onboarding instance auto-materialises from the matching template. Idempotent — re-running create doesn't duplicate.

Workflow: tick blocking items → when all blocking ticked, parent onboarding auto-completes. Audit-logged.

2 · Offboarding

Clearance gates (6 flags): assets_returned · knowledge_handed_over · it_revoked · finance_cleared · visa_cancelled · final_settlement_done.

Status lifecycle: initiated → in_progress → clearance_done (5/6 ticked) → settled (6/6 ticked, including final_settlement_done).

Cancel: allowed up to but not including settled. Reactivation also supported.

3 · Appraisals

Three cycle types: mid_year · annual · probation. Each appraisal has overall_rating · score · manager_comments · self_comments · partner_comments · employee_comments · development_plan · promotion_recommendation · increment_pct. Finalised appraisals are locked from edit.

4 · Disciplinary

Action types: verbal_warning · written_warning · final_warning · suspension · salary_deduction · demotion · termination. Severity grades: minor · moderate · serious · gross.

Auto-expiry: warnings have valid_until — typically 6-12 months. Active warnings counted via activeWarningCount(). 3-warnings-rule: when count ≥ 3, the Disciplinary tab shows a red banner.

5 · Exit interview

Structured feedback when offboarding active. One-time per employee. Fields: primary_reason · 0-10 rating across satisfaction dimensions · would_rejoin · would_recommend · open feedback · is_confidential gate (HR-only access).

6 · Final settlement

The big one. Auto-pulls four sources when generated:

Plus optional manual lines: salary_arrears · notice_period_pay · bonus_arrears · other_credits · other_deductions.

Net payable = EOSB + leave_encash + manual_credits − loan_outstanding − asset_recovery − manual_deductions.

Status: draft → approved → paid. Mark-paid auto-ticks final_settlement_done flag → offboarding rolls to settled.

Branded PDF: FinalSettlementPdfService mirrors the M11 invoice-PDF pipeline. A4 portrait with firm header + employee block + line-by-line table + Art. 39 explanation + 3-signature block + firm stamp. Cache busted on approve/pay.

The full lifecycle picture

Onboarding 25 items Active years 1-N Appraisals annual cycle Disciplinary if applicable Offboarding 6 clearance gates Exit interview + rep letter Final settlement PDF · paid

Step-by-step — offboarding an employee

  1. Initiate offboarding

    Open employee → Offboarding tab → Initiate. Form: last_working_day · reason (resignation / termination / retirement / death) · notes. System creates employee_offboarding row · status=initiated.

  2. Walk the 6 clearance gates

    As each happens: tick the flag. Assets returned (auto from Assets tab when all rows have returned_date). IT revoked (manual after IT confirms). Knowledge handed over (manager confirms). Visa cancelled. Finance cleared. Final settlement = last gate.

  3. Conduct exit interview

    Exit Interview tab while offboarding still active. One row only — once recorded, becomes read-only.

  4. Generate final settlement

    Final Settlement tab → Generate. Auto-pulls EOSB + leave + loans + assets. Add manual lines if applicable. Save as draft.

  5. Approve + pay

    Partner approves (status draft → approved). Process bank transfer. Mark paid (status approved → paid). System auto-ticks final_settlement_done flag → offboarding rolls to settled.

  6. Soft-delete employee

    Once offboarding=settled, the employee can be soft-deleted (jobs.deleted_at stamped). Audit history preserved forever.

Try this

Open Disciplinary tab on an employee with 3+ active warnings. Red banner appears. This is the trigger for the firm's escalation policy — Oman Labour Law allows summary termination after 3 warnings + worsening misconduct, with documentation showing the chain.

Watch out

Don't generate final settlement until the last working day is firm and EOSB calculation reflects the actual end date. Recompute close to that date — a salary revision in the last month would shift the daily rate. The system supports recompute on draft state; once approved/paid, locked.

Tip — onboarding template per role

Audit_hire is heavier than admin_hire (extra items: independence training, ISA briefing, methodology induction, capability matrix entry). If a senior hire bypasses some items because of prior firm experience, mark as N/A with reason ("ex-Big4, methodology equivalent"). Don't just delete — preserve the rationale.