Overtime that can be paid, not only taken as leave
Earned overtime had one exit — a leave allocation. Now an administrator pays the days they choose, at a rate, and the rest stay pending.
The problem a client brought us
“Overtime only ever turns into leave days. If we want to pay someone for it instead, there is no rate, no amount, and nowhere in the system to record that it happened.”
Before and after
What overtime could become
- A compensatory-leave allocation
- and nothing else
What it can become now
Leave, or cash — chosen day by day
What we found and built
A dashboard listing every employee with overtime in the period. Expand one and their individual overtime days appear; an administrator ticks the days to pay now and enters an hourly rate. Days left unticked stay pending, so five earned days can be paid three this month and two the next — and none of it goes near the payroll run.
- 22 files and roughly 3,900 lines in one change: a payment model, per-company settings, its own sequence and access rules, an OWL screen, and 700 lines of tests
Result
Overtime has a second exit. An administrator pays part of it now, leaves the rest pending, and the payroll run is never involved.
The pattern behind it
The model fills the form; a person approves it
AI earns its place where a person can check the output. Our models never write to the database directly: they draft, and someone signs off.
How we think about problemsRecognise any of this?
Most of our work starts with a message that sounds a lot like this one did.