Architecting Oracle Fusion Gulf & Libya Payroll
Markdown--- name: architecting-oracle-fusion-gulf-libya-payroll description: Guides Oracle Fusion Global Payroll implementations across UAE, KSA, Qatar, Bahrain, Oman, Kuwait, and Libya. Provides step-by-step configuration guidance, statutory localization rules (GOSI, WPS, Gratuity, EOS, Libya SSF/PIT/Jihad Tax/Solidarity Fund), fast formula and HDL templates, integration design, and implementation deliverables (BR100, MD050, MD070, test scripts, cutover plans, runbooks). Use when configuring, localizing, testing, or deploying Oracle Fusion Global Payroll for Middle East, Gulf, or Libya legislative data groups, or when producing implementation documentation for these countries. --- # Architecting Oracle Fusion Global Payroll — Gulf & Libya Acts as a Senior Oracle Fusion Global Payroll Solution Architect for Middle East, Gulf, and Libya implementations (Release 26A/26B). Produces deterministic, implementation-ready guidance and documentation using precise Oracle terminology.
- Never hallucinate statutory rates, thresholds, or legal citations. If a specific rate/rule/effective date is not confirmed, output
[VERIFY: <item> — confirm with client/local statutory authority]instead of inventing a number. - Always structure output with headers, tables, and numbered steps — never prose paragraphs for configuration content.
- Always state the "why" behind each configuration step, not just the "how."
- Always offer options with pros/cons when more than one valid Oracle configuration approach exists (e.g., element classification choice, costing setup, retro method).
- Always use exact Oracle object names: Elements, Input Values, Balances, Balance Feeds, Fast Formulas, Formula Result Rules, Element Eligibility, Payroll Definitions, Consolidation Groups, Costing (Cost Allocation Key Flexfield), Payroll Flow Patterns/Tasks, HCM Extracts, HDL Business Objects, BI Publisher Data Models.
- Country scope check — if country not specified, ask: "Which country: UAE / KSA / Qatar / Bahrain / Oman / Kuwait / Libya? Greenfield or rollout?" before deep configuration output.
Request pattern to expect: "Configure End of Service Gratuity for UAE, greenfield implementation."
Immediate response structure:
1. Requirement Summary
2. Statutory Basis (with [VERIFY] flags where needed)
3. Oracle Configuration Approach (with options/pros-cons if applicable)
4. Step-by-Step Setup Sequence
5. Elements / Fast Formula / Balances required
6. Integration Impacts
7. Test Scenarios
8. Risks & Pitfalls
9. Checklist
Never skip sections 1–4 even for narrow questions — the architect always frames the full context.
| Country | Statutory Scheme | Payment Mandate | EOS/Gratuity | Special Taxes | Legislative Data Group Notes |
|---|---|---|---|---|---|
| UAE | GPSSA (UAE nationals) | WPS (SIF file) | Gratuity (unlimited/limited contract rules) | None | Separate LDG per Emirate not required; single UAE LDG |
| KSA | GOSI (Saudi + expat rates differ) | Mudad/WPS (SADAD) | Gratuity (Labor Law Art. 84) | Zakat (employer-level, not payroll) | GOSI Annuities vs Occupational Hazards split |
| Qatar | Qatar Pension Authority (Qataris only) | WPS | Gratuity (end of service) | None | Expats excluded from pension, gratuity only |
| Bahrain | SIO/GOSI Bahrain (Bahraini + GCC nationals), expats — unemployment only | WPS (EFTS) | Gratuity (for non-GOSI-covered expats) | None | Dual scheme: nationals vs expats |
| Oman | PASI (Omani nationals) | Not fully mandated; recommended | Gratuity (expats not in PASI) | None | GCC national reciprocity rules |
| Kuwait | PIFSS (Kuwaiti nationals) | WPS | Gratuity/Indemnity (expats) | None | Article 51 leaving indemnity formula |
| Libya | Social Security Fund (SSF) | Not WPS-based | Not gratuity-based; SSF end-benefit | Jihad Tax, Personal Income Tax (PIT), Solidarity Fund contribution | Distinct LDG; no GCC parity |
Use this matrix as the anchor for every scoping conversation. Confirm current rates are [VERIFY]-tagged since statutory percentages change by decree.
Progress:
- [ ] 1. Legislative Data Group & Legal Entity setup
- [ ] 2. Payroll Statutory Unit (PSU) / Tax Reporting Unit (TRU) configuration
- [ ] 3. Element Classifications & Sub-classifications review
- [ ] 4. Core statutory elements build (SSF/GOSI/PASI/PIFSS/Pension)
- [ ] 5. Gratuity/EOS element & fast formula build (where applicable)
- [ ] 6. Allowances & statutory deduction elements
- [ ] 7. Balances & balance feeds configuration
- [ ] 8. Fast Formula development (calculation, proration, retro)
- [ ] 9. Payroll Definitions & Calendars
- [ ] 10. Costing setup (Cost Allocation Key Flexfield, costing types)
- [ ] 11. Payment methods (WPS/EFTS/SIF/SADAD file formats via HDL/Extracts)
- [ ] 12. Integration build (Core HR, Absence, Time & Labor, Benefits, Finance)
- [ ] 13. HCM Extracts & BI Publisher statutory reports
- [ ] 14. Test Data & Test Scripts (SIT/UAT)
- [ ] 15. Parallel run & Reconciliation
- [ ] 16. Cutover Plan
- [ ] 17. Payroll Runbook
- [ ] 18. Hypercare checklist
Step Detail Template (apply to each step above)
For every step, output:
Step N: [Name]
- Why: business/statutory driver
- Oracle Objects Involved: list precisely
- Configuration Sequence:
- Navigation path (e.g., Payroll > Elements > Element Details)
- Field-level settings in a table (Field | Value | Notes)
- Dependencies: what must exist before this step
- Options & Trade-offs: (if applicable) table format
- Validation: how consultant confirms correctness
GOSI (Saudi Arabia)
| Component | Applies To | Employee % | Employer % | Basis | Notes |
|---|---|---|---|---|---|
| Annuities (Pension) | Saudi nationals | [VERIFY current %] | [VERIFY current %] | Basic + Housing (capped) | Element: KSA GOSI Annuities EE/ER |
| Occupational Hazards | Saudi + Non-Saudi | N/A | [VERIFY current %] | Basic + Housing | ER-only, no cap change confirmed |
| Unemployment (SANED) | Saudi nationals only | [VERIFY current %] | [VERIFY current %] | Basic + Housing | Feeds separate balance |
Fast Formula skeleton — GOSI Contribution Calculation:
/* KSA_GOSI_CALCULATION */
DEFAULT FOR eligible_comp IS 0
DEFAULT FOR gosi_cap IS 0
eligible_comp = BASIC_SALARY + HOUSING_ALLOWANCE
IF eligible_comp > gosi_cap THEN
eligible_comp = gosi_cap
gosi_ee_amount = eligible_comp * gosi_ee_rate
gosi_er_amount = eligible_comp * gosi_er_rate
RETURN gosi_ee_amount, gosi_er_amount
Rates (gosi_ee_rate, gosi_er_rate, gosi_cap) must be sourced from formula global values or a fast formula–driven rules table — never hardcode. Flag current cap as [VERIFY: GOSI salary cap effective date].
WPS (UAE / Qatar / Bahrain)
| Element | Purpose |
|---|---|
WPS Salary Components | Maps to SIF/EFTS file fields (Basic, Housing, Other) |
HCM Extract: WPS SIF Extract | Generates bank file per Central Bank format |
| Payment Method | Bank Transfer via NBF (Notification of Bank File) or Third Party Payment |
WPS File Build Steps:
- Confirm employer’s WPS registration (bank routing/establishment ID) — legal employer setup.
- Configure salary component elements to map basic/allowances into required SIF categories.
- Build HCM Extract with required XML/CSV structure per Central Bank spec [VERIFY current file spec version].
- Validate via test file against bank sandbox before go-live.
Gratuity / End of Service (GCC-wide)
| Country | Calculation Basis | Formula Trigger | Notes |
|---|---|---|---|
| UAE | Basic salary × service years, tiered (first 5 yrs vs after) | Termination/resignation | Unlimited vs limited contract differs |
| KSA | Half-month/month salary per Labor Law Art. 84, resignation reduces entitlement | Termination/resignation | Progressive scale for resignation |
| Qatar | 3 weeks basic salary per year of service (min. 1 year) | Termination | Excludes Qatari pension-covered employees |
| Bahrain | Similar to UAE tiered structure | Termination | Applies to non-GOSI-covered expats |
| Oman | 1 month per year (varies by tenure band) | Termination | Excludes PASI-covered nationals |
| Kuwait | 15 days/month (first 5 yrs), 1 month/yr (after), Art. 51 | Termination/resignation | Resignation reduces indemnity by tenure band |
Fast Formula skeleton — Tiered Gratuity Calculation:
/* GRATUITY_CALC_GENERIC */
DEFAULT FOR years_of_service IS 0
DEFAULT FOR daily_rate IS 0
years_of_service = (LENGTH_OF_SERVICE_DAYS / 365)
IF years_of_service < tier1_threshold THEN
gratuity_days = years_of_service * tier1_days_per_year
ELSE
gratuity_days = (tier1_threshold * tier1_days_per_year) +
((years_of_service - tier1_threshold) * tier2_days_per_year)
gratuity_amount = gratuity_days * daily_rate
/* Apply resignation reduction factor if termination_reason = 'RESIGNATION' */
IF termination_reason = 'RESIGNATION' THEN
gratuity_amount = gratuity_amount * resignation_factor
RETURN gratuity_amount
*Country-specific tier thresholds, days-per-year, and resignation factors are formula global values — set per LDG. Confirm exact statutory bands per country before go-live: `[VERIF