Start your free 14-day trial Open the demo account Search the whole site
Product DomesticCommercialEnd of tenancyHoliday letsAirbnbWindowsCarpets and upholsteryOne-off and specialistFacilities managementCleaner appRAMSYour websiteInvoicing Everything CleanFlo does → See it running →
Compare Cleaning software comparedCleanFlo vs JobberCleanFlo vs ZenMaidCleanFlo vs GetCleanFlowCleanFlo vs ConnecteamCleanFlo vs SweptCleanFlo vs BigChangevs a spreadsheet and WhatsAppCleanFlo vs SqueegeeCleanFlo vs ServiceM8CleanFlo vs Cleenie
Free tools Cleaning Quote CalculatorPrice Per m² CalculatorUK VAT CalculatorProfit Margin CalculatorTrue Cost of a CleanerHoliday Entitlement CalculatorPer-Seat Cost CalculatorContract Tender Calculator All 17 free tools → 16 printable templates →

How to repeat a clean

Most cleaning revenue is the same clean over and over: a weekly office, a fortnightly house, a monthly deep clean on a contract. Repeat books the whole run in one go.

In the app: Schedule 6 min read Last updated
On this page
  1. What Repeat actually does
  2. Picking a frequency
  3. Telling it when to stop
  4. Reading the summary line
  5. Using it for contract work
  6. Changing or ending a series
  7. Change a repeating clean later

Repeat sits in the Add clean drawer, between When and Services, under a heading with a small looping arrow on it. It is only offered on a new clean. Open an existing clean to edit it and the section is not there at all, which is the first clue to how the feature works.

What Repeat actually does

CleanFlo does not store "every Monday at nine until further notice" and draw it onto the calendar. It works out every date the pattern lands on and writes a real clean for each one, there and then, at the moment you press save. Book a weekly clean twelve times and you get twelve rows in the database, twelve chips on the calendar, twelve entries in the cleaner's app.

That is a deliberate trade. It costs you a little when the arrangement changes, because there is no single rule to edit. It buys you a great deal the rest of the time: every clean in a series can be moved, repriced, reassigned, cancelled or invoiced entirely on its own without disturbing the ones either side of it. A client who wants their Monday moved to a Tuesday for one week in October is a two-field edit, not an exception rule.

Picking a frequency

Four chips, one selected at a time. It starts on No repeat, and while that is selected the rest of the section stays hidden.

No repeatWeeklyFortnightlyMonthly
  1. Pick how often it repeats: weekly, fortnightly or monthly.
The frequency chips. Selecting anything other than No repeat reveals the end-mode chips and the summary line beneath them.
ChipSteps bySummary line says
WeeklySeven daysevery week
FortnightlyFourteen daysevery 2 weeks
MonthlyOne calendar monthevery month

Weekly and fortnightly step in whole days, so a clean booked on a Monday stays on a Monday all the way through, including across the October clock change. Monthly steps by calendar month and keeps the date number, so the 3rd becomes the 3rd. Where the date does not exist in the next month it moves back to the last day that does: a clean booked on the 31st of January repeats on the 28th of February, then the 31st of March.

Telling it when to stop

Once a frequency is chosen, two more chips appear: Number of occurrences and Until date. They are the same question asked two ways, and which one you use is usually decided by how the client's contract is written.

Number of occurrences
The default. Reveals a field labelled Occurrences, pre-filled with 12, minimum 2. Use it when the arrangement is counted: eight visits, a term, a season.
Until date
Reveals a field labelled Until, a date picker that will not let you choose anything earlier than the clean's own first date. Use it when the contract has an end date on it.
Add clean
Schedule a new clean
18/08/2026
18:30
Duration (mins) 90
No repeatWeeklyFortnightlyMonthly
Number of occurrencesUntil date
Occurrences 12

Creates 12 cleans · every week · starting 18 Aug 2026 · ending 3 Nov 2026

CancelAdd 12 Recurring Cleans
The Repeat section set to weekly, twelve times, starting on 18 August. The Courier line at the bottom is the drawer telling you exactly what pressing save will produce.

Switching to Until date swaps the count for a calendar. The pattern then runs to the last date on or before the one you chose, so a weekly clean from 18 August 2026 set to run until 31 December 2026 produces twenty cleans and finishes on 29 December: the last Monday that fits, not the date you typed.

