WPS and Mudad in Plain Terms
The Wage Protection System (WPS) is the Ministry of Human Resources and Social Development's way of checking that private sector employees in Saudi Arabia are paid what their contracts say, in full and on time, through the banking system. Each month an establishment submits a wage file showing what was paid to each employee. That file is then compared with data the government already holds: registered contracts, social insurance records and employee status.
Mudad is the digital platform many establishments use to manage payroll and submit those wage files. It makes submission easier, but it cannot fix the data you give it. If the basic wage in payroll differs from the one registered with GOSI, if an IBAN is wrong, or if someone whose contract ended last month still appears on the file, the mismatch will surface whichever way you upload.
So WPS compliance is really a data discipline problem that shows up at upload time. It depends on clean employee records, a predictable monthly payroll cycle, and payroll that is connected to attendance, leave and the bank. That is the case for running payroll inside an integrated ERP rather than in a spreadsheet that feeds a portal.
Deadlines and Alerts You Need to Know
In February 2025 the Ministry announced that the window for uploading the wage protection file would shrink from 60 days to 30, effective 1 March 2025. For a company that gathers attendance by email from several sites, that change alone removed most of its safety margin.
Reporting in August 2025 described how Mudad issues violation alerts, including when:
- a basic wage looks illogical compared with the other data recorded for the employee;
- deductions exceed 50% of the wage;
- the file is late, with reminders at the due date, ten days later and on day 15, and a possible inspection request if no file arrives within about 20 days.
The published reports did not give an exact effective date for these alerts. The direction is clear, though: monitoring is automated and driven by data comparison. In practice, aim to submit right after salaries are paid rather than near the end of the window.
Where WPS Problems Actually Come From
In our experience with mid-sized companies, very few WPS issues are deliberate late payments. Most come from recurring data problems:
| Symptom | Typical cause | How an ERP prevents it |
|---|---|---|
| Wage in file differs from GOSI | Salary changed in payroll but not in insurance records | One source of wage data feeding payroll and GOSI reports |
| Bank rejects a transfer | Wrong IBAN or closed account | IBAN format checks at entry and a rejected-payment report |
| Inactive employee paid | Termination never reached payroll | Termination workflow stops salary and calculates final dues |
| Active employee with zero pay | Unpaid leave or absence not documented | Leave and attendance linked to payroll with a reason for every zero |
| High deductions | Several loan instalments and penalties in one month | Scheduled loan recovery and an alert near the limit |
| Late upload | Waiting for branch data | Central payroll for all branches in one system |
The Contract Is the Benchmark
Private sector employment contracts are registered on Qiwa, and the wage in the registered contract is what payments will ultimately be compared against. Payroll can be arithmetically perfect and still be wrong if it does not match the contract terms.
A common pattern: a manager approves a raise, payroll applies it, and the registered contract stays on the old wage. Or the contract is amended and payroll catches up two months later. The control is simple. No wage change is approved in the system without an effective date and a reference to the contract amendment, and a monthly exception report lists anyone whose pay changed without one.
A Payroll Cycle That Holds Up
Sustainable compliance comes from a fixed monthly routine that does not depend on one person's memory:
- Close attendance and leave on a fixed date, including absences and approved overtime.
- Record changes such as new hires, terminations, promotions and allowance changes, each with an effective date.
- Run payroll: basic wage, allowances, overtime, deductions and GOSI.
- Review variances against the previous month and explain every large movement per employee.
- Approve through HR and then finance.
- Pay by bank file or direct transfer, and chase any rejections.
- Submit the WPS file once transfers have succeeded, and archive proof of submission.
Each step leaves a trail in the system: who approved, when, and what changed. That trail is exactly what you need when the Ministry, an auditor or an employee asks a question.
Who owns what
| Task | Owner | Suggested timing |
|---|---|---|
| Approve attendance and leave | Department and site managers | Last working day of the month |
| Record hires, exits and changes | HR | As they happen |
| Calculate and review payroll | Payroll | Days 1 and 2 |
| Financial approval | Finance manager | Day 3 |
| Transfer and handle rejections | Treasury | Day 4 |
| Submit WPS file | Payroll | Immediately after successful transfers |
GOSI: A Worked Example
Wage protection and social insurance are tied together. The contribution base is basic wage plus housing allowance, capped at SAR 45,000 a month. Rates depend on nationality and on when the employee first joined the system:
| Category | Employee share | Employer share |
|---|---|---|
| Saudi, registered before 3 July 2024 | 9.75% | 11.75% |
| Saudi new entrant from 3 July 2024 (rates from 1 July 2026) | 10.75% | 12.75% |
| Non-Saudi | None | 2% occupational hazards |
For new entrants under the new Social Insurance Law, the annuity rate rises by half a point on each side every 1 July until it reaches 11% in 2028. SANED stays at 0.75% each and occupational hazards at 2% for the employer.
Hypothetical example: a Saudi employee with a basic wage of SAR 8,000 and housing of SAR 2,000 has a contribution base of SAR 10,000. If registered before July 2024, SAR 975 is deducted and the employer pays SAR 1,175. If a new entrant, SAR 1,075 is deducted and the employer pays SAR 1,275 from 1 July 2026. A non-Saudi colleague on the same base has nothing deducted and costs the employer SAR 200. Two frequent errors: forgetting the SAR 45,000 cap for senior staff, and calculating contributions on gross pay including transport and other allowances. A properly configured payroll applies the right rate per employee automatically and updates new-entrant rates each July.
Overtime and Leave: Where Pay Goes Wrong
Saudi Labor Law pays an overtime hour at the hourly wage plus 50% of the basic wage, and allows paid compensatory leave instead, with the worker's consent. Suppose basic pay is SAR 6,000 and allowances SAR 2,000, so actual wage is SAR 8,000. On a 240-hour month, the hourly wage is about SAR 33.3 and half the basic hourly rate is SAR 12.5, giving roughly SAR 45.8 per overtime hour. Twenty hours comes to about SAR 917. Whatever method you use for the hourly rate, document it in policy and apply it uniformly in the system rather than leaving it to each supervisor.
Leave affects pay directly. Sick leave is paid in full for the first 30 days in a year, at 75% for the next 60 and unpaid for the final 30. Since the Labor Law amendments of February 2025, maternity leave is 12 weeks on full pay. If leave is not linked to payroll, someone entitled to 75% gets 100%, or the reverse, and both errors come back later.
End of Service and Final Settlement
When employment ends, all dues must be paid within the statutory time and the person must drop off the wage file. The end-of-service award is based on the last wage: half a month for each of the first five years and a full month for each year after that, with partial years prorated.
Hypothetical example: seven years of service and a last wage of SAR 12,000 give a full award of (5 × 6,000) + (2 × 12,000) = SAR 54,000. On resignation with between five and ten years of service, the employee receives two thirds, or SAR 36,000. Our article on end of service and leave under Saudi Labor Law covers the remaining cases. Calculating the award monthly in the system also builds a proper provision in the books, so a long-serving employee's resignation is not a cash surprise.
Multi-Site Employers
A contractor or facilities company with sites in Riyadh, Dammam and Jeddah, each sending attendance in its own format, faces the hardest version of the problem. Hypothetical example: 450 workers across four sites, with a 12-day cycle from month end to payment: five days collecting sheets, four days fixing them, three days calculating and approving. With attendance captured in one system, location checks at clock-in, and a direct link to payroll, the cycle falls to around four days. Those eight days are a large buffer against the 30-day WPS window, and labor cost lands on each project automatically because every hour is tied to a site.
Handling an Alert
- Identify whether the alert concerns the whole file or specific employees.
- Open each employee's record and check the last wage change, the registered contract, GOSI data and that month's attendance.
- Fix the cause at source, not just in the uploaded file, or the same alert returns next month.
- Keep the alert, the correction and the payment evidence together; the audit log shows who changed what and when.
- If the root cause was a late site or a missing approval step, adjust the monthly calendar.
Moving From Manual Payroll in Three Months
Month one: reconcile the data
Match every employee across three sources: the HR file, last month's payroll sheet and GOSI records. Any difference in basic wage or housing allowance has to be resolved before it goes into the new system. Migrate a mismatch and you have simply automated it.
Month two: run in parallel
Calculate payroll in both the old process and the new system and compare results employee by employee. The differences usually reveal undocumented rules, such as an allowance that was always prorated a certain way or a deduction that one supervisor applied by habit. Decide each rule explicitly and configure it.
Month three: go live
Make the new system the only source, publish the monthly calendar with dates and owners, and switch on reminders so each owner is prompted on the day their step is due.
Metrics to Watch Every Month
- Days between salary payment and WPS submission.
- Percentage of bank transfers rejected.
- Number of employees whose wage differs between payroll and GOSI.
- Iqamas and contracts expiring in the next 60 days.
- Manual adjustments made to payroll after calculation.
The last one is the most telling. When manual adjustments fall steadily, the rules in the system have caught up with how the business actually pays people, and compliance stops depending on heroics at month end.
What Your ERP Should Provide
- One employee master record: ID or iqama, contract, wage components, IBAN and hire date.
- Attendance and leave feeding payroll directly.
- Configurable rules for allowances, overtime, GOSI and deductions.
- Multi-level approval before any payment.
- Bank integration for direct salary transfer with status tracking.
- Document expiry alerts, because an expired iqama causes problems well beyond payroll.
- Variance reports month on month and between payroll and insurance data.
Tranquil's payroll management runs inside a full HR suite with employee management, time and attendance and employee self-service. Bank integration handles direct salary transfer, Muqeem integration covers iqama and visa data, and document expiry alerts flag iqamas and contracts before they lapse. Moving off spreadsheets? Our guide to payroll migration explains how to run the first months in parallel safely. To review your setup, contact the Tranquil team.
Frequently Asked Questions
What is the current deadline for uploading the WPS file?
30 days, down from 60, effective 1 March 2025 according to the Ministry's February 2025 announcement. The safest habit is to submit straight after salaries are paid.
Does WPS cover non-Saudi employees?
Yes. The programme covers private sector workers generally, and payment to every employee has to be shown through banking channels.
Why did we get an alert when we paid in full?
Usually because of a data mismatch: a basic wage that does not match the contract or GOSI record, or unusually high deductions in one month. Regular reconciliation between sources prevents most of these.
How should payroll handle GOSI rates for new entrants?
The system must distinguish employees registered before 3 July 2024 from new entrants, and the new-entrant annuity rate must be updated on 1 July each year until 2028.
What is the single most effective step to reduce WPS issues?
Keep wage data in one source that feeds payroll, insurance and reporting. Most issues start with one number that differs between two systems.

