Odoo HRMS — HR, Payroll & WPS Compliance for the UAE
Oakland HRMS — a complete HR and payroll system on Odoo 19 with a back office, an employee self-service portal and a native iOS/Android app. WPS SIF payroll, end-of-service gratuity, leave salary, and UAE sick and maternity pay tiers in one system, built by Oakland's own engineers and running a UAE group's payroll today.
What your HR team stops doing by hand
End-of-service, calculated not negotiated
Service is counted in inclusive calendar days minus approved unpaid leave, anchored to a gratuity start date or a visa-change date. 21 days of basic per year for the first five years, 30 after, capped at 24 months. Ask "what would we owe if they left today?" for any employee, any date, without creating a settlement.
Payroll nobody can release early
Payslips move through payroll accounting, then the CFO, then the HR Manager — each level stamping who signed and when. The pay run owns the workflow, so approving 400 payslips is three clicks, not 1,200. Finance cannot mark the run paid until all three signatures are in.
Visa and document expiry that chases itself
Set one notice window — 30 days before expiry by default, or whatever notice your PRO actually needs — and the system watches every employee passport, visa and custom document type against it. HR gets one consolidated digest per day listing everything inside the window rather than forty separate alerts, the line manager gets a renewal to-do on the employee record, and the employee sees their own countdown in the portal and app.
Salary certificates and NOCs without HR
Ten UAE letter types ship ready-written in English and Arabic — salary certificate, NOC, embassy letter, bank loan support, salary transfer and more. The employee requests it, the manager approves it, and the formatted PDF downloads from the portal. HR never opens Word.
Overtime, lateness and absence settled in one document
One monthly record per employee combining every day's attendance and overtime, split into normal and rest-day hours, with late minutes and absences classified against the work schedule. Overtime prices the UAE way — monthly wage ÷ 30 ÷ 8, at 1.25× and 1.5× — and lateness penalties scale with repeat occurrences.
Staff loans that reconcile themselves
Department then HR approval, an instalment schedule generated on approval, journal entries on disbursement and repayment, and payroll deduction that catches up a month payroll skipped. Any balance still outstanding is recovered inside the final settlement — nobody leaves the country owing you money.
The Odoo apps underneath it
Employee directory, org chart, and skills tracking
UAE payroll with WPS SIF files, gratuity, leave salary and three-signature sign-off
Leave management with approval workflows and UAE labor law compliance
GPS-stamped mobile check-in, overtime at UAE multipliers, and tiered lateness penalties
Performance reviews, goal setting, and 360 feedback

