2026-09-15

Running a commercial cleaning crew without spreadsheets

Most commercial cleaning companies start with a shared spreadsheet: one tab per building, a column for each night's crew, a checkbox for "done." It works for the first ten accounts. It stops working around the fifteenth, and not for the reason people expect.

The failure isn't that the spreadsheet gets too big. It's that it can't answer the three questions an operations manager actually needs answered every morning: which sites didn't get serviced last night, which ones are running low on supplies, and which client complaints are still open. A spreadsheet can hold that information. It can't surface it.

What breaks first

Quality control goes first. A checklist in a group chat photo is not a record — it's a message that scrolls away. When a client calls asking why the lobby floor wasn't stripped and waxed on schedule, "let me check the group chat" is not an answer that keeps the account.

Supply tracking goes next. Someone runs out of glass cleaner at 11pm on a Tuesday and either skips the task or drives to a 24-hour store. Neither shows up anywhere until the invoice does.

Then it's crew accountability. Without a clock-in tied to the actual site — not just a text saying "here" — there's no way to know if a two-hour job actually took two hours, or if the same key fob let someone into three buildings that were never touched.

What to track instead

Three things cover most of it: a job per site per visit (not per contract), a checklist attached to that job with photo proof on the items that matter, and a clock-in that's verified against the site's location. That's the whole system. Everything else — reporting, supply reorder points, compliance documents for the accounts that require them — sits on top of those three records.

The point isn't more process. It's moving the record of what happened out of people's phones and into something the next morning's dashboard can actually read.