Skip to main content
iVentureTeam
GCC Compliance

Odoo Payroll UAE WPS Guide: SIF File, Gratuity, Leave and Visa Expiry

Odoo payroll UAE WPS guide for Odoo 19 and 20: SIF file export, gratuity calculation, leave rules, visa expiry alerts and the 2026 salary deadline.

Siddharth JambukiyaSiddharth JambukiyaOdoo Techno-Functional Consultant
November 1, 202612 min read2 views
Odoo Payroll UAE WPS Guide: SIF File, Gratuity, Leave and Visa Expiry cover

Most guides stop at "Odoo supports WPS". This one names the modules, fields, formulas and gaps to test before your first salary run. Our Odoo customization services team builds the pieces the standard localization leaves out.

It is for HR managers, payroll officers and finance leads at UAE companies on Odoo 19 or 20. For the tax side of the same setup, see our guide to Odoo Middle East VAT and GCC compliance.

What does Odoo UAE payroll include in Odoo 19 and 20?

Odoo UAE payroll is two Enterprise modules that add UAE salary rules, the WPS export and payroll accounts. Odoo's UAE payroll localization documentation lists both.

ModuleTechnical nameWhat it adds
United Arab Emirates - Payrolll10n_ae_hr_payrollSalary rules, calculations and salary structures
United Arab Emirates - Payroll with Accountingl10n_ae_hr_payroll_accountAccounts linked to each payroll rule

Rules cover end of service, leave provisions, social insurance for UAE nationals, DEWS, sick and unpaid leave, and employer costs such as medical insurance and visas. Regular Pay runs the monthly cycle; Instant Pay handles bonuses, commissions and advances, which are recovered on the next payslip.

How do you set up employees and contracts for UAE payroll in Odoo?

Set the nationality, ID number and bank account on each employee, then the wage, allowances and leave days on the contract. Payslips and the WPS file read these fields directly.

  1. Install the modules: both payroll modules plus the UAE fiscal localization.
  2. Nationality: set it on every employee, UAE nationals included, as GCC citizens are handled differently.
  3. Identification number: fill the Identification No field; Odoo uses it as the employee identifier in the WPS report.
  4. Bank account: needed for the WPS file and payments.
  5. Contract wage: choose Fixed Wage or Hourly Wage and the amount.
  6. Allowances: Housing, Transportation and Other Allowance become payslip lines.
  7. Leave days: Number of Leave Days drives end of service and unpaid leave.
  8. Gratuity basis: tick Computed Based On Daily Salary only if you want a fixed daily rate instead of monthly basic divided by 30.

Confirm with your WPS agent which ID they expect in that field before you load data.

How does Odoo generate the WPS SIF file?

Odoo builds the WPS file from posted payslips through a payment report with the export format set to UAE WPS. You can export one payslip or a whole batch.

First, open Payroll, then Configuration, then Settings, and fill the Emirati Localization section:

  • Employer Unique ID: the company identifier in the WPS report.
  • Salaries Bank Account: held by the company, with a valid IBAN.
  • Routing code: the bank's Routing Code Agent must be 9 digits.
  • Send Money: enabled and set to Trusted.

Then generate the payslips, post the journal entry and create the payment report. The file comes out as .sif or .xlsx in the same layout.

RecordWhat it holdsHow many per file
EDR (Employee Detail Record)Each employee on the batchOne per employee
EVP (Employee Variable Pay)Variable pay from other inputs linked to salary rulesOnly when variable pay exists
SCR (Salary Control Record)Employer details and payslip totalsExactly one

Odoo says the format follows MoHRE guidelines and suits most WPS agents, including Emirates NBD, FAB and Dubai Islamic Bank. Variable pay comes from inputs such as OVERTIMEALLOW and LEAVEENCASH.

Why the 2026 WPS rules make the salary run date critical

Since 1 June 2026, UAE salaries are due through WPS on the first day of the following month, with no grace period. MoHRE Ministerial Resolution No. 340 of 2026 replaced the earlier 15-day window.

