Most teams adopt TOIL — time off in lieu — the same way: someone works a weekend, a manager says "take Friday off in exchange," and everyone nods. That works fine until it happens fifteen times across a team, on different weeks, at different rates, tracked in nobody's memory but the manager's. That's when the questions start. Does an hour on Saturday bank as an hour off, or one and a half? Does it expire? Who's tracking the balance? By the time those questions get asked out loud, the policy already exists — it's just unwritten, inconsistent, and different for whoever asked first.
What TOIL actually is
TOIL is compensation for extra hours worked, paid out as time rather than money. It sits next to overtime pay as an option, not a replacement for it — some contracts require overtime to be paid in cash past a threshold, and TOIL only covers the hours below it. The mechanism is simple: hours worked beyond a normal week convert into a leave balance, which gets booked and drawn down like any other leave type. The part that's simple in theory and messy in practice is everything around that conversion.
The four things a policy has to answer
A TOIL policy isn't complete until it has a specific answer — not a vibe — for each of these:
- Conversion rate. Is an hour worked one hour banked, or does weekend or bank-holiday work earn a multiplier?
- Approval. Does TOIL accrue automatically from logged hours, or does a manager have to approve the hours before they convert?
- Expiry. Does a balance disappear after a fixed window, roll over indefinitely, or get paid out in cash if unused?
- Cap. Is there a maximum balance someone can hold before they're required to book time off or get paid out instead?
Leave any one of these unanswered and the policy will get answered anyway — inconsistently, by whichever manager is asked first.
1:1
a common baseline conversion rate — an hour worked banks an hour off, no multiplier, unless the contract says otherwise
3 months
a reasonable expiry window that keeps balances current without feeling punitive
48 hrs
a sensible cap before someone's required to book the time or get paid out instead
Where it breaks in practice
The failure mode is rarely the policy itself — it's what happens when the policy lives in someone's head instead of a system everyone can see. A balance that only the manager can see is a balance nobody trusts. An expiry date nobody's tracking is an expiry date that never actually applies, until someone leaves the company and HR has to work out, after the fact, whether forty hours of banked time are owed as pay.
TOIL isn't a benefit until someone can actually see their balance and book it.
The other common break is treating TOIL and holiday as the same bucket. They're not — TOIL is compensation for hours already worked; holiday is an entitlement that accrues regardless. Mixing them in one balance makes it impossible to answer a very ordinary question: "how much annual leave do I actually have left this year?"
A policy you can actually ship
If you're writing this down for the first time, it doesn't need to be clever — it needs to be specific:
- Set the rate. Default to 1:1 unless there's a contractual reason for a multiplier on weekend or bank-holiday work.
- Decide who approves it. Logged hours should require a manager's sign-off before they convert to a balance — otherwise the balance is a guess.
- Pick an expiry window. Three months is common; anything longer starts to function as unlimited rollover, which is a different policy wearing a TOIL costume.
- Set a cap. Once someone crosses it, force a booking or a payout — don't let the balance grow indefinitely.
- Keep it separate from holiday. Two balances, two labels, both visible to the person who earned them.
Whatever tool tracks it — a spreadsheet, a wallchart, or something purpose-built — the policy only holds up if the balance, the expiry, and the cap are visible to the person who earned the time, not just the manager who granted it. That visibility is the whole point; everything above is just what has to be true before it.