Start your free 14-day trial
Product Job Scheduling & RotasInvoicing & BACSHealth & SafetyStaff Mobile AppAnalytics & Reporting
Solutions Commercial CleaningDomestic CleaningEnd of TenancyFacilities ManagementWindow Cleaning
Free tools Cleaning Quote CalculatorPrice Per m² CalculatorUK VAT CalculatorProfit Margin CalculatorTrue Cost of a CleanerHoliday Entitlement CalculatorContract Tender CalculatorClient Lifetime Value All 14 free tools →
Learn How to start a cleaning businessHow to price cleaning jobsHow to win cleaning contractsHealth & safety for cleaners CleanFlo vs JobberCleanFlo vs ZenMaid
Browse all guides

Raising an invoice

An invoice in CleanFlo starts from work that has actually happened. The app keeps a running list of completed jobs nobody has billed yet, and the fastest way to raise an invoice is to let it write the lines for you.

In the app: Invoicing Open CleanFlo
On this page

The old way of billing a cleaning round is to sit down on a Sunday with a diary and try to remember what got done. The failure mode is not fraud, it is forgetting: a job goes in, gets cleaned, and never appears on a bill. CleanFlo closes that gap by linking each completed job to the invoice that billed it, and showing you everything that is not linked yet.

The Invoicing screen

The page is titled Invoicing with the subtitle Manage billing and track payments, and it has two tabs: Invoices and Settings. Everything in this guide happens on the first. The second is where your bank details and invoice branding live, and it is worth setting up before you raise anything.

app.cleanflo.io/invoicing
Search everything… ⌘K Invoicing
Invoicing

Manage billing and track payments

Send 1 Reminder Create Invoice
InvoicesSettings
Outstanding
£4,180.00
Overdue
£780.00
Paid (30 Days)
£462.00
Uninvoiced Work
£1,412.00
Uninvoiced Work   9 completed jobs across 3 clients — £1,412.00 waiting to be invoiced
Invoices
4 invoices
Search invoices… All Clients
AllDraftSentPaidOverdue
InvoiceClientAmountTimelineStatusActions
INV-2026-004 Bay View Offices £624.00 Issued: 14 Aug 2026Due: 28 Aug 2026 Draft Edit
INV-2026-003 Riverside Homes £2,776.00 Issued: 07 Aug 2026Due: 21 Aug 2026 Sent View
INV-2026-002 Harbour Lettings £780.00 Issued: 17 Jul 2026Due: 31 Jul 2026 Overdue View
INV-2026-001 St Marks Medical Centre £462.00 Issued: 26 Jun 2026Due: 10 Jul 2026 View
Showing 1–4 of 4 1 Export CSV
The Invoicing screen on its Invoices tab. Four money figures, then the Uninvoiced Work banner, then the ledger. Overdue rows carry a red wash and a red due date.
Outstanding
Everything invoiced and not yet paid: drafts, sent invoices and overdue ones added together. The single number most owners check first thing.
Overdue
The part of Outstanding that is past its due date. Red, because it should be.
Paid (30 Days)
Money that has actually landed in the last thirty days, measured from when you marked each invoice paid.
Uninvoiced Work
Completed jobs with no invoice attached. This is money you have earned and not yet asked for, which makes it the most interesting figure on the page.

The ledger below has six columns: Invoice, Client, Amount, Timeline, Status and Actions. Timeline is two stacked lines, Issued: over Due:, and the due line turns red once the invoice is late. Actions carries View on every row and Edit only on drafts, because a sent invoice is a document somebody already has.

The four statuses

DraftSentOverdue
The invoice status pills. Three of them are stored against the invoice. Overdue is not: it is worked out live from the due date every time the screen draws.
Draft
Written but not issued. The only status you can still edit or delete, and the status every new invoice is created at, even the ones you create with Create & Send.
Sent
The email went out and the provider accepted it, or you issued it another way and there was no address on file. From here the invoice is a document in somebody else's inbox.
Paid
You pressed Mark as Paid. It comes off Outstanding and joins Paid (30 Days).
Overdue
Sent, unpaid, and past the due date. Never stored: the app compares the due date with today every time it draws the pill, so an invoice becomes overdue at midnight without anybody running anything.

Raising one from completed jobs

When a job is marked Done and has a client and a price on it, CleanFlo puts it into the uninvoiced pool. The amber banner above the ledger is that pool, grouped by client. Collapsed, it reads as one line: the number of jobs, the number of clients and the total sitting there.

