Recording expenses and reimbursements
Labour has always had a rate. CleanFlo has priced a clean from it since the beginning. Everything else a clean actually costs, from the chemicals to the van to the insurance, had nowhere to go. Expenses is where it goes: what the business bought, and what it owes somebody who paid for something themselves.
On this page
Expenses is a company-level module, on by default and off for a business that would rather not track this yet (Modules). Switching it off hides the screen and refuses new spend at the database, not only on screen; nothing already recorded is deleted, and switching it back on restores the ledger exactly as it was left.
It is also owner-only. Expenses is money-out: the company’s whole cost base, its suppliers, its insurance premium, its rent. CleanFlo keeps money and the sales pipeline off a supervisor’s reach the same way Invoicing already is. A supervisor’s sidebar never shows this screen at all.
One ledger, two kinds of spend
Every row is one of two things, and they differ only in who is owed money at the end. A company purchase is the business paying directly, by card, transfer or direct debit, and nobody is owed anything: it is simply recorded. A staff reimbursement is a cleaner spending their own money on the business’s behalf, and it carries a status that walks through Waiting → Approved or Rejected → Paid, the last of those set once it rides out on that person’s next pay run.
What the business bought this period, and the VAT split behind it.
Recording a company purchase
Record an expense opens one sheet for both kinds of row. Type defaults to Company purchase, so the common case (the business bought something) needs nothing extra: a date, a category, what it was, an optional supplier, and the net amount.
A company that is not VAT registered never sees a VAT field at all: it enters the full amount paid as the net figure, and the database refuses a VAT amount from that company outright rather than trusting the screen alone to keep it off. A registered company may still record zero VAT, for a zero-rated or exempt purchase; that is a real answer, not a missing one.
Filing a reimbursement
Switch Type to Staff reimbursement and a Who spent it field appears. There is no reimbursement screen in the cleaner app yet, so v1’s route is the same one mileage claims use: the owner files it on the person’s behalf, exactly as it would arrive by text message in a small firm. The self-service policy that will let a cleaner file their own is already built into the database, ready for the screen that will use it.
Approving or rejecting a reimbursement
Every reimbursement still submitted sits in the Reimbursements tab, under Waiting on you, with the amount they claimed and what it was for. Nothing is owed until you decide.
Approving stamps who decided it and when, and the reimbursement rides out on that person’s next pay run, the same mechanism a mileage claim uses. A reimbursement cannot be approved twice, and a company purchase cannot be approved at all: it was never a request in the first place.
Categories
A fixed list rather than one you edit. A settings screen and a migration for a list almost nobody touches was not worth building. It runs: Consumables, Equipment, Fuel, Vehicle, Staff costs, Insurance, Subscriptions, Professional, Marketing, Premises, and Other.
Receipts
A receipt is optional and attaches as a JPEG, PNG, HEIC or PDF up to 20MB, held in a private store, never a public link, so nobody with the address alone can open a document with your bank details on it. You see your own company’s receipts; a cleaner sees only their own. A cleaner who filed a reimbursement cannot remove the receipt behind it once it is in (the same reason they cannot edit or withdraw the claim itself), but you can, which is what clears an upload nothing ever came to reference.
Getting it out
Export CSV on the Ledger tab downloads every row in the period you have set (type, date, category, supplier, net, VAT, gross, who it was reimbursed to), ready for a bookkeeper or an accounting import, the same shape every other export in CleanFlo uses.
Turning Expenses off
From Modules. It hides Expenses from the sidebar and stops any new purchase or reimbursement being recorded: the database itself refuses the write, not only the screen. Nothing already entered is deleted, and every receipt stays exactly where it was. Switch it back on and the ledger reappears precisely as you left it.
Common questions
What is the difference between a purchase and a reimbursement?
Can a cleaner file their own expense yet?
Can I claim mileage and reimburse fuel for the same trip?
What happens to VAT if my company is not VAT registered?
Can I turn Expenses off if I do not want to track it yet?
Still stuck?
Open Support in the app and send us a ticket, or email the team. A real person reads every one.