One system for leave, rotas, clocking in and hours — built for teams that don't work Monday to Friday. Every screen below is shown with the real numbers the software produces, so you can judge it without signing up.
Prefer to click around? The live demo gives you your own sandbox with a sample team, no sign-up. This page exists so the product can also be read without one.
Most leave software assumes a Monday-to-Friday week. That quietly overcharges shift workers and part-timers, which is where the arguments start.
| Ordinary leave software | 5 days |
| Rotasmith | 4 shifts |
His rota gives him the 24th off anyway. Rotasmith knows the pattern, so it charges what he actually works. The same logic means a part-timer on Monday–Thursday is never charged for a Friday, and a bank holiday inside a request is never deducted.
| Entitlement 2026 | +25 |
| Carried over | +3 |
| Taken / booked | −5 |
| Pending requests | −5 |
| Available | 18 |
Balances are never stored as a number someone typed in. They are worked out from entitlement and every request, so they can always be explained — and any employee can open this breakdown themselves.
Patterns seed the rota; from then on the schedule is the truth. Shifts can be edited, moved to someone else, or dropped, and leave is blocked out so nobody gets rostered on a day they're off.
| Person | Mon 3 | Tue 4 | Wed 5 | Thu 6 | Fri 7 | Sat 8 | Sun 9 | Hours |
|---|---|---|---|---|---|---|---|---|
| Amara Okafor | 07:00–15:00 | 07:00–15:00 | off | 07:00–15:00 | 07:00–15:00 | + | + | 28h |
| Jonah Kim | 20:00–08:00 +1 | 20:00–08:00 +1 | 20:00–08:00 +1 | + | + | + | + | 33h |
| Priya Shah | 09:00–17:00 | 09:00–17:00 | 09:00–17:00 | 09:00–17:00 | + | + | + | 30h |
| Ruth Adeyemi | Leave | Leave | Leave | 15:00–23:00 | 15:00–23:00 | + | + | 15h |
| On shift | 3 | 3 | 2 | 3 | 2 | 0 | 0 |
“+1” marks a night shift ending the next morning — counted as the hours actually worked, not a negative number. “Fill from patterns” generates the week from everyone's usual pattern without overwriting edits or rostering over booked leave.
Because the rota is the record, leave follows it. If Amara's pattern says Monday–Friday but she is only down for three days that week, booking the week off costs her three days, not five. Beyond the end of the published rota, her pattern applies again, so leave can still be booked months ahead.
One button, a running timer, and what they were rostered for. No app to install and no shared terminal to queue at.
Clocking in on a day they weren't rostered still works — it simply shows as extra hours. A night shift is understood too: clock in at 22:00 on Monday, out at 06:00 on Tuesday, and it still counts against Monday's shift.
Nobody types an overtime figure. It is the difference between what the clock says and what the rota said — the same way balances are derived rather than stored.
| Person | Day | Rostered | Clocked | Worked | Overtime |
|---|---|---|---|---|---|
| Amara Okafor | Mon 3 | 09:00–17:00 | 09:00–18:30 | 9h | +1h 25m |
| Amara Okafor | Tue 4 | 09:00–17:00 | 09:00–17:03 | 8h | — |
| Jonah Kim | Mon 3 | 20:00–08:00 | 20:00–09:30 | 12h 30m | +1h 25m |
| Priya Shah | Wed 5 | not rostered | 10:00–14:00 | 4h | +4h |
| Ruth Adeyemi | Thu 6 | 15:00–23:00 | no clock-in | — | — |
Row 1 — stayed an hour and a half past the end of the shift, so overtime is recorded automatically.
Row 2 — three minutes over is inside the grace window, so it is not overtime. Nobody earns pay for a slow walk to the door, and nobody loses pay for clocking in a minute late.
Row 4 — came in on a day she was not rostered, so the whole shift counts as extra.
Row 5 — rostered but never clocked in, flagged rather than quietly ignored.
Grace, rounding and the minimum overtime worth recording are all set per company. A workplace that counts every minute can set them to zero.
Requests arrive with what they cost, the balance afterwards, and any warning worth knowing — including whether the team would drop below its minimum cover.
Cover is judged against who is actually rostered that day, not headcount. Approvers can also decide straight from the email without logging in. Declines require a reason, and every decision has a ten-second undo.
Who is off today, what has been waiting too long, and the value of leave people have not taken.
Sickness absence is treated as special-category data under UK GDPR: it routes to HR only, and a line manager never sees the nature of it. That is enforced in the code and covered by automated tests, not left to a policy document.
The setup that usually eats an afternoon: adding forty people and setting each of their patterns.
Full Name Work Email Department Working Pattern Holiday Line Manager Amara Okafor amara@northgate.test Nights Mon-Fri 25 sara@northgate.test Priya Shah priya@northgate.test Nights Mon-Thu 20 sara@northgate.test Jonah Kim jonah@northgate.test Days 4on4off:2026-08-03 25 sara@northgate.test Sara Dodd sara@northgate.test Nights Mon-Fri 28
Column order does not matter — the headings are read however they are labelled. Patterns can be written plainly. Teams are created as needed and managers are matched by email, so it does not matter whether they appear above or below their staff. Every row is previewed with any problem named before anything is saved.
The demo opens a private sandbox with a sample team already in it. Nothing to install, no sign-up, and you can change anything.