Lesson 7 — Provisioning untaken annual leave
Untaken annual leave is money you already owe. A balance sheet showing only gratuity understates the obligation by the value of every unused leave day on the books.
Two Articles, two different wage bases, and this is where the classic error lives. Annual leave taken during employment is paid at full wage under Article 29(1). Untaken leave encashed on termination is paid at basic under Article 29(9), which also makes it payable whether or not it was ever taken. Same leave, same employee, two bases — the law picks between them, and the module does not. Source: FDL 33/2021 Arts. 29(1) and 29(9).
The module provisions at the Article 29(1) rate — full remuneration, wage plus allowances. That is a deliberate choice recorded in the module guide, and you should know it is the higher of the two bases so that nobody mistakes the provision for a termination-encashment estimate. It is a measure of what the leave is worth, not a forecast of a specific settlement.
Running it, and the accounts it needs. Go to Employees → WPS & End of Service → Annual-Leave Provisions, create a run for the period, Compute, then Post. It works exactly like the end-of-service provision, which is deliberate — two provisions behaving differently would be two things to learn. A second scheduled action, "Annual Leave: monthly provision", ships switched off like the end-of-service one and behaves in exactly the same way, so enable it under the same Scheduled Actions screen when you are ready for it to post. Set the Leave Provision Expense Account and the Leave Provision Liability Account on the company. There is no separate leave journal on purpose: it is the same kind of entry posted by the same people on the same cadence, so it reuses the EOSB journal rather than adding a second field to configure and a second field to leave empty.
Setting the liability account does one more thing worth knowing. It switches leave encashment on the payslip from charging expense to releasing this provision. That is the entire point of provisioning. Without the switch the expense is charged twice — once into the provision and again when the leave is paid out — and the liability stands on the balance sheet forever.
Three rules about the days themselves.
- Untaken days are approved allocation days minus approved leave taken. Only approved records count on either side, so the figure does not depend on whose approval queue happened to be empty on run day. An employee showing negative, having taken more than was allocated after a correction, is floored at zero rather than reducing everyone else's provision.
- Only the movement is booked. A pay rise revalues the whole accumulated balance in the period it happens, because the liability is measured at today's rate. Leave actually taken produces a negative movement, which reverses the pair — this liability moves in both directions.
- An allocation dated to start after the period end is not counted. Next year's entitlement, granted in advance, is not owed today.
The worked example. The August 2026 leave run for the same three employees, priced at full remuneration.
| Employee | Approved allocation | Approved leave taken | Untaken days | Daily rate at full remuneration | Cumulative leave liability |
|---|---|---|---|---|---|
| Rania | 30 days | 12 days | 18 days | AED 800 | AED 14,400 |
| Marco | 30 days | 34 days | 0 days | AED 600 | AED 0 |
| Aisha | 10 days | 0 days | 10 days | AED 400 | AED 4,000 |
| Total | AED 18,400 |
Marco is the floor in action: four days over his allocation after a correction, recorded as zero rather than as a credit against his colleagues. And Rania is the two bases in one line — her 18 untaken days provision at AED 14,400 on the Article 29(1) full-remuneration rate, while the same 18 days encashed on termination under Article 29(9) would price on her basic wage at AED 7,200, exactly half.
The failure mode, and it is the quietest one in the module. If no time-off type carries the code AE_ANNUAL, the run refuses to compute rather than reporting zeros. That refusal is a feature. A screen full of zeros reads as "nothing is owed" when the truth is "nothing was measured", and a zero liability is the kind of number that gets signed off, reported and never questioned. If the run refuses, go to your time-off types and put the code on the one that is genuinely UAE statutory annual leave — not on sick leave, and not on an unpaid category.