People management — built for an Oman audit firm
M13 is the most differentiated module in AuditPro. Six waves shipped over 2026, covering every people-data area an Oman audit firm actually needs: master record, documents, dependents, assets, capability, expat operational tracking, compensation + EOSB, leave per Labour Law Art. 61–68, and the full lifecycle from offer letter to final settlement. Twenty-six tabs on the employee detail page. Three specialised dashboards. Four crons.
One employee, one record — the lifecycle journey
Why HR matters in an Oman audit firm
An Oman audit firm has a particular HR shape that doesn't match generic SaaS:
- Mostly expat staff — visa, civil ID, passport, driving licence, insurance, accommodation, return-air-tickets — every doc has an expiry, every expiry has a regulatory tail
- EOSB liability — Oman Labour Law Art. 39 mandates 15 days basic per year for first 3 years, 30 days thereafter; IAS 19 requires monthly accrual
- Capability matrix — partners need to know who is qualified to sign which engagement (ACCA · CPA · OAAA-registered · CIA · industry IFRS specialism)
- Continuous CPD — ACCA requires 40 hours/year, OAAA registration depends on it
- Recurring deadlines — visa renewal, civil ID, work permit, PASI, WPS — miss one and the firm can't sponsor staff or even pay salaries on time
- Leave per Labour Law — annual 30 days + sick 70 days split-payment + hajj 15 days once-per-service + maternity 50 days + 6 more types — each with eligibility rules
Six waves, one module
The numbers
All FK-cascaded with soft-delete + audit hooks.
Granted across 6 default roles with scope (self / department / all).
Overview · Documents · Dependents · Assets · 6 capability tabs · 5 expat tabs · 4 compensation tabs · Leave · 6 lifecycle tabs.
Every page has the mandated ## What this page is for + ## How to use structure.
Capability matrix · Leave dashboard · My-Leave self-service.
EOSB monthly · Leave year-end carry-forward · M16 retention · M17 expiry reminders.
compliance.expiry_reminder · leave.submitted · leave.decided · plus 9 finance templates.
End-to-end onboarding scenario with all 6 waves populated. 100% pass.
The 26-tab employee detail page
One page, six waves of data, organised into Bootstrap tabs:
| Wave | Tabs | What lives here |
|---|---|---|
| 2a | Overview · Documents · Dependents · Assets | Master record + identity + IT kit |
| 2b | Qualifications · Certifications · Experience · Skills · Languages · Training | Capability for job team-allocation |
| 2c | Visa · License · Insurance · Accommodation · Tickets | Expat operational tracking |
| 2d | Bank · Compensation · Salary History · EOSB | Pay + IAS 19 liability |
| 2e | Leave | Per-employee leave balances + history + apply form |
| 2f | Onboarding · Offboarding · Appraisals · Disciplinary · Exit Interview · Final Settlement | Lifecycle from joining to leaving |
Reference pages
If you're new: Wave 2a Employee master → Wave 2d Compensation → Wave 2e Leave → Wave 2f Lifecycle. That gives you 80% of daily HR mechanics. The other waves layer on capability + expat detail.