Oakland

Odoo HRMS — HR, Payroll & WPS Compliance for the UAE

Oakland HRMS is a complete HR and payroll system built on Odoo 19 — a back office for your HR team, a self-service portal for every employee, and a native iOS and Android app. It handles the parts of UAE HR that standard software leaves to a spreadsheet: end-of-service gratuity, leave salary, sick and maternity pay tiers, attendance penalties and staff loans. Our own engineers built it, and it is running a UAE group's payroll today.

Book a Demo

A built, working system — not a prototype

3Surfaces on one database — back office, self-service portal, native mobile app
20Screens in the employee app — leave, payslips, expenses, custody, approvals, more
0Odoo user licences needed for employee self-service
90Days from kickoff to your first payroll run on the new system

Three surfaces, one database

Most HR systems give you one surface. This gives you three.

A back office for your team, a self-service portal for every employee, and a native mobile app — all running on the same Odoo database, not stitched together with integrations.

For your HR and payroll team

The engine your HR team actually works in

Thirty custom modules built on Odoo 19 Enterprise, covering the parts of UAE HR that no standard system handles: end-of-service, leave salary, attendance penalties, staff loans and disciplinary deductions — all posting through payroll into your accounts.

Oakland HRMS end-of-service settlement form in the Odoo back office
  • End-of-service that counts in days, not rounded years

    Service is measured in inclusive calendar days, minus approved unpaid leave, anchored to a gratuity start date or a visa-change date. 21 days per year for the first five years, 30 after, capped at 24 months of basic.

  • Three-signature payroll sign-off, approved per batch

    Payroll accounting, then the CFO, then the HR Manager. Each level stamps who signed and when — but approving 400 payslips is three clicks on the pay run, not 1,200.

  • Comprehensive salary register in one click

    One row per payslip, one column per salary rule, with cost centre, bank name and IBAN on every line. Exports to PDF, on-screen HTML or a formatted Excel workbook.

  • Attendance penalties that scale with repeat offences

    Configure grace minutes, then tier the penalty by occurrence — the first late can carry no deduction, the third can cost a day's pay. Overtime is priced the UAE way: monthly wage ÷ 30 ÷ 8, at 1.25× normal and 1.5× rest day, all four values configurable per company.

  • Staff loans with real accounting behind them

    Department then HR approval, an auto-generated instalment schedule, journal entries on disbursement and repayment, and payroll deduction that catches up a missed month instead of losing it.

  • Disciplinary deductions that stop themselves

    A three-month penalty deducts for exactly three months and ends. Appeals write back to the case, and an overturned appeal zeroes the remaining deduction automatically.

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

Employees

Employee directory, org chart, and skills tracking

Payroll

UAE payroll with WPS SIF files, gratuity, leave salary and three-signature sign-off

Time Off

Leave management with approval workflows and UAE labor law compliance

Attendances

GPS-stamped mobile check-in, overtime at UAE multipliers, and tiered lateness penalties

Appraisals

Performance reviews, goal setting, and 360 feedback

Five companies, one HR system — including ours

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.

Built for UAE labour law

The parts a generic HR system cannot fake

Every item here is implemented in the system and running on real payroll. Click any card for the detail.

Oakland HRMS vs generic HR software vs stock Odoo

The real comparison is not the feature count. It is what happens on payroll day, and on the day somebody leaves.

Payroll posts straight into your accounts, no re-keying
Generic HR SaaSNo
Stock Odoo HRYes
Oakland HRMSYes
Gratuity counted in days, with unpaid leave and visa-change handling
Generic HR SaaSNo
Stock Odoo HRPartial
Oakland HRMSYes
Sick 15/30/45 and maternity 45/15 pay tiers applied on the payslip
Generic HR SaaSNo
Stock Odoo HRNo
Oakland HRMSYes
Leave salary paid in advance and offset against basic automatically
Generic HR SaaSNo
Stock Odoo HRNo
Oakland HRMSYes
Air ticket entitlement raised on service anniversaries
Generic HR SaaSNo
Stock Odoo HRNo
Oakland HRMSYes
Employee self-service without a per-employee software licence
Generic HR SaaSNo
Stock Odoo HRNo
Oakland HRMSYes
Native iOS and Android app for employees on a free portal login
Generic HR SaaSPartial
Stock Odoo HRPartial
Oakland HRMSYes
Warnings, letters and custody handovers printed in Arabic
Generic HR SaaSNo
Stock Odoo HRNo
Oakland HRMSYes
Three-signature payroll sign-off before a run can be marked paid
Generic HR SaaSNo
Stock Odoo HRNo
Oakland HRMSYes
Same database as your finance, inventory and sales
Generic HR SaaSNo
Stock Odoo HRYes
Oakland HRMSYes

"Partial" means the capability exists in some products, or through a separate add-on.

How we implement

90 days from kickoff to your first payroll run

  1. Weeks 1–2

    Discovery — your rules, written down

    We document your salary structure and allowance split, your leave policy and entitlements, the approval matrix for leave, expenses and payroll, and every document type you need to track. This is the step most failed HR projects skip.

  2. Weeks 3–6

    Configure and migrate — including the hard balances

    Employee master data, opening leave balances, gratuity accrual continuity so nobody loses service, and existing staff loans imported from a spreadsheet rather than keyed one by one. Your history comes with you.

  3. Weeks 7–10

    Parallel run — one full month, reconciled

    We run one complete payroll month on the new system alongside your existing process and reconcile them line by line. You do not cut over on faith — you cut over once the numbers match.

  4. Weeks 11–13

    Roll out self-service, then go live

    Portal and app rollout to staff, manager training on the approvals inbox, and your HR team trained on the back office. Features switch on per company, so you can phase entities rather than move everyone at once.

"But we're mid-payroll-year — won't that break everything?"

No — and there is no need to wait for January. Opening leave balances are migrated as they stand, gratuity service is pinned with an explicit start date per employee so nobody loses accrued years, and outstanding staff loans are imported from a spreadsheet as remaining principal over remaining months, with the system rebuilding the instalment schedule from there. The parallel month is what proves it before you switch the old system off.

How it is priced

Two cost lines — and no surprise double bill

We say this up front because it is always the second-call question.

Odoo licence

Billed by Odoo, per user, per month

Only your HR, payroll and finance staff need a paid Odoo user. Employees and line managers use the self-service portal and mobile app on free portal accounts — which is where the cost of most HR systems runs away from you.

Oakland implementation

Fixed scope, fixed price, one time

Priced on headcount, the number of legal entities, your payroll complexity and which modules you switch on. You get the scope and the number in writing before anything starts — no hourly drift.

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.

Get a quote, or book a demo

Tell us your headcount and how many entities you run, and we'll come back with a written scope and price — or show you the system running on your own numbers. A UAE consultant replies within one working hour.

Free consultation · No obligation

Get in Touch

WhatsApp
+971 54 289 8664
Call Us
+971 4 5616 837
Office
Office 1103, Balrasheed Tower 1,
Buhaira Corniche, 43132 Sharjah,
United Arab Emirates