Skip to Content

Saudi Arabia WPS Payroll (SAMA, GOSI, EOSB)

140.70 140.70

Instant digital delivery after payment confirmation.
License: OPL-1, every download is watermarked.
Terms and Conditions

Saudi Arabia WPS Payroll Module for Odoo 18 & 19

SAMA-compliant SIF generation, GOSI computation, and EOSB accrual + settlement — all in one module.

نظام حماية الأجور (WPS) لأودو — الرواتب والتأمينات (GOSI) ومكافأة نهاية الخدمة (EOSB)

تُنشئ هذه الوحدة ملف معلومات الرواتب (SIF) المتوافق مع مؤسسة النقد العربي السعودي (ساما) مباشرةً من قسائم الرواتب في أودو، بصيغتي بنك الراجحي والبنك الأهلي السعودي (SNB) مع دعم تجريبي لعدد من البنوك الأخرى. كما تحتسب اشتراكات التأمينات الاجتماعية (GOSI) وفق معدلات عام 2026 (بما في ذلك ساند)، وتُجري استحقاق مكافأة نهاية الخدمة شهريًا وتسويتها عند انتهاء الخدمة وفق المواد 84–87 من نظام العمل السعودي.

  • توليد ملف SIF لبنك الراجحي والبنك الأهلي (صيغة XML) مع مسار CSV عام لبقية البنوك.
  • احتساب GOSI للسعوديين ومواطني دول الخليج (9.75% موظف + 11.75% صاحب عمل) وللمقيمين (2% صاحب عمل فقط) مع سقف 45,000 ريال للأجر الخاضع.
  • استحقاق مكافأة نهاية الخدمة شهريًا ومعالج تسوية يحسب المستحق حسب سبب انتهاء الخدمة.
  • التحقق من الآيبان السعودي (mod-97)، وفرض عملة الريال السعودي، ومطابقة إجمالي الدفعة.
  • واجهة وتقارير ثنائية اللغة (عربي / إنجليزي) وفق المصطلحات الرسمية.

تنويه (BYOK): تُنشئ هذه الوحدة الملف فقط ولا تتصل بأي بنك أو بساما أو بالتأمينات نيابةً عنك، ولسنا مزوّد خدمة معتمدًا. أنت صاحب العلاقة النظامية وترفع الملف عبر بوابة البنك الخاصة بك.

What is WPS?

Saudi Arabia's Wage Protection System (WPS) is mandated by the Ministry of Human Resources and Social Development since 2013 and was fully expanded in 2020. Employers must pay employee salaries through SAMA-supervised banks via a standardized SIF (Salary Information File) submitted monthly. This Odoo module integrates cleanly with hr.payroll to generate compliant SIF files directly from payslips.

Banks Supported

Bank SAMA Code Format Status
Al Rajhi Bank80XMLSUPPORTED
Saudi National Bank (SNB)10XMLSUPPORTED
Riyad Bank20Pipe-delimitedBETA
Alinma Bank55XMLBETA
Bank AlBilad15CSVBETA
Arab National Bank (ANB)30XMLBETA
Bank AlJazira60CSVBETA
5 more SAMA banksGeneric SAMA CSVFALLBACK
Validate before upload: bank file layouts evolve and are not all publicly standardised. Always validate the generated SIF against your bank's live corporate portal (or the Mudad / generic SAMA CSV path) before relying on it for production payroll. We welcome bug reports and per-bank tuning patches.
You submit through your own bank access (BYOK). This module generates the SIF/CSV file only — it does not connect to any bank, SAMA, GOSI or Mudad on your behalf and is not a payment integrator. You upload the file through your existing corporate-banking or Mudad access, exactly as you would today.

GOSI Calculation (General Organization for Social Insurance) — 2026 rates

Saudi & GCC Nationals

9.75% employee + 11.75% employer on subject wage (basic + housing) for the existing scheme: pension 9% + SANED 0.75% (employee), plus 2% Occupational Hazards (employer). New-scheme workers (registered on/after 3 Jul 2024) use the phased pension rate — 10%/10% for Jul–Dec 2026 → 10.75%/12.75% total.

Expatriates

2% employer-only (Occupational Hazards branch), no employee deduction.

Cap & Subject Wage

SAR 45,000 cap on contribution base. Subject wage = basic + housing allowance only.

EOSB Accrual + Settlement

The module accrues End of Service Benefits (EOSB) monthly via a cron job, computing the tier-based amount per Saudi Labor Law Articles 84-87:

  • Years 1-5: 0.5 month of last basic salary per year
  • Years 6+: 1.0 month of last basic salary per year

On termination, the EOSB Settlement Wizard computes the final payout based on reason:

ReasonTenureMultiplier
Resignation< 2 years0%
Resignation2-5 years1/3
Resignation5-10 years2/3
Resignation≥ 10 years100%
Dismissal for cause (Art. 80)Any0%
Redundancy / End of contract / Retirement / Death / DisabilityAny100%

How to Set Up

  1. Install the module from the Odoo Apps store.
  2. Go to Employees → Configuration → Banks and mark your payroll bank as WPS-supported with the correct SIF format.
  3. On each employee form, set the Saudi IBAN, nationality (Saudi / GCC / Expat / Other), and GOSI number.
  4. Run your monthly payroll as usual (Payroll → Payslip Batches).
  5. Click the Generate WPS Batch button on the payslip run, fill in the wizard, and download the SIF file for upload to your bank's portal.

Compliance & Validation

  • Pure-Python IBAN mod-97 validator — Saudi IBAN must start with SA, be exactly 24 characters, and pass the ISO 13616-1 checksum.
  • SAR-only currency enforcement (SIF rejects non-SAR submissions).
  • Total reconciliation: sum of batch line nets must equal the payroll run total ± SAR 0.01.
  • Per-employee WPS opt-out for probationary or off-cycle employees.
  • Audit trail via mail.thread on every batch.

Bilingual AR / EN

All UI labels, model fields, error messages, and reports are translated to Arabic following ZATCA-official HR terminology (الراتب الأساسي, البدلات, مكافأة نهاية الخدمة, etc.). Bilingual PDF cover sheets (Arabic and English side-by-side) are generated for HR review before bank-portal upload.

FAQ

Does this submit to the bank automatically?

No. WPS bank portals don't expose a universal API, so the module generates the SIF file ready for manual upload via each bank's web portal. Some banks offer OAuth APIs separately — we may add native integration in a future release.

Does it submit to GOSI directly?

No. GOSI is a separate authority with its own portal. This module computes the GOSI contributions on each payslip and can produce a standard CSV export for manual upload.

What about Nitaqat (Saudization) reporting?

Out of scope for v1.0 — Nitaqat is a separate compliance domain.

Compatible with Odoo 18 and 19?

Yes — both branches are maintained.

Roadmap

  • v1.1: Bank API integration (OAuth submissions for banks that support it)
  • v1.2: GOSI portal CSV export with full field validation
  • v1.3: Mol/Nitaqat reporting module (separate)
  • v1.4: Additional BETA bank format hardening based on field reports

Support

Issues, bank-format reports, and feature requests welcome at pokutsoft.com. License: OPL-1 (Odoo Proprietary License v1).

Screenshots

Wps Batch Lines Payments

Wps Batch Lines Payments

Eosb Accrual Detail Form

Eosb Accrual Detail Form

Eosb Accruals List

Eosb Accruals List

Update date: 2026-07-09 · تاريخ التحديث: 2026-07-09