The Toronto Cleaning Company That Stopped Re-Typing the Same Invoice Every Week
By the InvoiceFlow team — published 16 June 2026 — 10 minute read
Diana Okafor runs a cleaning company in Toronto called Maple & Mint. It is not a big operation — Diana, her sister Grace who handles the books two evenings a week, and a rotating crew of five to seven cleaners. But it is a busy operation, because the business is built almost entirely on repeat work. People don't get their home cleaned once. They get it cleaned every week, or every other week, indefinitely, and that recurring rhythm is exactly what makes a cleaning business viable.
It is also what nearly buried Diana in paperwork. By the time the company had grown to forty-odd active clients, the recurring nature of the work — the thing that made the money predictable — had turned billing into a relentless, repetitive chore. "Every week was the same invoices," she said. "Same clients, same address, same amount, just a new date. I was copying my own work over and over. It felt insane, and it was eating Grace's Thursday nights."
This is the cleaning-business paradox: the recurrence that makes you money is the same recurrence that drowns you in admin. Here's how Maple & Mint dug out — and the approach works for any service that bills the same clients on a fixed cadence.
The shape of the workload
Maple & Mint's client list breaks down into a few clear types:
- Weekly residential — the largest group. Roughly twenty-five homes, cleaned every week, each at a flat per-visit rate (most around CA$140–$180).
- Biweekly residential — about ten homes cleaned every other week, similar rates.
- Commercial accounts — five small offices and a dental clinic, billed monthly, with different terms, different tax treatment, and purchase-order numbers that have to appear on the invoice.
So in a typical month, Grace was generating something like 25 weekly invoices × 4 weeks, plus 10 biweekly × 2, plus the commercial batch — well over a hundred and twenty invoices a month, the overwhelming majority of them identical to the previous one except for the date. She'd built a system of duplicating last week's PDFs and editing them. It worked, in the sense that the invoices went out. It also took hours and failed in quiet, expensive ways.
The failures of copy-and-edit
- Skipped clients. In a list of forty near-identical jobs, it's genuinely easy to miss one. A client would go three weeks without an invoice, then everyone would have to reconstruct which visits had and hadn't been billed.
- Number collisions and gaps. Duplicating PDFs meant invoice numbers were assigned by hand, and hand-numbering across a hundred-plus monthly invoices produced duplicates and gaps — a real problem when the commercial clients' accountants expect clean, sequential numbering.
- Residential and commercial bleeding together. The two halves of the business have different rules. Mixing them in one undifferentiated list meant commercial invoices occasionally went out without a PO number, or with the residential tax setup, which the office managers bounced straight back.
The core fix: recurring schedules
The single change that reclaimed Grace's Thursdays was switching the repeat work to recurring schedules in InvoiceFlow. The idea is simple and, once set up, nearly invisible: instead of re-creating an invoice each cycle, you define the invoice once with a cadence, and the app generates it on schedule.
For each weekly client, Diana set up a recurring schedule: the client's details, the line items (the standard clean, plus any add-ons like inside-the-fridge or windows), the per-visit rate, the tax treatment, and a weekly frequency with a start date. The biweekly homes got the same treatment on a fortnightly cadence. The commercial accounts became monthly schedules with their specific terms and PO references baked in.
Setting up forty-odd schedules took one focused evening — about the length of a single old billing night. The difference is that it was a one-time setup, not a weekly tax on her time. From then on, the invoices generate themselves.
What the app does on schedule
Once the schedules are live, here is what happens automatically on each client's billing day:
- An invoice is generated from the schedule's template, populated with the client, line items, rate, and tax.
- It's numbered sequentially, slotting into the same numbering scheme as every other invoice — no manual numbers, no collisions, no gaps.
- The PDF renders in the company's chosen template, with the Maple & Mint logo placed automatically.
- Payment instructions (Diana's bank details and an e-transfer note) appear on the invoice so clients know exactly how to pay.
That third point — correct sequential numbering on auto-generated invoices — sounds mundane but was a genuine relief. Diana's old hand-numbering was the source of the duplicate-and-gap problem that her commercial clients' bookkeepers kept flagging. Letting the schedule own the numbering ended it.
Keeping residential and commercial apart: client groups
Automation only helps if the two halves of the business don't contaminate each other. Maple & Mint's residential and commercial work follow different rules, and the tool that keeps them clean is client groups and categories.
Diana set up two top-level client categories — Residential and Commercial — and because the categories support parent-and-child sub-categories, she nested the residential clients into Weekly and Biweekly beneath Residential. The commercial side got its own sub-categories for offices and the clinic.
The payoff is twofold. First, organization: with filters, Grace can pull up exactly "Commercial accounts" to handle the month-end batch, or "Weekly residential" to check the week's schedule, without scrolling past the other half of the business. There's a dedicated client-groups management screen for keeping this tidy as the list grows. Second, correctness: because each commercial client's record carries its own settings — terms, tax treatment, the details that differ from residential — the recurring schedule generates the right invoice for that client type. No more residential tax setup landing on a commercial invoice.
Per-client settings that travel with the schedule
Not every client in a group is identical. One weekly home is on a slightly higher rate because it's a big house with pets. A commercial client negotiated different payment terms. InvoiceFlow keeps these as per-client settings — things like the client's currency or late-fee treatment live on the client record — so the recurring schedule respects each client's specifics instead of forcing everyone into one rigid template.
The review step that keeps it human
Diana doesn't run the schedules as fully unattended auto-send, and she's deliberate about that. The point of automation here isn't to remove her judgment; it's to remove the typing. Each billing morning she opens the app, looks at the generated invoices, and sends them — a few minutes instead of a few hours.
That review window matters because cleaning is a real-world service with real-world exceptions: a client skipped a week for vacation, someone added a deep-clean on top of the regular visit, a home was inaccessible and the visit didn't happen. The review step is where Diana catches these — pausing a schedule for the vacation week, adding a one-off line for the deep clean — before anything goes out wrong. The automation handles the 90% that's identical; her two-minute review handles the 10% that isn't.
Tracking who's actually paid
Generating invoices is only half the job. The other half is knowing who has paid, and for a high-volume recurring business that can be just as overwhelming as the invoicing was. Here it's worth being clear about what the app does: InvoiceFlow is not a payment processor. Clients pay Diana by e-transfer or bank deposit, the way they always have. What the app does is let Diana record each payment and instantly see the state of every account.
When a client pays, Grace marks the invoice Paid; if a commercial client pays part of a month's balance, she records it and the invoice shows Partially Paid with the remaining amount due. Because every recorded payment updates the numbers, the Analytics view shows paid versus outstanding across the whole client base — and, crucially, which accounts are behind. In a weekly business, a single client quietly falling four weeks behind can add up fast; surfacing that as an outstanding balance instead of a vague worry is the difference between catching it at week two and discovering it at month-end.
For the accounts that do drift, the late-fee and reminder tools mean a balance past its due date doesn't just sit there silently — though, as with the schedules, Diana keeps a human in the loop rather than firing off automatic penalties at long-standing residential clients.
What changed for Maple & Mint
- Hours back every week. Grace's Thursday-night billing marathon became a short morning review. Annualized, that's dozens of evenings returned to two people who were doing this work after their actual jobs.
- No more skipped invoices. A schedule fires whether or not anyone remembers it. Clients are billed on time, every time, which clients read as reliability.
- Clean numbering. The duplicate-and-gap complaints from commercial bookkeepers stopped, because the app owns sequential numbering across every invoice.
- Residential and commercial stay in their lanes. Groups and per-client settings mean each invoice carries the right terms, tax, and PO references for its client type.
- Outstanding balances are visible. A client falling behind shows up as a number, not a nagging feeling.
The wider lesson for recurring-service businesses
Cleaners, lawn care, pool service, pest control, window washing, dog walking, IT retainers, anything-as-a-service — if you bill the same clients on a fixed cadence, you have Diana's problem and you can use Diana's fix. The recurrence that makes the business stable is the same recurrence that, done by hand, slowly consumes the owner's evenings and introduces quiet errors.
The pattern that solves it has three parts. Put the repeat work on recurring schedules so invoices generate themselves with correct sequential numbering. Use client groups and categories to keep different parts of the business — residential versus commercial, in Diana's case — from contaminating each other's rules. And record payments diligently so an outstanding balance is something you can see rather than something you fear. Set up once; review for a few minutes; spend the rest of the time actually running the business.
"I started a cleaning company to clean," Diana said. "Not to spend Thursday nights re-typing the word 'cleaning' onto forty invoices. Now I don't." Maple & Mint took on eight new clients this spring without adding a single billing hour.