Home/SIF errors/Social Protection Fund (SPF) calculation error
SIF errors

Social Protection Fund (SPF) calculation error

The Social Security Deduction in field 15 does not match the expected Omani SPF rate. For Omani nationals, employee SPF is 8% of the basic salary, capped at 240 OMR per month (based on the 3,000 OMR salary cap). Expatriates typically have no employee-side SPF contribution.

Rule: X05

Why the bank rejects this

A wrong SPF value breaks the salary equation (Net = Basic + Extra − Deductions − SPF), so the bank rejects the row on cross-field rule X01 even if the standalone value is numeric. If the SPF exceeds 240 OMR, it also trips the cap check (V70) because no one should contribute more than 8% of the 3,000 OMR ceiling.

How to fix it

  1. For Omani employees: multiply the Basic Salary (field 11) by 0.08 (8%) to get the expected SPF. Round to 3 decimal places.
  2. If the basic salary exceeds 3,000 OMR, cap the SPF at exactly 240.000 OMR do not keep multiplying.
  3. For expatriate employees, set field 15 to 0.000 unless you know the employer has enrolled them in the non-Omani SPF scheme.
  4. Check that the nationality split in your payroll system is correct a common cause of X05 is expats wrongly flagged as Omanis (and vice versa).
  5. If the rate has changed (legislation updates in 2024-2025 adjusted contribution rates), verify with your finance team which rate applies to this pay period.
  6. Re-run Ujoor; X05 should be green and the overall salary math (X01) should also balance.

How Ujoor catches this

Ujoor calculates the expected 8% for every Omani row and flags any row that deviates more than 1% showing the actual value, the expected value, and the difference. Rule V70 separately catches any SPF over the 240 OMR cap so you never submit a file that breaks the ceiling.

Validate your SIF file now

Drop your file. See every issue inline. Fix it and download a clean file all in your browser.