The UAE government portal says at least 85% of wages due must be transferred on time, then lists these steps:

Days after the due dateWhat happens
Day 2Notifications and alerts to the establishment
Day 5New work permits suspended, with a warning to pay
Day 11Administrative fine under Cabinet Resolution No. 21 of 2020
Day 16Labour disputes registered for affected workers
Day 21Payment orders or collective dispute procedures, by company size

So validate, post and export the pay run a few days before month end, working back from your bank's cut-off.

Which UAE payroll rules does Odoo cover out of the box?

UAE labour law vs Odoo: What Odoo covers out of the box

Odoo covers WPS export, gratuity, sick leave tiers and Emiratisation reporting as standard, while visa reminders and some policy choices need your own setup.

RequirementUAE ruleOdoo 19 and 20 standard
WPS fileSalaries paid through WPS by the 1stSIF or XLSX export with EDR, EVP, SCR
Gratuity21 days, then 30 days per yearEOS rule on departure, monthly provision
Annual leave30 days after one yearLeave days on contract, monthly provision
Sick leave90 days: 15 full, 30 half, 45 unpaidSingle Sick Time Off type with tiers
Visa expiryRenew before expiry to keep statusDates stored; reminder for work permits only
EmiratisationTrack Emirati share by skill levelEmiratisation Compliance Report in Employees

The Emiratisation report counts Emirati employees in job positions with a MoHRE skill level of 5 or below. Set the skill level on every job position, or the percentage will be wrong.

How does Odoo gratuity calculation work for UAE end of service?

Odoo calculates gratuity when you archive the employee with a departure reason, using monthly basic wage divided by 30 as the daily rate. It also books a monthly end of service provision from the first payslip.

UAE government guidance sets the rules to test against: no gratuity under one year, 21 days of basic wage for each of the first five years, 30 days for each later year, capped at two years' wage. Unpaid absence does not count.

Illustrative check, AED 10,000 basic and 7 years of service:

  1. Daily rate: 10,000 divided by 30 is AED 333.33.
  2. Years 1 to 5: 5 years times 21 days is 105 days, or AED 35,000.
  3. Years 6 and 7: 2 years times 30 days is 60 days, or AED 20,000.
  4. Total: AED 55,000, well under the two-year cap.

Odoo's documentation words the over-five-years case as 30 days for each year spent in the company. If your test returns AED 70,000, the rule is applying 30 days to all seven years and needs a fix.

The monthly provision is wage divided by 30, times 21 over 12 (or 30 over 12 after five years). It is internal and does not change net pay.

How does Odoo apply UAE leave rules for annual, sick and unpaid leave?

Odoo reads annual leave days from the contract, applies sick leave tiers automatically and deducts unpaid leave at gross salary divided by 30. Each rule has a policy choice you should confirm.

  • Annual leave: tick Is Annual Leave on the time off type. UAE law grants 30 days after one year, and 2 days a month from six months.
  • Leave provision: total salary times leave days, divided by 30 and by 12.
  • Leave balance on exit: at departure, Odoo pays positive remaining days and recovers negative ones on the final payslip.
  • Sick leave: 15 days full pay, 30 half pay and 45 unpaid, on one Sick Time Off type.
  • Unpaid leave: total unpaid days times gross per month, divided by 30.

Two checks matter. The UAE portal says carried-over leave is paid at basic salary, while Odoo's provision uses total salary. And UAE law gives no paid sick leave during probation, which Odoo does not apply by itself.

The law does not say whether sick days are working or calendar days, so write your choice into the policy.

How do you track visa and work permit expiry in Odoo?

Odoo stores visa and work permit numbers with expiry dates, and a daily job creates a to-do for work permits nearing expiry. Visa dates are not part of that reminder.

The Odoo employee setup documentation shows the Visa & work permit section: Visa No and Work Permit No, each with an expiry date, plus one document.

