Payroll is where small errors become expensive: late WPS files, wrong gratuity accruals, leave balances nobody trusts. Odoo Payroll with the UAE localisation handles the core of UAE payroll in the same system as HR, timesheets and accounting. Here is how to set it up properly.
- Split basic salary and allowances correctly: gratuity is based on basic.
- Generate the WPS SIF file from the confirmed payslip batch, not a spreadsheet.
- Gratuity: 21 days per year for the first 5 years, 30 days after, capped at 2 years' wages.
- Accrue gratuity monthly so the liability is always on the balance sheet.
1. Salary structures
Most UAE packages split into basic salary and allowances (housing, transport, other). The split matters because gratuity is calculated on basic salary. In Odoo, each contract holds the wage and allowances, and a salary structure defines how gross, deductions and net are computed.
2. WPS and the SIF file
The Wage Protection System requires salaries for in-scope employees to be paid through approved channels, with a Salary Information File (SIF) submitted via your bank or exchange house. Odoo can generate the SIF from the payslip batch, so the file always matches what payroll calculated.
- Keep each employee's labour card / personal ID number and bank details current in the employee record.
- Generate the SIF from the confirmed payslip batch, never from a separate spreadsheet.
- Reconcile the bank transfer to the payroll journal entry each month.
Is your payroll WPS- and gratuity-proof?
A short review of your salary structures, WPS process and gratuity provision.
Book a payroll review3. End-of-service gratuity
Under Federal Decree-Law No. 33 of 2021, a full-time employee who completes at least one year of continuous service is entitled to end-of-service gratuity based on basic salary:
| Years of service | Gratuity |
|---|---|
| Less than 1 year | None |
| First 5 years | 21 days' basic salary for each year |
| Beyond 5 years | 30 days' basic salary for each additional year |
| Cap | Total may not exceed two years' wages |
Two practical points: accrue gratuity monthly as a provision so the balance sheet reflects the real liability, and recalculate the provision when basic salary changes. Check special cases (part-time, unpaid leave, alternative end-of-service schemes) with your adviser.
4. Leave and attendance
- Configure annual leave entitlements, sick leave and public holidays per policy.
- Use time-off allocations so balances are visible to employees and managers.
- Connect attendance (biometric devices or the Odoo kiosk) so overtime and absence feed payroll automatically.
5. Overtime
Define overtime rules in the salary structure and feed hours from attendance or timesheets. For site labour, record hours per project so labour cost also reaches project costing.
6. Accounting integration
Each payslip batch posts one journal entry: salary expense by department or project, gratuity and leave provisions, deductions and net payable. No re-keying between HR and finance.
Common mistakes
- Gratuity calculated on gross instead of basic salary
- No monthly gratuity provision, so the liability appears only when someone leaves
- WPS files built outside payroll and not matching payslips
- Leave balances kept in a spreadsheet instead of the system
Running KSA staff as well? Odoo handles GOSI and Saudi end-of-service in a separate company in the same database. Moving from another system? See migrating from Tally to Odoo.
Frequently asked questions
Can Odoo generate the WPS SIF file?
Yes. With the UAE payroll localisation, Odoo can generate the SIF from the confirmed payslip batch for submission through your bank or exchange house.
How is gratuity calculated in the UAE?
For full-time employees with at least one year of service: 21 days' basic salary per year for the first five years and 30 days per year after that, capped at two years' wages, under Federal Decree-Law No. 33 of 2021.
Is gratuity based on basic or gross salary?
Basic salary. That is why the split between basic and allowances in each contract matters.
Does Odoo Payroll need Enterprise?
Odoo Payroll is part of Odoo Enterprise. We help clients choose the right edition for their needs.
Talk to C2P about your Odoo project
We implement Odoo for growing businesses in the UAE, Saudi Arabia, Oman and Pakistan, with VAT, e-invoicing, ZATCA and payroll built in. Fixed price, standard Odoo first.
Book a discovery call WhatsApp us