Five companies, one HR system — including ours
We are not selling you something we have only read about. ARMOR Group — the Emirati conglomerate Oakland is part of — runs its own HR and payroll on Odoo across five companies, from factory workers at ARMOR Lubricants to field technicians at REMAL Security to digital marketers at QANNAS. Each has different salary structures, leave policies and allowances, and they all run on one unified system.
That is where Oakland HRMS came from. Our engineers built it because the standard Odoo HR apps stop exactly where UAE payroll gets hard — end-of-service counted in days, leave salary paid in advance and recovered against basic, sick and maternity pay tiers, attendance penalties that scale. It runs a UAE group's payroll today, and every module in it exists because a real payroll run needed it.
Questions UAE HR and finance teams actually ask
Does Odoo generate WPS-compliant SIF files for UAE banks?
Yes. WPS SIF generation ships inside Odoo's own UAE payroll localisation, and we configure it against your bank, your agent ID and your salary structure — including the basic-versus-allowance split, which matters because basic salary is the legal base for gratuity. SIF batches generate from confirmed payslips per period or per pay run, with the mandatory employer and employee payment details validated before export. We are precise about this: WPS is Odoo's, done properly. The gratuity engine, leave-salary automation, sick and maternity pay tiers, self-service portal and mobile app are ours.
How exactly is end-of-service gratuity calculated?
Gratuity days are 21 per year for the first five years and 30 per year after that, priced at basic salary divided by 30, then capped at 24 months of basic. What makes it defensible is how service is counted: inclusive calendar days from the gratuity anchor date to the last working day, minus approved unpaid leave, with part-overlapping leave pro-rated. The anchor follows an explicit order — an employee's gratuity start date, then a visa-change date if the sponsorship transferred, then the hire date. Staff on a private visa settle at zero by design, and settlements below your configured minimum service threshold (one year by default) are blocked. This implements the current single model under Federal Decree-Law 33 of 2021: there is no limited-versus-unlimited contract split and no resignation reduction, because both were abolished in February 2022.
Do we need to buy an Odoo licence for every employee?
No, and this is usually the biggest cost surprise people expect and do not get. Only your HR, payroll and finance staff need a paid Odoo user. Everyone else — including line managers approving leave and expenses — uses the self-service portal and the mobile app on free Odoo portal accounts. That is what makes rolling out to 500 or 5,000 staff viable: you are not buying 500 licences to let people check a leave balance. Access is scoped by record rules so an employee sees only their own data, and a manager only their own team's.
Is there a real mobile app, and what can employees do in it?
Yes — a native iOS and Android app built in Flutter against a dedicated Odoo API, not a website in a wrapper. Employees clock in and out with a GPS location stamp, request leave against a live balance, open payslips with a month-on-month comparison, submit expenses with photographed receipts, apply for salary advances, request company assets, enrol on training, raise HR tickets, fill appraisal questionnaires as native forms, and acknowledge disciplinary notices with a signature drawn on screen. Line managers approve leave, requests and expenses from a tabbed inbox, with every governance rule still enforced server-side. Which modules appear is switched per company, so one build serves every entity and every phase of your rollout.
How good is the Arabic support?
Straight answer, because this is worth knowing before a demo rather than after. Every official document your people sign or hand to a bank, embassy or the labour office prints in Arabic as well as English — disciplinary notices, all ten HR letter types, and custody handover receipts — with the Arabic fonts embedded so the PDF renders right-to-left correctly. The Odoo back office is fully Arabic-capable as standard. The self-service portal and mobile app interfaces are English today; a full Arabic interface with RTL layout is a scoped add-on we quote separately. In practice most UAE clients start with Arabic documents plus an English interface, because the documents are the part that has to hold up legally.
Can we switch mid-payroll-year without breaking leave balances and gratuity?
Yes, and there is no need to wait for January. Opening leave balances migrate as they stand. Gratuity service is pinned with an explicit start date per employee, so nobody loses accrued years in the move. Outstanding staff loans come across from a spreadsheet as remaining principal over remaining months, and the system rebuilds the instalment schedule from there. Then we run one complete payroll month on the new system in parallel with your existing process and reconcile the two line by line — you switch the old system off once the numbers match, not before.
How much does Odoo HR & Payroll cost for a UAE company?
Oakland implements Odoo on fixed-price, one-time packages — Mini AED 12,500 (1–3 users, financial core), Starter AED 30,000 (1–10 users), Business AED 70,000 (11–25 users) and Scale-up AED 150,000+ (26–60 users); larger or multi-country rollouts are scoped on request. Most HR and payroll rollouts land on Starter or Business depending on employee count, and the package covers WPS configuration, leave rules, gratuity formulas and team training. The Odoo licence is separate, billed by Odoo from USD 13.50 per user per month. Book a free scoping call and we'll confirm the package and a fixed quote within 48 hours.
See it running before you commit to anything
Tell us your headcount and how many entities you run, and we'll come back with a written scope and a fixed price — or walk you through the system on your own payroll numbers. We'll show you the real thing, running, not a slide deck.
Apps that complete your HR setup
Accounting
Every payroll run and gratuity provision posts straight to your ledger, so finance closes the month without re-keying salaries.
ExploreKnowledge
Publish the employee handbook, leave policy and onboarding guides in one searchable place instead of re-answering the same questions.
ExploreApprovals
Route leave, overtime and salary-advance requests through a defined chain, so HR has a record of who approved what.
ExploreDocuments
Keep passports, visas, Emirates IDs and labour cards in one place with expiry alerts before renewals become fines.
Explore