0%
SUN-THU: 9:00AM - 06:00PM (AST)
Skip to content
HR & Payroll

Setting up GOSI and WPS payroll in an ERP: a practical guide

Saudi payroll is a compliance process wrapped in an HR process. This guide walks through the configuration decisions that make GOSI contributions, the WPS file and end-of-service come out right from the system rather than from a spreadsheet next to it.

What has to be true before the first payroll run

Three things decide whether payroll from an ERP is trustworthy: the salary structure splits basic and allowances the way GOSI and end-of-service rules expect; every employee record carries the nationality, GOSI number, iqama or national ID, bank account and contract dates the calculations and the WPS file depend on; and the first three runs are reconciled against the payroll you actually paid. Skip any of these and the system produces confident, wrong numbers.

The guide below applies to Zoho People and Payroll, Odoo HR and Payroll and ERPNext HRMS; the screens differ, the decisions do not. Contribution rates and thresholds change, so treat the rules here as the structure and confirm current figures with GOSI and your advisers.

1. Design the salary structure

Define components explicitly: basic salary, housing allowance, transport allowance, other allowances, overtime, deductions and loans. GOSI contributions are calculated on the components the regulations include, typically basic plus housing within the applicable ceiling, so components must be flagged as contributory or not. End-of-service is calculated on the wage as defined by the Labour Law, which again depends on how components are classified. Decide these classifications with your advisers once, and configure them once.

2. Complete the employee master

Every calculation reads from the employee record: nationality drives the GOSI rule set; the GOSI subscription number, national ID or iqama number and bank IBAN go into the WPS file; contract start date drives end-of-service; the contract type affects termination calculations. Import employees from the previous system or spreadsheet, then validate: no missing IBANs, no expired iqamas, no employees without a nationality. The system should refuse to run payroll for an incomplete record rather than skip it.

3. Configure GOSI rules

Configure separate rule sets for Saudi and non-Saudi employees, with employee and employer shares, the contributory base and the ceiling, effective-dated so rate changes can be entered in advance. If the recent reforms for new entrants apply to any of your staff, model them as their own rule set with the dates that apply. Test with one employee of each type against a manual calculation before running the company.

4. Generate the WPS file

Each bank accepts a specific file layout for the Wage Protection System. Configure the layout for your bank, map the fields from the payroll result, and run a test file for a handful of employees through the bank's validation before month-end. Include every employee the regulations require, with the correct salary, deductions and days worked. Keep generated files with the payroll run so the audit trail is complete.

5. Accrue end-of-service

Configure the accrual according to the Labour Law schedule, half a month's wage per year for the first five years and a full month per year thereafter, with the reductions that apply on resignation by length of service, and post the accrual monthly so the liability is on the balance sheet rather than discovered on exit. Confirm the treatment of unpaid leave and partial years with your advisers.

6. Reconcile before you rely on it

CheckWhat to compare
Gross per employeeSystem versus last manual payroll, line by line
GOSI employee and employerSystem versus GOSI portal statement
WPS totalFile total versus bank payment
End-of-service balanceSystem accrual versus previous schedule
HeadcountEmployees paid versus active records

Run the new system in parallel for one payroll, reconcile every line, and only then switch. Differences are usually component classification or a missing employee field, both cheap to fix before go-live and expensive after.

Questions before you book

Typically basic salary and housing allowance within the applicable ceiling; classification is configured per component and confirmed with your advisers.

Yes, an employer-paid occupational hazards contribution; the rate set is configured separately from the Saudi rule set.

Layouts differ by bank; the system is configured for yours and tested through the bank's validation.

Per the Labour Law schedule based on years of service and wage, with resignation reductions; the system accrues it monthly.

Two to four weeks including a parallel run.

Want this done on your system?

Tell us what you run today and we will say what it takes.

Book a free consultation

A 30-minute call, no obligation. We will tell you if we are not the right fit.

We use your details only to answer this enquiry. No lists, no resale.