Cleaning invoices are unusual because they bill for something that happened repeatedly and invisibly. The customer was not there, the work leaves no obvious artefact, and the invoice arrives at the end of a month. That combination makes one line more important than anything else on the document: exactly which visits are being charged for.
Name the visits, not just the month
Four cleans on the second, ninth, sixteenth and twenty third is a line nobody can argue with. Monthly cleaning is a line that generates a phone call every time a holiday falls awkwardly. Listing the dates costs nothing when the schedule already holds them and removes most of the queries a cleaning business receives.
The estimate it came from should be visible
A recurring price agreed once is queried repeatedly, usually by somebody new in the customer accounts department. An invoice that references the agreement and the price per visit answers that without a meeting, and a free template that has no field for it will produce that meeting every few months.
Commercial and residential need different documents
A commercial customer needs a purchase order reference, a site name, and often a breakdown by site. A residential customer needs a total and a way to pay it. Using one template for both makes the commercial one thin and the residential one intimidating, and both are easy to fix.
Keep it with the schedule that produced it
The invoice, the agreement behind it and the visits it covers should be findable together, from the customer. Records supporting income are kept for tax purposes anyway, and the practical value is that a query about March is answered in a minute rather than by three people searching an inbox.
Questions people ask about cleaning invoice template
Should extras be on the same invoice?
Yes, as separate lines with dates. Merging an extra deep clean into the recurring figure is the fastest way to make the recurring figure look wrong.
Monthly in advance or in arrears?
A commercial decision, and whichever you choose the invoice should say which visits it covers so nobody has to work it out.
What about missed visits?
Credit them explicitly on the invoice. A silent adjustment looks like an error and generates the call you were avoiding.