How to export your data
At some point a bookkeeper is going to ask you for a list of invoices and a list of clients. There are three places to get one, and none of them takes longer than a click.
On this page
The quarter ends, the VAT return is due, and your accountant sends the same email they send every quarter. CleanFlo does not integrate with accounting software, so the answer to that email is always a CSV file. This guide is a map of which file, from where, with which columns in it.
Every export in the product is one click. No dialog, no column picker, no date-range prompt. The file downloads with the name it was going to have, and a toast tells you how many rows went into it.
Three places to export from
| Where | What you get | When to use it |
|---|---|---|
| Reports, from each card header | Seven purpose-built files, already summarised and filtered to the chosen date range | A quarterly figure, a client ranking, an incident list |
| The screen you are on | The raw list you are looking at, obeying whatever filter is applied | The current client list, the overdue invoices, the stock order |
| Settings → Export data | Six whole tables, or all six at once, unfiltered and unsummarised | Year end, moving to another system, a GDPR request |
The seven files Reports produces
Each card on Reports that has a table under it carries a ghost Export button in its header. The invoice ledger is the only one whose button reads Export CSV instead. All seven follow the same rules: the button is disabled when the table is empty, and the file always covers the whole row set behind the table rather than the ten rows on screen.
| File | Tab it comes from | Columns |
|---|---|---|
| top-clients.csv | Overview | Client, Cleans, Clean value, Avg per Clean. Only the five rows on screen, and money as bare two-decimal numbers with no symbol in the cell. |
| invoices.csv | Financial | Invoice Number, Status, Amount, Issue Date, Due Date. Status is the effective one in lower case, so a late invoice exports as overdue. |
| operations-by-staff.csv | Operations | Staff Member, Total Cleans, Completed, Cancelled, Completion Rate. Includes the "Unassigned" row, and the rate is written as "83%". |
| staff-performance.csv | Staff | Staff Member, Status, Total Cleans, Completed, Hours, Completion Rate. Hours to one decimal with no "h" on the end. |
| clients-report.csv | Clients | Client, Status, Cleans, Revenue, Clean value, Last Clean. The revenue and clean value headers each spell out in the header itself which is money received and which is work booked. |
| inventory-report.csv | Inventory | Item, Category, Quantity, Minimum, Unit, Status, using the display labels rather than internal codes. |
| incidents.csv | Health & Safety | Type, Severity, Status, Date, Description. Raw stored values, and the date is the first ten characters of the timestamp. |
Money columns in these files carry your own currency symbol in the header rather than in every cell, so a column of amounts stays numeric and a spreadsheet will sum it without being argued with. The success toast counts what went out: "Exported 14 invoices", "Exported 3 team members", "Exported 1 client".
The exports on the working screens
Four of the list screens have their own Export CSV button beside the pager. These are rawer than the Reports files: what you see, in the order you sorted it, with the filters you applied.
Your client records and the locations you clean for each one
| Name | Contact Name | Phone | Status | Sites | |
|---|---|---|---|---|---|
| Riverside Homes | Dan Petrie | dan@example.co.uk | 01326 555 118 | active | 3 |
| St Marks Medical Centre | Practice Manager | admin@example.co.uk | 01872 555 402 | active | 1 |
| Bay View Offices | Helen Ross | h.ross@example.co.uk | 01326 555 771 | active | 2 |
| Harbour Lettings | Owen Blake | lettings@example.co.uk | 01326 555 209 | inactive | 6 |
- Clients in the sidebar opens this screen.
- Add Client is the main action on this screen.
- New, in the title bar on every screen, adds a clean, client, quote, invoice and more.
- clients.csv
- From the Clients table. Six columns: Name, Contact Name, Email, Phone, Status, Sites. "Sites" is the count of locations against that client, not their addresses.
- invoices.csv
- From the Invoicing screen. Six columns: Invoice Number, Client, Amount, Issue Date, Due Date, Status. An ad-hoc invoice with no client record exports its recipient name in the Client column.
- inventory.csv
- From the Inventory table. Item, Category, Current Stock, Min Threshold, Unit, Status, over the whole filtered and sorted list.
- equipment.csv
- From the Equipment register. Name, Category, Serial Number, Condition, Status, Assigned To. A missing serial or borrower exports as an empty cell.
Note that invoices.csv exists in two different shapes. The one from the Invoicing screen carries the client name; the one from the Reports Financial tab does not, but is already cut to the date range. For a VAT quarter you want the Reports one. For a debt chase you want the Invoicing one, filtered to Overdue first.
| Invoice Number | Client | Amount (£) | Issue Date | Due Date | Status |
|---|---|---|---|---|---|
| INV-2026-014 | Riverside Homes | 408.00 | 2026-08-14 | 2026-08-28 | paid |
| INV-2026-013 | St Marks Medical Centre | 1260.00 | 2026-07-02 | 2026-07-16 | overdue |
| INV-2026-012 | Bay View Offices | 340.00 | 2026-07-28 | 2026-08-11 | sent |
Export data: everything at once
In Settings, under CleanFlo account, is Export data, and it is a different kind of export. The other buttons hand you a view. This one hands you the tables. Its subtitle says what it is for: "Download your data as CSV files. This fulfils your right to data portability under GDPR."
Your business, your account and how CleanFlo works for you
Exported files are in CSV format and can be opened in Excel, Google Sheets, or any spreadsheet application.
Each row exports its own table with a stable set of columns, and the files are dated: cleanflo_clients_2026-08-14.csv. The toast tells you the count, or tells you there was nothing there: "Clients exported (128 rows)." or "No clients to export."
- Clients
- Id, name, contact name, contact email, contact phone, created date.
- Locations
- Id, the client it belongs to, name, first address line, city, postcode, property type, created date.
- Cleans
- Id, title, scheduled date, start time, status, the staff name stored on the clean, created date.
- Invoices
- Id, client, status, issue date, due date, total, created date. No line items: this is the header row of each invoice, not its contents.
- Staff
- Id, full name, email, phone, job title, role, whether active, created date. Cleaners only.
- Services
- Id, name, type, base price, duration in minutes, created date.
Export All Data runs all six in order. While it works, the button label becomes a progress line reading "Exporting Invoices (4 of 6)…", a thin progress bar appears, finished rows turn green with a tick and the row in flight tints brand. The result is one combined file, cleanflo_export_2026-08-14.csv, with each table separated by a comment line such as "# Clients (12)". The final toast reads "All data exported (243 rows across 6 tables)."
Invoices shaped for Xero or QuickBooks
Underneath the six generic tables on Settings → Export data sits a second, smaller block headed Accounting software export, with two rows: Xero and QuickBooks, each with its own Export CSV. These are not another copy of invoices.csv. They are built to match the column headers each product's own invoice-import screen already expects, so a bookkeeper can hand the file straight to Xero or QuickBooks' import step rather than remapping columns by hand first.
Both flatten every invoice down to one row per line item, so a three-line invoice becomes three rows sharing the same invoice number: this is the shape both products' importers expect an invoice to arrive in. Draft invoices are left out entirely: a draft was never actually issued, so there is nothing yet for an accountant to book. Dates are written UK-style, day/month/year with slashes, which is the format both tools read by default.
- cleanflo_xero_invoices_2026-08-15.csv
- ContactName, InvoiceNumber, InvoiceDate, DueDate, Description, Quantity, UnitAmount, AccountCode. AccountCode is left blank on every row: which nominal code a line belongs to is a decision about your own chart of accounts, and only your bookkeeper can make it, usually during Xero's own import review step.
- cleanflo_quickbooks_invoices_2026-08-15.csv
- Invoice No, Customer, Invoice Date, Due Date, Item(Product/Service), Item Description, Item Quantity, Item Rate. Item(Product/Service) is written as a placeholder, "Cleaning Services", since matching a line to a specific item in your QuickBooks catalogue is the same kind of decision AccountCode is for Xero.
What to actually send your bookkeeper
A practical sequence for a VAT quarter, assuming you are on the standard scheme and accounting on invoices raised rather than cash received.
Set the range on Reports
Open Reports and choose "Last 90 days". It will not line up exactly with a VAT quarter, which is why the next step matters.
Export the invoice ledger
On the Financial tab, press Export CSV on the Invoice ledger card. You get every invoice created in the window with its status, amount, issue date and due date.
Trim to the quarter in a spreadsheet
Sort on Issue Date and delete the rows outside your quarter. This is the step the missing custom date picker costs you, and it takes about a minute.
Add the client names
If your bookkeeper needs to know who each invoice was for, take invoices.csv from the Invoicing screen instead, which carries a Client column, or send clients.csv alongside.
Print the report as a PDF for context
The printed Business Analytics Report states the period in words on its cover and gives the same figures in a form a human can read. Send both: the CSV to work from and the PDF to check against.
Common questions
Does CleanFlo connect to Xero, QuickBooks or Sage?
Does this connect directly to my Xero or QuickBooks account?
Do the exports include invoice line items?
Can I export data for one client only?
Why does my spreadsheet show odd characters in the accented names?
Previous: How to read your reports
Did this answer your question?
Good. Back to the app, then.
Sorry about that. Tell us what you were looking for and a person will answer it.
Still stuck?
Every message is read by a person on the CleanFlo team.