How the United Arab Emirates gratuity calculator is verified
Inputs
| Input | Field | Type |
|---|---|---|
| Basic monthly salary (AED) | basicMonthly | number |
| Years of service | years | number |
The formula
Each derived value below is computed by the Valem engine from the expression shown, in this order. Nothing else runs — there is no hidden code path.
| Derived value | Field | Formula (JSONata) |
|---|---|---|
| Daily Wage | dailyWage | $round(basicMonthly / 30, 4) |
| End-of-service gratuity | gratuity | (years < 1 ? 0 : ($d := basicMonthly / 30; $f := years < 5 ? years : 5; $b := years > 5 ? years - 5 : 0; $g := $d * $const.daysFirst5 * $f + $d * $const.daysBeyond * $b; $cap := basicMonthly * $const.maxMonths; $round($g < $cap ? $g : $cap, 2))) |
Rates and thresholds
The expressions above read these as $const. They are the figures the annual refresh replaces, so they live as data rather than being written into the formulas — which is what makes a year-on-year change a one-line diff instead of an edit to arithmetic.
| Constant | Value |
|---|---|
daysFirst5 | 21 |
daysBeyond | 30 |
maxMonths | 24 |
Test vectors (4)
Every case is executed against this model on each build, by the Java engine and independently by a JavaScript one. A mismatch of a single cent fails the build, so the page cannot ship advertising a figure the model no longer produces.
Case 1 — G1 basic 10,000 AED, 3 years
given basicMonthly | 10000 |
|---|---|
given years | 3 |
expect gratuity | 21000 |
Case 2 — G2 basic 15,000 AED, 7 years
given basicMonthly | 15000 |
|---|---|
given years | 7 |
expect gratuity | 82500 |
Case 3 — G3 under one year — no gratuity
given basicMonthly | 12000 |
|---|---|
given years | 0.67 |
expect gratuity | 0 |
Case 4 — G4 basic 10,000 AED, 30 years — the two-year statutory cap binds
given basicMonthly | 10000 |
|---|---|
given years | 30 |
expect gratuity | 240000 |
Sources
- u.ae — end-of-service benefits · checked 2026-08-02
Check it yourself — and reuse it
The whole model as JSON — inputs, outputs, formulas, vectors and sources in one re-runnable document.
This model is published under CC BY 4.0: use it, adapt it, build on it, with attribution. The licence covers the model — the expression of each rule and the arrangement of the catalog. The rates and thresholds are law, and nobody licenses those; the sources above are where they come from.
← Back to the United Arab Emirates gratuity calculator
Built with Valem — a live, verifiable calculator you can fork and embed.