End-of-service gratuity counted as dots, one per day of basic pay: 21 days a year for years one to five, then 30 days a year from year six (orange square), beside the words Odoo payroll.

Odoo payroll in the UAE can produce your WPS salary file, accrue end-of-service gratuity and settle leave balances from the same records your finance team already uses. Set it up and test it before a live month and payday runs from one system; switch it on untested and the gaps show up when your WPS agent rejects a file or a leaver’s gratuity comes out wrong.

Does Odoo payroll handle WPS and end-of-service in the UAE?

Quick answer: Yes. Odoo’s UAE payroll localisation, part of Odoo Enterprise, exports a WPS salary file in .sif or .xlsx that Odoo says follows MoHRE guidelines, and calculates end-of-service gratuity, leave provisions, sick-leave pay and unpaid-leave deductions. Each employee needs an ID number, bank account and nationality on file, and your first files are tested with your WPS agent.

Paying staff from spreadsheets or a separate tool? Talk to us about Odoo payroll.

Some vendor pages say core Odoo lacks WPS and end-of-service, and sell a module to add them. Odoo’s own UAE payroll documentation describes both as part of the localisation, in the module l10n_ae_hr_payroll, and the page for version 19 says the same. An add-on can still earn its place for a specific need, so confirm the gap in a test database before you buy one.

What another month of manual payroll costs

Every month the WPS file is built by hand, someone retypes salaries that already sit in your contracts, and one wrong IBAN or ID number holds up the payment run. Gratuity worked out only when someone resigns means the liability stays out of your monthly accounts until the cash leaves, and leave balances kept in a separate sheet are the first thing a departing employee disputes. Odoo books end-of-service and annual-leave provisions on every payslip, so finance sees what you owe while there is still time to plan for it.

What Odoo’s UAE payroll covers, and what you set up

Take this table to your HR and finance leads. The middle column is built into the localisation; the right-hand column is the work that makes it right for your company.

Area Built into the UAE localisation What you set up and test
WPS salary file Exported from the payment report as .sif or .xlsx, with a record per employee, variable pay and one salary control record Your employer unique ID, a salaries bank account with a valid IBAN and the bank’s 9-digit routing code, and every employee’s ID number. Your WPS agent checks the first file
End-of-service gratuity Calculated when an employee is archived with a departure reason: nothing in the first year, 21 days’ wage a year up to five years, 30 days a year once past five The basic wage kept separate from allowances on every contract, and each employee’s original joining date. Check long-serving leavers by hand (below)
Monthly provisions End-of-service and annual-leave provisions accrued on every payslip, left off the employee’s printout The accounts each payroll rule posts to, so the provisions land in your ledger
Annual leave The contract’s yearly entitlement drives the provision; the remaining balance is paid out or recovered when someone leaves Mark your annual leave type and import opening balances
Sick leave 15 days at full pay, 30 at half pay and 45 unpaid, tracked automatically Whether those are working or calendar days: Odoo notes the law doesn’t say, so your policy decides
Allowances and variable pay Housing, transport and other allowances from the contract; overtime, leave encashment and similar inputs reach the WPS file as variable pay Which of your pay items maps to which input
Advances and off-cycle pay An Instant Pay structure for advances, bonuses and commissions, with the advance recovered on the next payslip Your approval rule for advances
Emiratis and DIFC staff Pension contributions for UAE nationals and DEWS savings for DIFC employees; Odoo 20 adds an Emiratisation compliance report Nationality on every employee, Emiratis included, and the first month’s contributions checked against your pension statement
Payslips in Arabic Not described in the UAE payroll documentation An Arabic or bilingual payslip layout, built and checked on your first test run

The gratuity check. UAE law sets gratuity at 21 days’ basic wage for each of the first five years and 30 days for each year after that, pro rata for part years, capped at two years’ wage and payable only after a year of continuous service (u.ae). Odoo’s documentation words its rule for staff past five years as 30 days for each year. Before go-live, run three leavers through Odoo and compare each with a hand calculation: one with seven or eight years’ service, one close to the two-year cap and one with unpaid leave, since unpaid absence doesn’t count towards service. Where a figure differs, the rule is adjusted in configuration before a real leaver depends on it.