Work Permit Expiry Notice Period defaults to 60 days and Contract Expiry Notice Period to 7. The job assigns a to-do to the HR responsible, with the expiry date as the deadline.

For UAE companies that is not enough. We usually add:

  • Visa expiry alert: an automation rule on the visa expiry date, using the same notice period.
  • Extra documents: Emirates ID, passport and medical insurance expiry fields with their own alerts.
  • PRO dashboard: documents expiring in the next 30, 60 and 90 days.
  • Payroll link: a pay run warning when a permit has expired.

For the Saudi version of this problem, our Odoo Muqeem integration guide covers iqama and visa tracking.

What changes in Odoo 20 for UAE HR and payroll?

Odoo 20 removes work entries, merges time off types into one Time Type and adds a guided pay run, so Odoo 19 payroll setups need a careful upgrade test. Our Odoo 20 payroll release notes list all 15 changes.

  • Time Types: work entries are gone and time off types merged into Time Types, so custom code on them must be rewritten.
  • Guided pay runs: a Before You Start check lists issues first.
  • Dashboard warnings: missing bank accounts and contracts show as cards, which helps WPS readiness.
  • UAE rules: the 20.0 docs add a plane ticket allowance and a leave balance at departure.

New rollout? Compare Odoo 19 vs Odoo 20 first.

What does Odoo UAE payroll cost to license and set up?

The license cost is driven by how many employees you pay, because Odoo counts every active employee record without a full user as a Light User. Setup cost depends on headcount, policies and customization.

On Odoo pricing, a Light User is listed at US$8.90 a month in the US. Payroll officers and HR staff need full users: Standard is US$31.10 and Custom US$61.00 per user a month, billed yearly.

Illustrative: 200 site workers with no login add 200 Light Users.

Our published Odoo implementation cost ranges are small $3k to $9k (4 to 8 weeks), mid-size $9k to $27k (8 to 14 weeks) and large $27k to $150k+ (12 to 24 weeks). Data migration adds $1.2k to $9k.

Odoo UAE payroll by industry

The UAE localization is the same for every sector, but the cost drivers and the rules you test differ by industry. Typical patterns:

IndustryPain or cost driverOdoo approachHow iVentureTeam helps
Construction and contractingLarge site workforce, overtime, permitsOvertime inputs on WPS, permit alertsBulk import, site-wise pay runs
Trading and distributionMixed nationals and expats, commissionsInstant Pay for commissions, social insuranceCommission rules, accounting mapping
Hospitality and F&BShift work, high turnover, leave balancesLeave provisions, final settlement payslipsExit checklist, gratuity UAT
HealthcareLicenses and visas with many expiry datesVisa and permit dates on employeesExtra document alerts, PRO dashboard
DIFC-based firmsDEWS and multi-entity payrollDEWS rule, one database for entitiesEntity setup, DEWS checks

How do you go live with Odoo UAE payroll without a WPS failure?

Planning UAE payroll? Price your Odoo project

Run at least one parallel month, compare every payslip with the old system and submit a test SIF file to your bank before the real run. This order catches errors before they reach the bank.

  1. Write the policy: leave, sick leave counting, overtime and gratuity basis.
  2. Clean master data: nationality, ID, IBAN and contract for every employee.
  3. Configure WPS: employer ID, salaries bank IBAN and 9-digit routing code.
  4. Build test cases: joiner, leavers under one and over five years, sick leave tiers, an advance.
  5. Run a parallel month: compare net pay line by line with your current payroll.
  6. Test the SIF: send one file to your WPS agent and fix every rejection.
  7. Go live early: schedule the first real run several days before the 1st.

For a quick budget and timeline, try our free Odoo project estimate tool.

How iVentureTeam helps with Odoo payroll UAE WPS