Uninvoiced Work   9 completed jobs across 3 clients — £1,412.00 waiting to be invoiced
Bay View Offices 4 jobs · £520.00 07 Aug · 14 Aug · 21 Aug · +1 more Invoice Now
Riverside Homes 3 jobs · £612.00 05 Aug · 12 Aug · 19 Aug Invoice Now
St Marks Medical Centre 2 jobs · £280.00 08 Aug · 15 Aug Invoice Now
The Uninvoiced Work banner expanded. Each client is one row, with up to three job chips and a +n more chip, and its own Invoice Now button.

Open Invoicing and look at the amber banner

If it is not there, nothing is waiting: every completed job with a client and a price is already on an invoice. The banner only appears when there is something in the pool.

Expand it

Press the header and it opens into one row per client, each showing the job count, the total, and up to three job chips carrying the date, the location and the price. A fourth and beyond collapse into a +2 more chip.

Press Invoice Now against the client you are billing

The drawer opens with that client already chosen and every one of their uninvoiced jobs already written in as a line. You did not type anything.

Read the lines

Each job-derived line is tagged with a small lowercase job chip and reads as the job title, then the location, then the date in brackets: Weekly Office Clean — Bay View Offices (07 Aug 2026). The unit price is the price stored on the job. Edit the wording freely, change a figure if you agreed something different, or delete a line entirely.

Check the dates

Issue Date is today. Due Date is today plus your default payment terms, which is fourteen days unless you have changed it under Invoicing → Settings. Both are editable per invoice.

Create the draft, or create and send

Create Draft saves it and leaves it for you to check. Create & Send saves it and emails it in one go. Either way the jobs on it are now linked to the invoice and drop out of the uninvoiced pool.

The invoice form, field by field

Whether you arrived by Invoice Now or by Create Invoice in the header, you get the same drawer: New Invoice, subtitled Create a new invoice for a client.

New Invoice
Create a new invoice for a client
Bill To Existing ClientNew Recipient
Client Bay View Offices
4 completed jobs auto-added — £624.00 total
Edit or remove any lines below
Issue Date 14 Aug 2026
Due Date 28 Aug 2026
CancelCreate DraftCreate & Send
The New Invoice drawer, opened from Invoice Now. The lightning notice at the top says how many completed jobs it has written in for you and reminds you that they are editable.
Bill To
A two-button toggle: Existing Client or New Recipient. The first gives you a dropdown of your active clients. The second gives you a Name and an Email, for a one-off you are not keeping on the books.
The uninvoiced jobs notice
Only in create mode, only with an existing client selected. While it looks: Checking for uninvoiced jobs…. When it finds some: 4 completed jobs auto-added — £624.00 total over Edit or remove any lines below. When it finds none: No completed jobs waiting to be invoiced — add line items manually below.
Issue Date
Defaults to today. This is the date printed on the document, and for VAT purposes it is normally your tax point.
Due Date
Defaults to today plus your default payment terms. This is the date the Overdue status is worked out from, so it is not decoration: leave it blank and the invoice can never go overdue and can never be chased with a reminder.
Line Items
The invoice itself. Described below.
Notes
Optional. Free text, printed under its own Notes heading on the document. The placeholder suggests Payment terms, internal notes…, and it is worth remembering that anything you put here is on the copy the client receives.

Changing the client after lines have been written clears the lines and starts again, which is deliberate: you should never end up billing one client for another client's work because you changed the dropdown halfway through.

The line editor

The line editor is a small spreadsheet. Its header row reads Description, Qty, Unit Price, VAT % and Total, followed by an unlabelled column holding the delete buttons. The VAT % column is only drawn when your company is marked as VAT registered, and when it is, the section label carries a badge reading VAT registered · rates per item.

VAT registered · rates per item
DescriptionQtyUnit PriceVAT %Total
Weekly Office Clean — Bay View Offices (07 Aug 2026) job 1 130.00 20 £156.00
Weekly Office Clean — Bay View Offices (14 Aug 2026) job 1 130.00 20 £156.00
Weekly Office Clean — Bay View Offices (21 Aug 2026) job 1 130.00 20 £156.00
Weekly Office Clean — Bay View Offices (28 Aug 2026) job 1 130.00 20 £156.00
Add line item
£520.00 Subtotal £104.00 VAT £624.00 Total
The line editor with four job-derived lines and the running totals beneath. The job chip marks a line CleanFlo wrote from a completed job rather than one you typed.
  • Description is free text, placeholder Item description. A line with no description is silently dropped when you save, which is how the blank last row disappears rather than becoming a £0.00 line.
  • Qty takes decimals as well as whole numbers, placeholder 1. Useful for hours.
  • Unit Price is the price of one, placeholder 0.00. It is a net figure when you are VAT registered.
  • VAT % is per line, placeholder 20. Every new line starts at 20 if you are VAT registered and 0 if you are not.
  • Total is calculated and cannot be typed into. It is the quantity times the unit price, plus that line's own VAT.

