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

Reading the dashboard

The dashboard is arranged as one question and its answer: what needs me today, then everything waiting on a decision. This is what each card on it is counting.

In the app: Dashboard Open CleanFlo
On this page

Nothing on the dashboard is a setting and nothing on it is a report. Every card is a live read of something you can go and look at properly somewhere else, which is why almost all of them carry a link to the screen they came from. Read top to bottom, it goes: how the business is doing, what is happening today, what nobody has picked up, what your clients have asked for, whether the paperwork is in order, and what your team has just finished.

app.cleanflo.io/dashboard
Search everything… ⌘K Dashboard
Good morning, Sarah

Thursday 13 August 2026 · Here's an overview of your business today.

Schedule a Job
Revenue · last 7 months
£38,412
↑ 12% vs last month
Outstanding
£4,180
↓ 8% less owed than last month
Weekly Cleans
46
↑ 4% vs last week
Active Staff
7
Team members
Today's Schedule
Jobs scheduled for Thursday 13 Aug
View Calendar
08:00 Riverside Homes · Flat 4B Aisha Nowak done
09:30 St Marks Medical Centre Marek Kowalski in progress
13:00 Bay View Offices · 2nd floor Joanne Reid scheduled
16:00 Harbour Lettings · 12 Quay St Tomas Silva scheduled
Urgent Attention
Unassigned jobs needing action
View All
Deep clean · 14 Fore St Fri 14 Aug · 09:00 Assign
End of tenancy · Flat 7 Sat 15 Aug · 08:00 Assign
The top of the dashboard: the banner, the four readings, today's jobs on the left, anything unassigned on the right.
Welcome banner
Greeting, today's date, and a Schedule a Job button. It stands in for a page title.
Getting Started
Only on a new account, and only until all four milestones are met. Covered in Setting up in an afternoon.
Four stat cards
Revenue, Outstanding, Weekly Cleans and Active Staff, each with a sparkline and a change against the previous period.
Today's Schedule
Every job dated today, in start-time order, with its cleaner and status.
Urgent Attention
Up to five scheduled jobs from today onwards that have nobody against them.
Client Requests
Pending clean requests submitted through a client portal. The card is not there at all when there are none.
Accepted Quotes
Quotes accepted since you last visited Quotes — by you, or by a client from the email link. Not there when there is nothing new.
Unbilled Work
Completed jobs never invoiced, with their combined value and how long the oldest has waited. Gone once everything is billed.
Compliance Score
The Health & Safety score out of 100, and what is dragging it down.
Quick Actions
Four links to the things people do most. No logic behind them.
Recent Activity
The last five completed jobs, with a shortcut to invoice the ones that have not been.

The banner at the top

A dark teal band with your first name in it. The greeting is decided by the clock on your own machine: Good morning before midday, Good afternoon before five, and Good evening after that. If CleanFlo does not know your name it says "there", which is worth fixing under Settings → My Account.

Good evening, Sarah

Thursday 13 August 2026 · Here's an overview of your business today.

Schedule a Job
The same banner at half past six. The date beside the greeting is the app's clock, and it rolls over at midnight rather than pinning itself to whenever the tab was opened.

The date underneath is the long form: weekday, day, month, year, then a middle dot and the line "Here's an overview of your business today." That date matters more than it looks. A dashboard left open overnight, which is how most owners use it, re-reads the date at local midnight and again whenever you come back to the tab, so the jobs listed underneath are genuinely today's and not yesterday's.

The four figures across the top

Four cards, each with a label in small caps, a large figure, a percentage change with an arrow, and a caption saying what the comparison is against. Each also carries a sparkline of its own history and a coloured rule along the top.

Revenue · last 7 months
The total of your paid invoices over the last seven calendar months. Not lifetime revenue, and the label says so: the sparkline underneath has always drawn those seven months, and the headline now agrees with it. The change is this month against last month.
Outstanding
Everything invoiced and not yet paid: invoices at sent or overdue. This one is deliberately not date-bounded, because an invoice raised eight months ago and still unpaid is still owed. The arrow follows the figure rather than the mood, so a rise shows an up arrow even though it is bad news. The caption carries the feeling: "more owed than last month" or "less owed than last month".
Weekly Cleans
Jobs marked done in the current calendar week, Monday to today. Compared against the same count last week. A Monday morning therefore reads low, which is arithmetic rather than a bad week.
Active Staff
How many cleaners are on your team and not deactivated. It is the only one of the four with no percentage change, because a headcount that moves weekly is not a trend.
Feb Mar Apr May Jun Jul Aug

