The simplest way to keep track of cleaning clients is one spreadsheet with two tabs: a client list with one row per client, and a job log with one row per clean that records whether it's been paid. Add three formulas that show who owes you, when each client is due next and what you made this month, and check it for ten minutes once a week.
Most cleaners start with a notes app, a calendar and a lot of memory. That works with five clients. Somewhere around fifteen, a regular quietly stops booking, a payment from three weeks ago never shows up, and you can't remember whether the Johnsons have a dog you need to keep inside. This guide shows you how to set up a simple client tracker in free Google Sheets (or Excel), with the exact columns, the formulas to copy, the reminder texts to send, and a weekly routine that keeps it all current.
Key Takeaways
- Use two tabs: Clients (one row per client) and Jobs (one row per clean). Everything else is a formula on top of those two lists.
- In QuickBooks' 2025 survey of 2,487 U.S. small businesses, 56% were owed money from unpaid invoices, averaging $17,500 each. A "Paid?" column you actually check is the cheapest fix.
- Three formulas do most of the work: SUMIFS for what each client owes, MAXIFS for their last clean, and FILTER for today's to-do list.
- Color any unpaid job older than 7 days red, and send one friendly reminder the same day.
- Ten minutes every Friday is enough to keep the whole thing accurate.
Why a simple spreadsheet beats memory and a calendar
Your calendar knows when you're cleaning. It doesn't know who paid, who's due for a deep clean, or which client hasn't booked since August.
Money is where this hurts first. In the Intuit QuickBooks 2025 Small Business Late Payments Report, 56% of the small businesses surveyed said they were owed money from unpaid invoices, with an average of $17,500 per business, and 47% had invoices more than 30 days overdue. A cleaning business is smaller than most of those companies, but the pattern is the same: when nobody's watching the "paid" column, small amounts pile up.
A spreadsheet fixes that because it puts every client and every clean in one place you can sort, filter and add up. You don't need special software to start. Free Google Sheets works on your phone and your computer, and you can share it with a partner or an employee if you have one.
Step 1: Build your client list
Start a new Google Sheet and name the first tab Clients. Each client gets one row. These are the columns that matter:
| Column | What goes in it | Example |
|---|---|---|
| A: Name | First and last name | Dana Reyes |
| B: Phone | The number they text from | 555-0142 |
| C: Address | Full address, plus unit | 42 Maple St, Apt 3 |
| D: Frequency | Weekly, Every 2 weeks, Monthly or One-time | Every 2 weeks |
| E: Price | What they pay per clean | 140 |
| F: Notes | Entry, pets, alarm, preferences | Key under mat, cat stays in bedroom |
| G: Last clean | A formula (Step 3) | Oct 24 |
| H: Next clean | A formula (Step 3) | Nov 7 |
| I: Owes | A formula (Step 3) | 0 |
Keep the Frequency column consistent by making it a dropdown. In Google Sheets, select column D, then go to Data > Data validation and add the four options. That way "every two weeks", "biweekly" and "2 wks" don't end up as three different things.
The Notes column is the one you'll thank yourself for. Use it for gate codes, the alarm, the dog that slips out the front door, or the client who hates the smell of bleach. Write it down once and you never have to ask again.
Step 2: Log every job in one row
Add a second tab called Jobs. Every clean you do becomes one new row, added the day you do it:
| Column | What goes in it | Example |
|---|---|---|
| A: Date | The day of the clean | Oct 24 |
| B: Client | Exactly as written on the Clients tab | Dana Reyes |
| C: Service | Standard, Deep, Move-out | Standard |
| D: Price | What you charged | 140 |
| E: Paid? | Yes or No (a dropdown) | No |
| F: Paid date | When the money arrived | Oct 26 |
| G: Method | Cash, Zelle, Venmo, card, check | Zelle |
Two rules keep this tab useful. Use a dropdown for the Client column (Data > Data validation > Dropdown from a range, pointing at Clients!A2:A) so names always match. And never delete a row when a client pays: change "No" to "Yes" and add the date instead. That history is what the formulas read.
Say Rosa runs a two-person cleaning business with 22 regulars. Before the sheet, she kept payments in her head and her banking app. After a month of logging every job, she sorted the Paid? column and found three cleans from September that nobody had paid for, about $420 in total. All three clients paid within a day of a friendly text.
If you'd like this already built, The AI Office Manager is a ready-made version for Google Sheets and Excel: client list, job log, payments and a Today tab, plus a Quote Calculator and an AI helper for your weekly texts.
Step 3: Add the three formulas that do the work
You only need three formulas to make the tracker think for you. Type each one in row 2 of the Clients tab, then drag it down.
What each client owes
In I2, add up every unpaid job for that client:
=SUMIFS(Jobs!D:D, Jobs!B:B, A2, Jobs!E:E, "No")
Any number above zero means they owe you money. Sort the Clients tab by this column and the people to chase are at the top.
When they were last cleaned
In G2, find the most recent date in the job log for that client:
=MAXIFS(Jobs!A:A, Jobs!B:B, A2)
Format the column as a date (Format > Number > Date). MAXIFS works in Google Sheets and in Excel 2019 or newer.
When they're due next
In H2, add the right gap based on their frequency:
=IF(G2="", "", IF(D2="Weekly", G2+7, IF(D2="Every 2 weeks", G2+14, IF(D2="Monthly", EDATE(G2, 1), ""))))
One-time clients stay blank, which is what you want. Now you can sort by Next clean and see your week coming before you've opened a calendar.
What you made this month
On a third tab called Money, add one cell with this month's income. For November 2026, it looks like this:
=SUMIFS(Jobs!D:D, Jobs!E:E, "Yes", Jobs!F:F, ">="&DATE(2026,11,1), Jobs!F:F, "<"&DATE(2026,12,1))
Change the two dates each month, or make a small table with one row per month. It counts money that actually arrived, which is the number that matters when you're paying your own bills.
Step 4: Make unpaid jobs impossible to miss
Formulas only help if you look at them, so make the problems jump out.
On the Jobs tab, select A2:G, then go to Format > Conditional formatting. Choose "Custom formula is" and enter:
=AND($E2="No", TODAY()-$A2>7)
Pick a light red fill. Any clean that's more than a week old and still unpaid turns red, right there in the log.
Then add a Today tab that lists every unpaid job in one place:
=FILTER(Jobs!A2:G, Jobs!E2:E="No")
This is the tab to open on Friday. If it's empty, you're fully paid. If it isn't, you have your list of texts to send.
Step 5: Send reminders the same day you see them
Once a row turns red, send a short, friendly message that day. Often the client has simply forgotten, and a quick text sorts it out.
Keep these as text shortcuts on your phone.
For a payment reminder:
"Hi [name], just a quick note that the clean on [date] ($[amount]) hasn't come through yet. No rush, here's my [Zelle/Venmo] if that's easiest: [details]. Thanks so much!"
For a regular who's gone quiet (their Next clean date has passed and nothing's booked):
"Hi [name]! It's been a little while since your last clean. I have openings on [day] and [day] next week. Want me to save you a spot?"
For the day before a clean:
"Hi [name], just a reminder that I'll be there tomorrow at [time]. Anything special you'd like me to focus on?"
Send them from your own phone in your own words. Clients book cleaners they trust, and a message that sounds like you does more than any automated email. For the texts you send new clients before they book, see how to quote a house cleaning job by text.
Step 6: Keep the records you'll need at tax time
The same sheet doubles as your income record. The IRS recordkeeping guidance for small businesses says good records help you track how your business is doing, prepare your tax return, and support the income and deductions you report. It also says to keep records as long as you need them to prove that income or those deductions.
Two small habits make tax time much easier. Add an Expenses tab with date, what you bought, amount and a photo link to the receipt (supplies, mileage, equipment). And download a copy of the whole sheet at the end of each year, so you have a frozen record that won't change if someone edits the live file.
This sheet only tracks your numbers. If you're unsure what you can deduct, a local tax preparer can tell you in one appointment.
A 10-minute weekly routine
The tracker only works if it stays current, and that doesn't take long:
- After each clean (30 seconds): add the row to Jobs. Mark it paid on the spot if they paid you.
- Friday (5 minutes): open the Today tab, mark anything that's been paid, and text anyone who's still red.
- Friday (3 minutes): sort Clients by Next clean, and text regulars whose date has passed with nothing booked.
- First of the month (2 minutes): look at the Money tab and compare it with last month.
Imagine a solo cleaner, Jen, who used to spend Sunday evenings scrolling through texts to work out who she'd cleaned and who'd paid. With the sheet, her Friday check takes about ten minutes, and her Sundays are hers again.
When you'll outgrow a spreadsheet
A spreadsheet is the right tool for most solo cleaners and small teams. It's free, you control it, and you can change it whenever you like.
You'll know it's time for scheduling software when you have several employees who need their own routes, when clients want to book and pay online on their own, or when you're sending dozens of reminders a week by hand. At that point, paying for a booking app can save more time than it costs.
The AI Office Manager page has a preview of the Quote Calculator that shows how a spreadsheet can price a job and write the text for you, and you can see every kit we make for cleaners on the cleaning business templates page.
Frequently asked questions
What's the best way to keep track of cleaning clients?
For most small cleaning businesses, a two-tab spreadsheet is the best place to start: one tab for clients and one for jobs, with formulas for what each client owes and when they're due next. It's free in Google Sheets, works on your phone, and you can move to paid software later if you outgrow it.
Is Google Sheets or Excel better for a cleaning business?
Google Sheets is easier for most people because it's free, saves automatically and works on your phone. Excel works just as well on a computer, and the formulas in this guide (SUMIFS, MAXIFS, FILTER) work in both, as long as you have Excel 2019 or Microsoft 365 for MAXIFS and FILTER.
How do I track recurring cleaning clients?
Give each client a Frequency (weekly, every 2 weeks or monthly) and calculate their next clean from their last one. Sorting by that "next clean" date each week shows who's coming up and who's slipped past their usual date without booking.
How do I get cleaning clients to pay on time?
Log every job with a Paid? column, check it weekly, and send a friendly reminder as soon as a clean is a week overdue. Offering easy payment options like Zelle or Venmo and asking for payment on the day of the clean also cuts down on late payments.
Do I need software to run a cleaning business?
Not at first. A spreadsheet handles clients, schedules and payments for a solo cleaner or a small team. Software starts to pay for itself when you have several employees or clients who want to book and pay online.
Start your tracker today
Set up the two tabs tonight: Clients and Jobs. Add your regulars, log the last two weeks of cleans, and paste in the three formulas. By Friday, you'll know exactly who owes you, who's due next, and what you made this month.
If you'd rather skip the setup, The AI Office Manager gives you all of this ready to fill in, with a Today tab, a Quote Calculator, money tracking and an AI helper that writes your client texts using only your facts. It's pay what you want from $29, and it opens in free Google Sheets or Excel.