Add line item at the foot adds a blank row. The bin icon at the end of a row removes it, except when there is only one row left: an invoice always keeps at least one line in the editor. Underneath, the running totals read Subtotal, VAT and, in bold, Total. Note that the drawer says Total where the printed document says Total Due: same number, different audience.

Saving, and where the number comes from

The footer holds three buttons: Cancel, Create Draft and Create & Send. On an invoice you are editing there is only one, Save Changes.

Both create buttons write the invoice as a draft first. Create & Send then emails it and only promotes it to Sent once the email provider has accepted the message. If the email fails, the invoice survives as a draft and you are told so plainly: Invoice saved as a draft — we could not email it to Marcus Hale. Open it and use Send Invoice to try again. Nothing is lost and nothing pretends to have gone out.

Four things are checked before it saves, and the drawer jumps to the first field that fails: Please select a client., Please enter a recipient name., Please enter a recipient email. and Add at least one line item with a description.

Brennan Cleaning Ltd
Unit 4, Trelawney Yard, Truro TR1 2QF
01872 555 0148
VAT No: GB 412 8836 05
INVOICE
Invoice No. INV-2026-004
Issue Date 14 Aug 2026
Due Date 28 Aug 2026
Bill To
Bay View Offices
Marcus Hale
accounts@bayviewoffices.co.uk
01326 555 0192
Description Qty Unit Price VAT Amount
Weekly Office Clean — Bay View Offices (07 Aug 2026) 1 £130.00 20% £156.00
Weekly Office Clean — Bay View Offices (14 Aug 2026) 1 £130.00 20% £156.00
Weekly Office Clean — Bay View Offices (21 Aug 2026) 1 £130.00 20% £156.00
Weekly Office Clean — Bay View Offices (28 Aug 2026) 1 £130.00 20% £156.00
Subtotal£520.00
VAT£104.00
Total Due£624.00
Payment Details — BACS Transfer
BankLloyds Bank
Account NameBrennan Cleaning Ltd
Sort Code30-96-14
Account No.48210377
Reference INV-2026-004

Please quote INV-2026-004 as the payment reference so we can match your payment to this invoice.

The saved invoice as the client receives it. The number is assigned at save time, the totals are stored on the document, and the BACS block is drawn from your invoice settings.

The invoice number is generated by the database when the invoice is first saved, never by you and never editable afterwards. Its shape is a prefix, the year, and a three-digit sequence: the first invoice you raise in 2026 is INV-2026-001, the second is INV-2026-002, and the count starts again at 001 in January. The prefix defaults to INV and can be changed under Invoicing → Settings, which is how a firm running two trading names keeps two series apart.

Common questions

Why is Create Invoice sending me to the Settings tab instead of opening the drawer?
Because your BACS details are missing. Until a sort code and an account number are saved, an amber gate reading "BACS payment details required" sits above the ledger and both Create Invoice and Invoice Now jump to the Settings tab instead of opening the drawer. An invoice with no way to pay it is not much use, so the app blocks it rather than letting one out.
Can I invoice two clients on one invoice?
No. An invoice belongs to one client or one ad-hoc recipient, and the uninvoiced pool is grouped by client for the same reason. Bill each one separately.
What happens to the jobs on an invoice if I delete it?
They go back into Uninvoiced Work so you can bill them again. The confirmation says so before you press it, and afterwards you are told how many came back. Deleting is only available on drafts.
Can I raise an invoice for work that is not a job in CleanFlo?
Yes. Press Create Invoice in the header, choose the client, ignore the "no completed jobs waiting" line, and type your own line items. Nothing forces an invoice line to come from a job.
Is there a recurring invoice?
No. There is no recurring invoice, no duplicate and no credit note. What is recurring in CleanFlo is the job: book a repeating job, and each completed occurrence arrives in Uninvoiced Work ready to go on the next bill.