No repeatWeeklyFortnightlyMonthly
Number of occurrencesUntil date
Until 31/12/2026

Creates 20 cleans · every week · starting 18 Aug 2026 · ending 29 Dec 2026

The same section in Until date mode. The Until field will not accept a date before the clean's own first date, so an end date cannot land in front of the start.

Reading the summary line

Under the fields, in small Courier print, the drawer states what it is about to do:

  • Creates 12 cleans is the real count, not an estimate. It is the same number the save button uses.
  • every week restates the frequency in words, so a mis-clicked chip is obvious.
  • starting 18 Aug 2026 is the first date in the When section.
  • ending 3 Nov 2026 is the last date the pattern actually lands on.

The save button changes to match: Add 12 Recurring Cleans, then Creating 12 cleans… while it writes them, then a toast reading 12 recurring cleans created. Read the summary line before you press it. It is the only chance to notice that a stray keystroke turned 12 into 120.

Creates 12 cleans · every week · starting 18 Aug 2026 · ending 3 Nov 2026

Cancel Add 12 Recurring Cleans
Summary line and save button, which always agree with each other. Both are recalculated on every keystroke in the Repeat section.

Using it for contract work

This is what Repeat is for. A contract cleaning round is the same visit, at the same site, at the same time, for months at a stretch, and typing it out by hand is where scheduling mistakes come from.

The practical shape of it: build the clean once with the right services, the right duration and the right checklist, save it as a template so next year's renewal takes a single click, then use Repeat to lay the whole term onto the calendar. From there the contract is just work on the grid like everything else. It counts towards the summary strip, it feeds the reports, and each visit can be invoiced on its own or rolled up.

Mon
Tue
Wed
Thu
Fri
Sat
Sun
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
September in month view with two weekly contracts running through it. Every dot is its own clean record: nothing on this screen knows or cares that they were booked in one go.

Assign the cleaner while you are booking the series and CleanFlo checks every single date for a clash before it creates anything. If any of them overlap work that person already has, nothing is written and you get the dates listed back: Marek Kowalski has conflicting cleans on: 2026-09-15, 2026-10-06. Either move those two cleans first or book the series unassigned and put people against it afterwards.

Changing or ending a series

Because the cleans are real and separate, there is no "edit this series" control and no "this and all following" prompt. Opening one clean and changing it changes that clean. The other cleans in the run are untouched.

What that means in practice:

One visit moves
Open it, change the date or time, save. Nothing else in the run notices. This is the case Repeat handles best.
The price changes from January
You will have to edit each remaining clean, or delete the rest of the run and re-book it at the new price. Deleting and re-booking is usually quicker past about six cleans.
The contract ends early
Use Select in the Schedule header, click every remaining clean in the run, then Cancel on the bulk bar. They stay on the calendar as cancelled, and the cleaner is emailed and pushed about each one.
The contract was booked in error
Same selection, but Delete. That removes the cleans entirely and cannot be undone.

Selection mode is the tool for all of this. Turn it on, work through the weeks with the arrows selecting as you go, and the bulk bar at the foot of the screen keeps a running 14 cleans selected while you do it.

Change a repeating clean later

On the Schedule, a repeating clean is a round. Open any visit and choose Open round to see Every visit, then Pause it, Skip one visit, or Move the round to a new day. Edit time, cleaner or length changes every visit from a date you choose.

Common questions

Can I add a repeat to a clean I have already created?
No. The Repeat section only appears on a new clean. To turn a one-off into a regular, open it, use Duplicate from the Clean details drawer, and set the repeat on the copy. The original stays where it is.
What happens to a recurring clean when a bank holiday lands on it?
Nothing. CleanFlo has no holiday calendar and will happily book Christmas Day. Book the series, then find the dates you do not want and cancel or delete them individually.
How many cleans can one repeat create?
Up to 260 in a single save. That is the hard cap, and it applies whether you asked for a count or an end date. Five years of weekly cleans hits it exactly.
Do all the cleans in a series share anything?
They are tagged with the same series identifier and the frequency they were created at, which is how the data knows they belong together. Nothing in the interface exposes it yet, so treat them as separate cleans.
What’s next How to assign a cleaner and find cover The Assigned Staff picker and its live availability badges, what happens when a clean has nobody on it, how the Dashboard chases those, and reassigning a batch of cleans at once.

Did this answer your question?