How to set up Odoo payroll in the UAE, step by step

  1. Clean the employee records. Nationality for everyone, ID number, IBAN, a contract with the basic wage separate from allowances, the yearly leave entitlement and the original joining date. Gratuity follows years of service, so a contract that starts on your Odoo go-live date would understate it.
  2. Set up the company side. Install the UAE payroll and payroll-with-accounting modules, then enter the employer unique ID, the salaries bank account and the account each salary rule posts to.
  3. Import opening balances: leave days owed and advances outstanding, checked by HR before they go in.
  4. Run payroll in parallel for at least one month, two if you can. Your current method and Odoo side by side, net pay compared employee by employee, the WPS file compared with the last one your agent accepted, and the three gratuity cases above.
  5. Go live at the start of a month, with one named payroll owner and your WPS agent expecting the first file from Odoo.

Want the table above filled in for your company? Send us your headcount, your legal entities, your WPS agent and what runs payroll today. We reply with what the localisation covers for you, what needs setting up and how long a parallel run should last. Talk to us about Odoo payroll →

Not ready for a call? Ask for our company profile and we’ll send it to you.

Payroll is only as right as what reaches it

Hours, leave and allowances decide a payslip long before payroll runs. ButlerFM is facility management software for cleaning businesses, with time tracking that connects to payroll software. Talk to the team that worked on it: book a meeting.

ButlerFM isn’t an Odoo project, but the lesson carries over: get the inputs right and the payslip follows. One of the ways we work matters most here. Independent QA: a dedicated testing and quality assurance process, so the parallel run is checked by someone who didn’t configure the salary rules. Our core team are native Arabic speakers, so an Arabic payslip is read by people who read Arabic every day before your staff see it.

Bring your headcount and your WPS agent

We implement Odoo for UAE businesses, and payroll is one module of our Odoo implementation services in the UAE. Tell us how many people you pay, across how many entities, who your WPS agent is and what you use today.

Moving more than payroll to Odoo? Our Odoo implementation guide for the UAE sets out the phases, and our Odoo implementation cost guide prices the licences.

Talk to us about Odoo payroll → We ask about your goal, what you use today, your timing and who else should be involved. You leave with clear next steps. The call commits you to nothing, and we sign an NDA first if you want one.

Odoo’s UAE payroll documentation for versions 19 and 20, and the end-of-service rules on u.ae, checked on 24 October 2026.

FAQ

Frequently asked questions

Is Odoo Payroll included in every Odoo plan?

Payroll is an Odoo Enterprise app, so Odoo Community doesn't include it. Both Enterprise plans, Standard and Custom, include all apps, Payroll among them. Our Odoo implementation cost guide prices the licences, including what Odoo charges for employees who never log in, so the payroll line holds no surprise.

Will Odoo's WPS file work with our bank or exchange house?

Odoo says its export follows MoHRE guidelines and matches the formats most UAE WPS agents use, naming Emirates NBD, Emirates Islamic, First Abu Dhabi Bank and Dubai Islamic Bank. Agents still differ in what they check, so send your first file for testing before a live run. Once it passes, the same set-up produces it every month.

Can Odoo calculate gratuity for staff who joined before we moved to Odoo?

Yes, as long as two things come across correctly: the original joining date and the current basic wage. UAE gratuity is worked out on the last basic wage and the years of continuous service, so the full salary history matters less than those two fields. Unpaid absence doesn't count towards service, so bring those days across too, and the figure Odoo shows will match your own.

Does Odoo payroll handle Emiratis and DIFC employees?

The UAE localisation computes pension contributions for UAE nationals and DEWS savings for DIFC employees, and Odoo 20 adds an Emiratisation compliance report based on MoHRE skill levels. Set the nationality on every employee, Emiratis included, since the rules depend on it, then check the first month's contributions against your pension statement.

How long does Odoo payroll take to set up, and what does it cost?

Both follow your headcount, the number of legal entities, how clean your employee data is and how many pay items you use. Plan at least one month of parallel running before go-live. Our price and dates are agreed in your proposal, so you know both before work starts.

What if a payslip is wrong in the first live month?

The parallel run is there to stop that: by go-live, Odoo's net pay, WPS file and test gratuities have matched your current method at least once. If a payslip still needs a correction, Odoo's off-cycle Instant Pay structure pays the difference without rerunning the whole month.

Get Odoo payroll ready for payday

Tell us how many people you pay, your WPS agent and what runs payroll today. We will say what to set up and test before the first live run.