Seven buckets, one per month. The last bucket is the month you are in, so it is always partial.

What the sparkline under Revenue is drawing: paid invoices bucketed into the last seven calendar months, oldest on the left.

Today's Schedule

Every job dated today, in start-time order, with a View Calendar link in the corner. The sub-line names the day: "Jobs scheduled for Thursday 13 Aug".

Each row runs time, then job, then status. The time is in the left margin in Courier, as a fixed column, so the list can be scanned straight down. Underneath the job title sits the cleaner's name, and the pill on the right is the job's status in the app's standard four: scheduled, in progress, done, cancelled. A job with no start time keeps the column and fills it with a dash, so the margin stays a straight line.

This card is a read of the schedule, not a control for it. You cannot drag a job here or change its status: clicking through to Schedule is how you do either.

Urgent Attention

The card beside it, headed "Unassigned jobs needing action". It lists up to five jobs that are still at scheduled, are dated today or later, and have nobody assigned. Each row is a date block, the job, its time, and an Assign button that takes you to the schedule.

It is the one card on the page that is genuinely a to-do list. A job sitting here is work you have promised a client with nobody booked to do it, which is the failure this whole product exists to prevent. It only looks forward: yesterday's unassigned job is a different problem and does not appear.

Today's Schedule
Jobs scheduled for Sunday 16 Aug
View Calendar
All clear today No jobs are scheduled. Use the time to check inventory levels or review upcoming bookings. Schedule a Job
Urgent Attention
Unassigned jobs needing action
View All
All covered No unassigned jobs right now. Great work keeping the schedule full.
Both cards with nothing to say. Empty states in CleanFlo tell you what the emptiness means rather than just going blank.

Client Requests

This card is not always there. It appears only when a client has asked for a clean through their portal and nobody has dealt with it yet, and it disappears the moment the last one is handled. An account with the portal switched off will never see it.

The heading carries a broom and a count. Each row shows what they asked for, then the client name and the date they would like, then a Convert to Job button that carries the request into the schedule as a real booking.

Client Requests
Pending clean requests from client portals
View All
Extra clean before viewings Harbour Lettings · 18 Aug Convert to Job
Carpet clean, meeting room Bay View Offices · 21 Aug Convert to Job
Two requests waiting. Convert to Job is the whole point of the card: a request is not work until it is a job with a date and a cleaner on it.

Accepted Quotes

Like Client Requests, this card is not always there. It appears once one or more quotes have moved to Accepted since you last opened Quotes — whether you marked one accepted yourself or a client accepted it themselves from the link in their quote email — and it disappears again the moment you visit that screen. How a client accepts a quote by email, and how they can decline one with a reason instead, is covered in full in Quoting for work.

The same "not yet looked at" count also shows as a small badge on the Quotes item in the sidebar, and both clear together — there is one count behind them, not two figures that can drift apart.

Accepted Quotes
2 quotes accepted since you last checked
View Quotes
QUO-2026-002 Harbour Lettings · £2,940.00
QUO-2026-005 Bay View Offices · £753.60
The Accepted Quotes card with two waiting to be looked at. Visiting Quotes clears both this card and the sidebar badge in one go.

Unbilled Work

Another card that only shows itself when it has something to say: completed jobs that have never made it onto an invoice. It reads the count, their combined value, and how many days the oldest one has been sitting uninvoiced — then goes away entirely once every finished job has been billed, rather than sitting there reading a false "£0".

The oldest-unbilled-job figure is not exclusive to the dashboard: it is folded into the Billable Work stat on Invoicing as well, as a small "· oldest N days ago" addition, so the number you see here is the same one you see when you go and act on it.

This card is yours alone — nothing a cleaner sees. The same count, value and oldest-age figures also go out in the morning's Daily Briefing email, the one that otherwise just lists a cleaner's jobs for the day: on an owner's copy it carries this line as well, and it is left out of everyone else's.

Unbilled Work
3 completed jobs · £940.00 · oldest 6 days ago
View Invoicing
Three completed jobs waiting to be invoiced, the oldest six days old.

Compliance Score

A number out of 100 in a ring, with a sentence beside it, and a Health & Safety button in the corner. The sub-line says where it comes from: "Live from your incidents, audits and risk assessments". It is not a separate calculation. The card imports the same arithmetic the Health & Safety page runs, so the two can never disagree.

The ring shows the figure on its own, coloured by band: good at 90 or more, warn from 70, and bad below that. Beside it, one of three verdicts.