iVentureTeam sets up the UAE localization, tests it against your policy and customizes the gaps so your first WPS file goes through. We have delivered 150+ ERP projects across 35+ countries with 40+ Odoo specialists over 13+ years.

  • Payroll design: policy workshop, salary structures and rule review through our Odoo consulting services.
  • WPS setup: employer ID, bank data, SIF export and a test file with your WPS agent.
  • Gratuity, leave and visa: UAT for every service band, plus expiry alerts and a PRO dashboard.
  • Odoo 20 upgrade: move Odoo 19 payroll customizations off work entries before you upgrade.

Comparing providers? See top Odoo partners in Dubai and the UAE.

Odoo payroll customization case study: Enabl Health

A health-tech company had its Odoo Timesheet and Payroll layers extended so billing followed day-type rates without manual lookups. Enabl Health is in Australia, but the pattern fits UAE overtime and holiday rules.

Rates differed for weekdays, weekends and holidays, and time was captured by hand. We cleaned five data sets, including payslips, then classified timesheets by day type to drive the right rate. The work took 10 weeks on Odoo.sh with separate staging and production branches.

Invoices are now generated from timesheet rates and working-day types without manual rate lookups. Read the Enabl Health Odoo timesheet and billing case study.

The bottom line on Odoo payroll UAE WPS

Odoo 19 and 20 handle UAE payroll and WPS well once the localization is configured and every rule is tested against your policy. The risk sits in data quality, gratuity and leave edge cases, and visa alerts.

With salaries due on the 1st, clean the data, test the SIF with your bank and close the gaps before your first live run.

Ready to run your next UAE payroll and WPS file from Odoo?

Book a UAE payroll review

Get a payroll review from a team that configures and customizes Odoo for UAE companies. Plan your Odoo UAE payroll and WPS setup with us, call +91-90235-15208, or email business@iventureteam.com.

Frequently Asked Questions

Does Odoo support WPS in the UAE?

+

Yes. The Odoo Enterprise UAE payroll localization exports a WPS file in .sif or .xlsx format with EDR, EVP and SCR records from posted payslips. You need the employer unique ID, a salaries bank IBAN and a 9-digit routing code set first.

Which Odoo module is needed for UAE payroll?

+

Install United Arab Emirates - Payroll (l10n_ae_hr_payroll) and United Arab Emirates - Payroll with Accounting (l10n_ae_hr_payroll_account). Payroll is an Enterprise app, so it is not available in Odoo Community.

How does Odoo calculate gratuity in the UAE?

+

Odoo uses monthly basic wage divided by 30 as the daily rate, or a daily salary set on the contract. It applies 21 days per year up to five years and 30 days beyond, triggered when the employee is archived with a departure reason.

Can Odoo send visa expiry reminders?

+

Odoo stores visa and work permit expiry dates, and a daily job creates a to-do for work permits nearing expiry, 60 days ahead by default. Visa, Emirates ID and passport alerts need an automation rule or a small customization.

Is Odoo payroll available in Odoo Community?

+

No. Payroll and the UAE payroll localization are Enterprise features. Community users rely on third-party modules from the Odoo Apps Store, which need their own testing and upgrade plan.

When must UAE salaries be paid through WPS?

+

Under MoHRE Resolution No. 340 of 2026, wages for the previous month are due on the first day of each Gregorian month. Establishments must transfer at least 85% of wages due on time to stay compliant.

Does Odoo handle UAE sick leave rules?

+

Yes. Odoo tracks sick leave on one Sick Time Off type and pays the first 15 days in full, the next 30 at half pay and the next 45 unpaid. Decide whether days are working or calendar days, as the law does not say.

Does Odoo 20 change UAE payroll setup?

+

Yes. Odoo 20 removes work entries and merges time off types into Time Types, so custom code built on work entries must be rewritten. It also adds a guided pay run and dashboard warnings such as missing bank accounts.

Does Odoo produce an Emiratisation report?

+

Yes. The Emiratisation Compliance Report in the Employees app counts Emirati employees in job positions with a MoHRE skill level of 5 or below. Nationality, job position and skill level must be set correctly.

Ready to put this into action?

Talk to iVentureTeam about Odoo, AI automation, or custom development — get a free, no-obligation consultation.