Rotasmith

Inside Rotasmith

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.

The idea

Leave counted against the days someone actually works

Most leave software assumes a Monday-to-Friday week. That quietly overcharges shift workers and part-timers, which is where the arguments start.

Booking leave — Jonah, 4-on-4-off rota, requests Mon 20 – Fri 24 July
Ordinary leave software5 days
Rotasmith4 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.

The balance, always explained
Entitlement 2026+25
Carried over+3
Taken / booked−5
Pending requests−5
Available18

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.

The rota

Build the week, then change it — because rotas always change

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.

Rota — week of 3 August
PersonMon 3Tue 4Wed 5Thu 6Fri 7Sat 8Sun 9Hours
Amara Okafor07:00–15:0007:00–15:00off07:00–15:0007:00–15:00++28h
Jonah Kim20:00–08:00 +120:00–08:00 +120:00–08:00 +1++++33h
Priya Shah09:00–17:0009:00–17:0009:00–17:0009:00–17:00+++30h
Ruth AdeyemiLeaveLeaveLeave15:00–23:0015:00–23:00++15h
On shift3323200

“+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.

Clocking in

Staff clock in from the phone in their pocket

One button, a running timer, and what they were rostered for. No app to install and no shared terminal to queue at.

Employee home — on the clock
On the clock
6:42:15
Rostered 09:00–17:00 · 7h 30m
Clock out

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.

Hours & overtime

Overtime works itself out

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.

Hours — week of 3 August
PersonDayRosteredClockedWorkedOvertime
Amara OkaforMon 309:00–17:0009:00–18:309h+1h 25m
Amara OkaforTue 409:00–17:0009:00–17:038h
Jonah KimMon 320:00–08:0020:00–09:3012h 30m+1h 25m
Priya ShahWed 5not rostered10:00–14:004h+4h
Ruth AdeyemiThu 615:00–23:00no 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.

Approvals

Managers decide with the context in front of them

Requests arrive with what they cost, the balance afterwards, and any warning worth knowing — including whether the team would drop below its minimum cover.

Approvals inbox
Amara Okafor · Annual leave
Mon 10 Aug – Fri 14 Aug · 5 days · balance after: 13 days
⚠ Overlaps: Ben (10 Aug–12 Aug)
⚠ Coverage drops to 2 of 4 scheduled in Customer Support on 10 Aug (minimum 3)
ApproveDecline…

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.

For whoever answers for it

The numbers finance and HR ask for

Who is off today, what has been waiting too long, and the value of leave people have not taken.

Organisation
On leave today
2
of 9 scheduled
Pending requests
3
across all teams
Pending > 2 days
2
outside SLA
Leave liability
£32,850
219 days unused

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.

Getting started

Paste the spreadsheet you already have

The setup that usually eats an afternoon: adding forty people and setting each of their patterns.

Import people
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.

See it with your own hands

The demo opens a private sandbox with a sample team already in it. Nothing to install, no sign-up, and you can change anything.