Saudi payroll inside Odoo: GOSI, end of service and the Mudad WPS file computed from the same employee record your accounting uses.

Saudi payroll means two GOSI schemes depending on registration date, a wages file that Mudad must accept within 30 days, end of service liabilities that rarely appear on the balance sheet, and an accountant re-keying the journal every month. Odoo Payroll computes payslips from contracts, attendance and leave and posts them to accounting, and Naqlah, Odoo partner in Saudi Arabia, configures the Saudi rule set and the WPS export for your bank.
Salary rules follow the GOSI contribution tables and labor law parameters, including the contributory wage of basic plus housing with its cap, overtime at the hourly wage plus half the basic rate, and the reduced Ramadan working day, and Naqlah maintains them as the annual July scheme steps change. Payslips print in Arabic and English, the wages file matches the layout your SAMA licensed bank expects, and the contract salary stays consistent with what is documented on Qiwa. Where a client prefers to keep Jisr or ZenHR, Naqlah syncs employees and journal entries into Odoo instead, as listed on the integrations page.
GOSI by registration date
Each Saudi employee's contribution rate depends on whether they were first registered before or after 3 July 2024, and the new scheme steps up every July. Odoo applies the right rate per employee, so a new hire is never calculated on the old table.
Mudad ready wages file
The WPS file is exported from the pay run in the format your bank uploads to Mudad, inside the 30 day window. Finance no longer retypes salaries into a bank template every month.
End of service on the balance sheet
The provision is booked monthly per employee at half a month per year for the first five years and a full month after, and the settlement on exit applies the resignation fractions the law sets.
1. Inputs collected
Approved leave, overtime from the biometric attendance devices, expense reimbursements and sales commissions arrive on the payslip as inputs without HR emailing finance.
2. Payslips computed and reviewed
Odoo calculates gross, GOSI employee and employer shares, deductions and net per employee, and HR reviews exceptions before validation.
3. WPS file exported and salaries paid
The wages file is generated in your bank's layout, uploaded through the bank and Mudad, and salaries land before the 10th of the following month.
4. Journal posted and GOSI filed
The payroll entry posts to Odoo Accounting by branch or cost center, the end of service provision updates, and the GOSI contribution report is ready for the portal.
Timelines depend on headcount, number of entities and the state of current records, and Naqlah gives you a clear roadmap in the first consultation.
| Area | Before | With Odoo via Naqlah |
|---|---|---|
| GOSI | Rates typed into Excel, old scheme applied to new hires | Computed per employee by nationality and registration scheme |
| WPS | Bank template retyped every month | Wages file generated from the pay run in the bank layout |
| End of service | Unknown liability until someone resigns | Accrued monthly, settlement computed by exit reason |
| Inputs | HR emails leave and overtime to finance | Leave and attendance flow into the payslip |
| Journals | Re-keyed by the accountant after payday | Posted automatically per branch and cost center |
| Multiple CRs | Separate files and separate processes | Separate companies in one system with one process |
Everything else, we cover in a free 30-minute consultation.
Free consultation. Meet the team and get a clear roadmap in one call.