Accruing holiday on irregular hours: where 12.07% comes from
This is the arithmetic, and it is genuinely small. What makes it worth a post is that three of the four inputs are things businesses routinely get from the wrong system, and each wrong input fails silently in the same direction.
Key takeaways
- 12.07% is 5.6 weeks divided by the 46.4 weeks that are left once you remove them.
- Accrue on hours worked, not hours rostered. A cancelled shift accrues nothing.
- Protected absence still accrues, at an average of the previous 52 paid weeks.
- Round up, to the nearest part-hour. Never round down.
- One ledger line per worker per period, written once and never edited.
One pay period, one ledger line
- Database
- Machine learning
- Security & identity
- Management
- Analytics
- Front-end & mobile
Where the number comes from
A year has 52 weeks. The statutory minimum is 5.6 weeks of paid leave. If you take those 5.6 weeks out, 46.4 weeks are left, and those are the weeks in which the worker is actually at work earning the leave. Divide 5.6 by 46.4 and you get 0.1207, which is where 12.07 per cent comes from.
It is worth saying plainly because it is often presented as a rule of thumb or a generosity, and it is neither. It is the identical entitlement everybody else gets, expressed as a rate so that it can be applied to hours instead of to days. A worker who accrues at 12.07 per cent over a full year of ordinary hours ends up with exactly 5.6 weeks.
If the contract is more generous than the statutory minimum, the rate goes up correspondingly and the system stores the rate per worker rather than as a constant. This costs nothing and it is the difference between a system that can handle the one long-serving manager on 30 days and one that quietly underpays her.
Rostered is not worked
The single most common data error here is accruing on the rota. The rota is available, it is tidy, it is in one system, and it is wrong. Shifts get cancelled the night before, swapped, cut short when a client goes into hospital, or extended by two hours because the relief did not turn up.
Accruing on the rota overstates entitlement in a business where shifts get cancelled and understates it in one where they overrun, and in both cases the ledger stops reconciling with payroll, which is the only external check the system has. The rule is to accrue on the same hours the worker was paid for, from the same source payroll used, so that the two can be compared.
Three workers, one leave year
Why the bank carer looks like that
Because bank staff are called when somebody else is off, and the times when somebody else is off are exactly the times a bank worker cannot take leave. The pattern is structural rather than personal, it shows up in every business that keeps a flexible pool, and it is invisible in a system that only records leave taken.
That is the argument for the ledger in one sentence. A business that can see the middle bar in month four has options: it can encourage leave, it can plan the cash, it can look at whether the pool is being used the way it was meant to be. A business that sees it on somebody’s last day has a bill.
The four inputs, and how each one goes wrong
- Hours worked. Taken from the rota instead of the timesheet.
- Covered absence. Omitted entirely, so long-term sick accrues nothing.
- The rate. Hard-coded at 12.07% for a worker whose contract says more.
- The period. Attributed to the wrong leave year at the boundary.
Rounding has a direction
Accrual produces awkward numbers — 12.07 per cent of 37 hours and 40 minutes is not going to land on anything tidy — so something has to round. The rule the system follows is to round up, to the nearest part-hour, every time.
This is not generosity, it is risk management. Rounding down accrual, in one direction, across every period, across every irregular-hours worker, for four years, compounds into a systematic underpayment that is indefensible precisely because it is systematic. The cost of rounding the other way is a few minutes per worker per year. The next post is what happens to those hours at the year end.
All posts