Browse all guides
Quoting for work
A quote is work you have priced and offered but not yet won. CleanFlo keeps them on their own screen, on their own numbering, with their own statuses, until one of them turns into an invoice or runs out of time.
On this page
Quotes and invoices share a lot of machinery in CleanFlo: the same line editor, the same VAT handling, the same catalogue picker, the same printed-paper look. What they do not share is a life cycle. An invoice is a demand for money and ends up paid. A quote is an offer and ends up accepted, declined or out of date.
The Quotes screen
Quotes sits in the Business group of the sidebar, one above Invoicing. The page is titled Quotes with the subtitle Create and send quotes to clients, and there is a single button in the header: Create Quote.
Create and send quotes to clients
| Quote | Recipient | Amount | Dates | Status | Actions |
|---|---|---|---|---|---|
| QUO-2026-001 | Bay View Offices | £753.60 | Issued: 14 Aug 2026Valid until: 13 Sep 2026 | Sent | View |
| QUO-2026-002 | Harbour Lettings | £2,940.00 | Issued: 11 Aug 2026Valid until: 10 Sep 2026 | Accepted | View |
| QUO-2026-003 | Trelawney Court Managementsam@trelawneycourt.co.uk | £1,180.00 | Issued: 09 Aug 2026Valid until: 08 Sep 2026 | Draft | Edit |
| QUO-2026-004 | St Marks Medical Centre | £1,344.80 | Issued: 02 Jul 2026Valid until: 01 Aug 2026 | Expired | View |
The ledger below carries six columns: Quote, Recipient, Amount, Dates, Status and Actions. Dates is two stacked lines, Issued: over Valid until:, and the second turns amber and bold once the quote has expired. Actions holds View for every row and Edit only on drafts. Clicking anywhere else in the row opens the quote too.
Above the table, three controls narrow the list: a search that matches the recipient name or the quote number, a client dropdown whose first option is All Clients, and the status filters All, Draft, Sent, Accepted, Declined and Expired. Ten rows to a page, and an Export CSV beside the pager that writes quotes.csv from the whole filtered set.
The five statuses
Building a quote
Create Quote opens a wide drawer titled New Quote, subtitled Create a quote for a client. It reads top to bottom in the order a quote is written.
The line editor has a header row reading Description, Qty, Unit Price, VAT % and Total, plus an unlabelled column for the delete buttons. The VAT % column only appears when your company is marked as VAT registered, and when it does the section label carries the badge VAT registered · rates per item.
| Description | Qty | Unit Price | VAT % | Total |
|---|---|---|---|---|
| Weekly Office Clean service | 4 | 85.00 | 20 | £408.00 |
| Communal Stairwell Clean service | 4 | 45.00 | 20 | £216.00 |
| Window Cleaning, ground floor glazing | 24 | 4.50 | 20 | £129.60 |
Add from catalogue opens a small dialog headed Add Item with three tabs: Services, Add-ons and Products. Picking a service or add-on writes its name as the description and its base price as the unit price. Picking from Products takes the figure from your stock cost, which is why that tab carries the warning Product prices come from your stock cost — set the price you charge on the line.
Lines taken from the catalogue carry a small lowercase tag in the description cell reading service or product, and that tag prints on the quote as well. Lines you typed yourself carry nothing.
The footer has two buttons, Cancel and Create Quote. There is deliberately no separate "save draft": both would have written the same thing. Four things are checked before it saves, and the drawer jumps to the first one 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.
Reusing a set of line items as a template
Once you have added at least one item from the catalogue — a service, an add-on or a product picked through Add from catalogue, not a line you typed by hand — a Save as template link appears under the line editor. Clicking it opens an inline name field and a Save button, right there in the drawer.
A template does not remember a price. It remembers which catalogue item was used and how many of it, nothing else. Catalogue prices move, and a template built in January should not still be charging January’s rates in June.
A new quote’s drawer shows a Load Template row above the line editor whenever you have at least one saved — the same quick-start row Job Templates already uses on the Schedule screen. Clicking a template’s chip replaces whatever is in the line editor with that template’s items, freshly priced.
Templates themselves live behind a Templates button in the Quotes page’s own toolbar, next to Create Quote, carrying a small count badge once you have any saved. It opens a list of every template with a delete button on each row and a confirm-before-delete dialog. There is no rename and no edit-in-place: changing a template means deleting it and saving a new one.
The document your client receives
Opening a quote replaces the whole screen with the quote itself: a breadcrumb back to Quotes, a row of actions, and then the paper. It is drawn in the accent colour and font you chose for your invoices, with your logo if you have uploaded one, so a quote and the invoice that follows it look like they came from the same company.
| Description | Qty | Unit Price | VAT | Amount |
|---|---|---|---|---|
| Weekly Office Clean | 4 | £85.00 | 20% | £408.00 |
| Communal Stairwell Clean | 4 | £45.00 | 20% | £216.00 |
| Window Cleaning, ground floor glazing | 24 | £4.50 | 20% | £129.60 |
Prices are held for thirty days from the issue date. Frequency can be varied at any point with two weeks of notice either way.
Payment fourteen days from invoice. Public liability insurance to £5m, certificate available on request. All operatives are DBS checked and carry photographic identification.
Four details on that sheet are worth naming, because they are the ones people expect to match the invoice and do not.
- The client block is labelled Quote For, not Bill To. You are not billing anybody yet.
- The grand total row reads Quote Total, not Total Due. Nothing is due.
- The number series is its own: QUO-2026-001, running separately from the INV series, so quote three and invoice three are unrelated documents.
- There are no bank details. The BACS block belongs to the invoice; a quote deliberately does not carry one.
The dates block on the right shows Issue Date, Valid Until and the status pill, so a printed quote says on its face whether it is still live. Behind the sheet on screen sits an offset pink carbon copy, the way an NCR duplicate book looks: it is there to say that this is a document with a counterfoil, and it is hidden when you print so only the top sheet is issued.
Sending it
A draft quote gives you three buttons above the paper: Edit, Send Quote and, in red, Delete. There is no send dialog. Pressing Send Quote emails the quote there and then, with no subject line to write, no covering message to compose and nobody to pick as the recipient. Whatever you wanted to say should already be in the Introduction field.
The email goes first and the status changes second, on purpose: a quote only reads Sent once it really has been. If your email provider refuses the message you are told The email to Marcus Hale was not accepted. The quote is still a draft. and nothing has moved. If there is no address on file at all the send is skipped and the toast reads Quote marked as sent (no email address on file), which is the honest way to record a quote you posted or handed over.
Chasing an unanswered quote
A quote sitting at Sent with nobody replying is chased for you. CleanFlo sends two automatic follow-up emails — one three days after it was sent, one seven — reusing the same quote email with the cover message replaced by Following up on the quote below — it’s still open for you to accept. Nothing else about the quote changes.
A Send follow-up reminders toggle in the quote drawer is on by default and can be switched off per quote — useful for a client you are chasing by phone instead, where a second email would be redundant.
When the client says yes
Every quote email carries a real View and Accept Quote button, linking to a public page the client can open with no login and no PIN — it works even for a prospect who has never had a client-portal account. The page shows the quote itself, its line items and total, and two buttons: Accept Quote and Decline.
Declining, from either side, is not quite one click. Pressing Decline reveals an inline reason picker — a preset list (Price too high, Chose another company, No longer needed, Bad timing, Other, with a free-text box when Other is picked) and a Confirm Decline button beneath it. The reason is optional but asked for every time, on the client’s page and on your own.
You can still resolve a quote yourself from its own screen exactly as before, with the same Accept and Decline buttons above the paper — useful for a client who says yes on the phone. Both paths write to the same status, so a quote a client accepted through their link and one you marked accepted by hand look identical afterwards.
A quote accepted through the client’s own link, rather than by you, is surfaced two ways so it cannot be missed: a small badge on the sidebar’s Quotes item, counting quotes accepted but not yet seen, which clears the moment you open the Quotes screen; and a banner on the Dashboard.
An accepted quote then offers exactly one thing: Convert to Invoice.
Convert to Invoice has no dialog, no confirmation and no message. It takes you straight to Invoicing with the new-invoice drawer already open and partly filled in. What arrives with it is narrower than most people expect.
| Carried across to the invoice | Left behind on the quote |
|---|---|
| The client, pre-selected in Bill To | The quote number: the invoice gets its own INV number |
| Each line's description | The issue date and the valid-until date |
| Each line's unit price | The introduction and the scope of work |
| Each line's quantity | The notes and the terms and conditions |
| Each line's VAT rate | The service or product tag on each line |
Everything else on the invoice is fresh: the issue date is today, the due date is today plus your default payment terms, and the notes field is empty. If the quote went to a one-off recipient rather than a client on your books, the drawer opens with no client selected and you choose one, or switch to New Recipient and type the details again.
The quote itself does not change. It stays Accepted, the Convert to Invoice button stays where it is, and nothing links the invoice back to the quote it came from. That means converting twice makes two invoices, so it is worth checking the ledger before pressing it a second time.
Common questions
Can my client accept a quote themselves, from a link?
A quote expired but the client still wants the work. What now?
Does converting a quote to an invoice mark it as invoiced?
Can I delete a quote once it has gone out?
Why does my quote have no bank details on it?
If I put my prices up, do my saved quote templates still charge the old price?
Still stuck?
Open Support in the app and send us a ticket, or email the team. A real person reads every one.