The Wages Protection System (WPS) is mandatory for all private sector employers in the UAE. It requires salary payments through an approved financial institution and reporting to the Ministry of Human Resources via a standardised SIF file. This guide explains how to configure Odoo Payroll to generate a WPS-compliant SIF file every month.
What is WPS and Why Does It Matter?
WPS is a UAE government initiative ensuring employees receive salaries on time and in full. Non-compliance can result in fines, business licence suspension, and inability to obtain new work permits. Every UAE private sector company with one or more employees must comply. The SIF (Salary Information File) is submitted to the Ministry on your behalf when you process payroll through your bank.
Step 1: Install the UAE Payroll Localisation
In Odoo, install l10n_ae_hr_payroll (UAE Payroll module). This adds UAE-specific salary rules including basic salary, housing allowance, transport allowance, other allowances, end of service (gratuity) accrual, and social security for UAE national employees.
Step 2: Set Up Your WPS Bank Details
Go to Settings → Companies → Your Company and enter your Agent ID (the code assigned by your bank for WPS), your bank routing code, and your company bank account number in IBAN format.
Step 3: Configure Employee Bank Accounts
Every employee must have their UAE bank account recorded in Odoo under the Private Information tab. Required: bank name and routing code, IBAN account number, and account holder name exactly matching the bank account. Name mismatches between Odoo and the bank will cause WPS rejections — a common issue where the Emirates ID name differs from the bank account name.
Step 4: Define Salary Structures
Create salary structures for each employee category. A typical UAE salary structure: Basic Salary (as stated in the employment contract), Housing Allowance (typically 25-30% of basic), Transport Allowance, and any additional allowances. The WPS SIF file reports Basic Salary and Gross Salary separately — clearly separate basic salary from allowances.
Step 5: Set Up Gratuity Accrual
UAE Labour Law requires gratuity accrual for all employees who have completed one year of service. The standard formula: 21 days of basic salary per year for the first 5 years, 30 days per year after 5 years. Configure Odoo Payroll to accrue gratuity monthly — this creates a liability on your balance sheet accurately reflecting what you owe employees if they leave.
Step 6: Run Payroll and Generate the SIF File
- Go to Payroll → Payslip Batches and create a batch for the month
- Generate and confirm payslips for all employees
- Go to Export → WPS SIF File
- Download the SIF file and upload through your bank portal
Common WPS Errors
| Error | Cause | Fix |
|---|---|---|
| Invalid IBAN | Account not in IBAN format | Get correct IBAN from employee bank statement |
| Name mismatch | Name differs from bank account | Update to match bank records exactly |
| Rejected by Ministry | Late submission after 10th of month | Process payroll by 5th to allow bank processing |
Rubicon sets up UAE-compliant payroll as part of every implementation. Contact us for a free consultation.