Not started
Shown when you have logged no incidents, no audits and no risk assessments. The ring reads as a dash rather than 100, because a company that has recorded nothing scores full marks by arithmetic and printing that would be telling you that you passed an inspection you never sat. The line underneath is "Log an incident, schedule an audit or write a risk assessment and your score appears here."
Nothing outstanding
You have records and none of them need anything: "No open incidents, no overdue audits and no high-risk assessments."
{n} things need attention
One or more categories are costing you points, listed as chips underneath. The chips are Unresolved incidents, Overdue audits, Unmitigated risk and Assessments past review, each with a count, each a link into Health & Safety. A single one reads "1 thing needs attention".
Compliance Score
Live from your incidents, audits and risk assessments
Health & Safety
100
Nothing outstanding
No open incidents, no overdue audits and no high-risk assessments.
Compliance Score
Live from your incidents, audits and risk assessments
Health & Safety
78
2 things need attention
Points come off for records that are open, late or still carrying high residual risk.
1 Unresolved incidents2 Overdue audits
The same tile in its two working states. The chips are counts of records, so each one is a link to a list you can go and clear.

Compliance sits below the day's work rather than above it, and that placement is deliberate. It is a standing figure that moves about once a month and needs no decision from you today, so it reads after the things that do.

Quick Actions and Recent Activity

The bottom row is a narrow card of links on the left and a timeline on the right. Quick Actions is exactly what it says, four rows with no cleverness behind them, headed "Jump directly to common tasks".

Schedule a Job
Create a new booking. Goes to Schedule.
Add New Location
Register a property or site. Goes to Clients.
Add a Client
Create a client record. Goes to Clients.
Invite Staff Member
Add someone to your team. Goes to Staff.

Recent Activity is the last five jobs your team has marked as done, newest first, drawn as a timeline with a dot and a connecting line. Each row gives the job, then "Clean completed by" and the cleaner's name in bold, then a timestamp.

The timestamp is written to be unambiguous, because this list is not filtered by date. Something finished today shows a bare clock time. Yesterday shows "Yesterday 14:32". Anything older carries its date, as "12 Aug 14:32". A job with no timestamp at all gets none rather than printing nonsense.

Quick Actions
Jump directly to common tasks
Schedule a Job Create a new booking
Add New Location Register a property or site
Add a Client Create a client record
Invite Staff Member Add someone to your team
Recent Activity
Latest updates from your team
View All
Riverside Homes · Flat 4B Clean completed by Aisha Nowak 10:04 Create Invoice
St Marks Medical Centre Clean completed by Marek Kowalski Yesterday 16:20
Bay View Offices · 2nd floor Clean completed by Joanne Reid 12 Aug 14:32 Create Invoice
The bottom row. The Create Invoice button only appears on jobs that have not been invoiced yet, which turns the timeline into a short billing list.

The dot on the left of each row changes colour once the job has been billed, so a glance down the column tells you what is still to invoice. The Create Invoice button appears on the rows that have not been, and takes you to Invoicing. When there is nothing yet the card says "No recent activity" and "Completed jobs will appear here once your team starts checking in."

Common questions

Why does Revenue not match my accounts?
Because it is not lifetime revenue. It is the total of invoices marked paid over the last seven calendar months, which is the same window the sparkline draws. Anything still at draft, sent or overdue is in Outstanding instead, and anything paid more than seven months ago is not counted here at all.
Weekly Cleans looks far too low on a Monday.
It counts jobs marked done from Monday up to today, so on a Monday morning it is counting a few hours. The comparison underneath is against the same count for the whole of last week, which is why the arrow often points sharply down early in the week and recovers by Wednesday.
My Compliance Score says "Not started" but I have no incidents to report. Is that bad?
It is not a mark against you, it just means there is nothing to score. The card needs at least one incident, audit or risk assessment before it will show a figure, because scoring 100 out of 100 on an empty file would be meaningless. Writing a single risk assessment for one of your sites is enough to bring it to life.
Can I reorder or hide the cards?
No. The dashboard is a fixed layout. Three cards hide themselves when there is genuinely nothing to show — Client Requests, Accepted Quotes and Unbilled Work — and Getting Started retires once you have completed all four setup milestones or dismissed it.
The page was open all night and the date is wrong.
It should not be. The dashboard re-reads the date at local midnight, and again whenever you switch back to the tab, precisely because a laptop asleep overnight fires no timers. If the banner and the schedule ever disagree, refresh once and both will be reading the same day again.