Your cleaners already clock in and out. This is where those clocks become something you could hand to a payroll system: what each person worked, what is unpaid, what is still waiting on you, and what you changed and why.
Find it under Money → Timesheets, after Reports. It is owner-only: a supervisor does not see it. Approving hours authorises money to leave the business against pay rates a supervisor is not allowed to see, which is the same reason they cannot open Profitability.
The period, and the four figures
It opens on the fortnight ending today, which is the commonest UK pay cycle for hourly staff and covers a weekly one twice over. Change either date and it reloads: the dates are part of the query rather than a filter over everything, so a long history does not get slower to look at.
Would be paid
The hours that would actually go on a payroll import, if you exported the period as it stands. Nothing unresolved is in this figure.
Unpaid breaks
Recorded, shown, and not paid for. Off by default; see Starting and finishing a clean.
Waiting on you
Entries that cannot count until somebody decides. This is the number that matters.
People
How many cleaners recorded any time in the period.
The three things that wait on you
A proposal
Either travel time CleanFlo found between two of that day's cleans, or something a cleaner asked to have counted: training, a meeting, standby. It carries Accept and Decline. Until you accept it, it is worth nothing: the database will not let a proposal be paid at all.
A flagged entry
Time that arrived from your existing records but could not be trusted as-is: it overlaps another clean the same person was clocked into, it was started and never finished, or it runs longer than eighteen hours. It carries Amend and Resolve.
An open entry
Somebody clocked in and never clocked out. It shows a dash rather than 0h, because "we do not know yet" is not the same as "worked no time". Amend it to close it.
Finding travel between cleans
Find travel time looks through the period for gaps between one clean finishing and the next starting, for the same person, on the same day. Each one it finds is offered as a proposal for you to accept or decline.
It offers the gap and nothing more. CleanFlo does not know how far apart two of your sites are and will not pretend to; what it knows is that somebody finished at 11:00 and started again at 11:25. Gaps under two minutes are not offered (that is two clocks being tapped) and neither are gaps over two hours or ones that cross midnight, because those are gaps in the day rather than journeys, and offering them would invite you to accept a lunch break as paid travel by clicking through a list.
Changing a figure
Amend opens the start and finish times with a required box asking why. It shows what the phone actually clocked beside each field, and works out what the change does in hours: "Adds 16m: 3h 46m becomes 4h 2m", so the decision is made in the terms it is actually about.
The reason is not a formality. It is kept permanently, it cannot be edited or deleted afterwards by anyone including you, and the cleaner it is about can see it. That is what makes an approved period defensible six months later, when somebody asks why a Tuesday says 07:58.
The clocked times never move. An amended line prints both on the line itself, without anything to open: 08:00–12:00 · clocked 08:14–12:00 · arrived early, waited for keys. That is on purpose: your answer to "why does this say 07:58" should not depend on whether you thought to click.
If you do not want any of this
Time & payroll is a module, on by default, under Modules. Switching it off hides this screen and the Employment tab, takes the break control off the clean screen, and stops new time being recorded.
It does not stop cleans being clocked in and out. That is how the schedule knows a clean started, and the late alerts and your client's clean report both depend on it. Nothing already recorded is deleted, and it all reappears intact if you switch it back on.
Common questions
Where does the time come from?
Your cleaners clocking in and out on their phones, which they already did. Every clock-in now also writes a line to the timesheet, alongside the clean's own record, so the clean still knows when it started, and the timesheet is a separate thing you can change without rewriting history.
Why does one cleaner have entries I never saw them create?
Almost certainly the historical import. When timesheets were switched on, every clean with a clock-in became a line, and any that could not be trusted as-is came in flagged rather than being dropped or quietly trimmed to fit. They are all listed, with the reason on each.
A clean is split into two lines with a break in the middle. Is that right?
Yes. Somebody is either working or on a break, never both, so starting a break closes the working line and coming back opens a new one. The clean's time is the two added together, and the break sits between them where you can see it.
Can I export this to my payroll software?
Not yet. The export, shaped per provider, is the next piece of this work. What exists now is the record it will be built from, which had to be right first.
Can a cleaner change their own hours?
No. They can clock in and out, start and end a break, and ask for something to be counted, and that arrives here as a proposal worth nothing until you accept it. They can read their own record, including any amendment you made and the reason you gave, which is the point.