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

Writing a risk assessment

A risk assessment is the first document a commercial client asks for and the first one an inspector asks for. CleanFlo writes it as a hazard register: one row per hazard, scored before your controls and again after them.

In the app: Health & Safety Open CleanFlo
On this page

Most cleaning contracts of any size are lost on paperwork rather than on price. A facilities manager asks for your RAMS, you send a Word file somebody adapted from a template in 2019, and it names a site you no longer clean. The assessment in CleanFlo is built so that the version you hand over is the version that is live, carries a reference number, and shows its own working.

Everything here is on Health & Safety, under the Risk Assessments tab. Writing one opens a full page rather than a drawer, because a register with eight hazards in it does not fit in a drawer, and because you will be in it for twenty minutes rather than twenty seconds.

Where assessments live

The Health & Safety screen has four tabs: Incidents, Audits, Risk Assessments and Documents. The tab you are on decides the one button in the top right, so on this tab it reads New Assessment. A red count on the tab is the number of live assessments still sitting at High or Critical residual risk.

app.cleanflo.io/health-safety
Search everything… ⌘K Health & Safety
Health & Safety

Incidents, audits, RAMS and your compliance vault

New Assessment
Compliance Vault
18
All documents in date
Days Injury Free
5
Since last high/critical incident
Open Incidents
2
Requiring management review
Risk Assessments
4
1 with high/critical residual risk
IncidentsAuditsRisk AssessmentsDocuments
Search assessments…
AssessmentLocationAssessed ByHazardsResidual RiskStatusActions
RA-2026-014 · 14 Aug 2026Commercial kitchen deep clean St Marks Medical Centre Sarah Brennan 6 6 Medium Active Open
RA-2026-013 · 02 Aug 2026Window cleaning at height Bay View Offices Sarah Brennan 4 12 High Active Open
RA-2026-012 · 21 Jul 2026Chemical handling and storage Harbour Lettings Marek Kowalski 5 4 Low Under Review Open
RA-2026-011 · 09 Jul 2026Office clean, out of hours Riverside Homes Sarah Brennan 3 3 Low Draft Open
Showing 1–4 of 4 Export CSV
The Risk Assessments tab. Every row carries its reference, its hazard count and its worst residual risk, which is the figure a client actually reads.
Assessment
The reference and the assessment date on one line, the title beneath. References are allocated by the server, so two people writing at once cannot collide.
Location
Free text. The site the assessment covers, or a dash if you left it blank.
Assessed By
Free text, whoever walked the site and wrote it. Not a staff record.
Hazards
How many rows the register holds. Right aligned, because you scan it.
Residual Risk
The worst residual score across the whole register, with its band. An assessment whose hazards were never scored shows an empty cell here rather than a band.
Status
Draft, Active, Under Review or Archived.
Actions
Open, though the whole row is clickable.

The list pages at ten rows and has an Export CSV button beside the pager. That writes risk-assessments.csv with the columns Ref, Date, Title, Location, Assessed By, Hazards and Status: enough for a tender spreadsheet, not the assessments themselves.

The details at the top

New Assessment opens a page headed New Risk Assessment, with a card called Assessment Details above the register. Only the title and the assessment date are required. Everything else is there because a client reading the printed document will look for it.

Title * Commercial kitchen deep clean
Location / Site St Marks Medical Centre
Assessed by Sarah Brennan
Assessment date 14/08/2026
Review date 14/02/2027
Status Active
Scope / general notes Overview of work activity, scope, relevant legislation…
The Assessment Details card. The status you choose here decides whether the assessment is judged by your compliance score at all.
Title
Required. Name the work, not the client, so the same assessment can cover three sites doing the same job.
Location / Site
The site or building. Free text, and it prints in the header.
Assessed by
The person who did the assessing. It prints, and inspectors read it.
Assessment date
Required, and defaults to today.
Review date
Optional, and the one field people skip. Leave it blank and nothing chases you. Set it and CleanFlo starts counting.
Status
Draft while you write it, Active once it is adopted, Under Review while it is being reworked, Archived when the work has stopped. New assessments default to Active.
Scope / general notes
Prints as a block headed Scope & Notes above the hazards. Use it for what the job is, where it stops, and which regulations you are working to.

One row per hazard

Below the details is the Hazard Register. Each hazard is a collapsible row, numbered, with the two scores shown on the right of its header so you can see the whole register at a glance without opening anything. Add Hazard at the foot adds another.

Hazard description * Wet floor surface after mopping
Category Slips, Trips & Falls
Who is affected? Cleaning staff, building occupants, patients
Existing controls already in place Wet floor signs, non-slip footwear policy
Likelihood 12345 Likely
Severity 12345 Major
Additional control measures required Mop in sections, one half of the corridor at a time. Barrier tape across the wet half. Deep clean moved to 19:00, after the last clinic.
Likelihood 12345 Unlikely
Severity 12345 Moderate
One hazard, expanded. The two bordered blocks are Initial Risk and Residual Risk (after controls), and the control measures field sits deliberately between them.
Hazard description
Required on every row. Describe the thing that can hurt somebody, not the accident. "Wet floor surface after mopping", not "somebody slips".
Category
Twelve options: Biological, Chemical, Electrical, Ergonomic, Fire, General, Machinery & Equipment, Manual Handling, Noise, Physical, Slips, Trips & Falls, and Working at Height. General is the default.
Who is affected?
Your cleaners are the obvious answer and rarely the whole one. Building occupants, contractors, the public, and on a medical site the patients.
Existing controls already in place
What you already do. This is what makes the initial score defensible rather than theatrical.
Initial Risk
Likelihood and severity as things stand, each 1 to 5.
Additional control measures required
The changes you are committing to. Sits between the two scores because it is the reason the second one is lower.
Residual Risk (after controls)
Likelihood and severity once those measures are in place.

A new hazard row arrives pre-set at 3 and 3 for the initial risk and 2 and 2 for the residual. Those are starting positions, not a recommendation. Every rating is five numbered buttons with the word underneath, and an unrated one reads Not rated.

The 5×5 matrix

The score is the product of two numbers and nothing else: likelihood × severity, giving 1 to 25. The sidebar of the form states it in one line, "Score = Likelihood × Severity (1–25). Rate initial risk before controls, then residual risk after."

LikelihoodThe word CleanFlo usesWhat it means on a cleaning job
1RareYou cannot recall it happening, and would be surprised if it did.
2UnlikelyPossible in principle. Not in the last few years.
3PossibleIt has happened somewhere, to somebody, and could happen here.
4LikelyIt will happen on this job sooner or later unless something changes.
5Almost CertainIt happens routinely. Expect it this month.
SeverityThe word CleanFlo usesWhat it means if it does happen
1NegligibleNo injury, or nothing worth writing down.
2MinorFirst aid on site. Back to work the same day.
3ModerateMedical treatment, or time off work.
4MajorSerious injury, a long absence, or permanent harm.
5CatastrophicA fatality, or several people seriously hurt.

Multiply the two and the answer falls into one of four bands. These are the bands the whole product uses: the badge on the row, the colour of the matrix cell, the banner on the detail page, the box on the printed document, and the arithmetic behind your compliance score all read from the same table.

BandScoreWhat it says about the job
Low1–4Managed. Keep doing what you are doing.
Medium5–9Acceptable with the controls named, and worth reviewing.
High10–16Not acceptable as a residual. More control is needed.
Critical17–25Stop and rethink the method before anyone goes on site.
← Severity
5 5 10 15 20 25 4 4 8 12 16 1 20 3 3 6 2 9 12 15 2 2 4 6 8 10 1 1 2 3 4 5 12345
Likelihood →

Likelihood 1–5: Rare · Unlikely · Possible · Likely · Almost Certain.
Severity 1–5: Negligible · Minor · Moderate · Major · Catastrophic.

Low 1–4 Medium 5–9 High 10–16 Critical 17–25 1 before controls 2 after controls
The matrix from the Risk Guide sidebar, with one hazard plotted twice: 1 is the initial score of 16, 2 is the residual score of 6 once the controls are in. Moving down and to the left is the entire point of the document.

Read it the way the app labels it. The caption above the grid is literally ← Severity and the one below is Likelihood →, so severity climbs the left-hand edge from 1 at the bottom to 5 at the top, and likelihood runs left to right along the foot. Every cell shows its own product, and hovering one gives you the full sum, for example L4 × S5 = 20 (Critical).

Why you score the same hazard twice

The initial score is the honest one. It is what the hazard is worth with only the things you already do standing in the way of it. Most people flinch at writing 16 or 20 in that box, and then write 6 instead, and in doing so throw away the only number that makes the rest of the document mean anything.

The residual score is the claim. It says that with the specific measures written in the box above it, this hazard is now worth 6 rather than 16. The gap between the two numbers is your argument that your controls work, and the control measures field is the evidence for it. A client comparing three contractors is not reading your residual scores in isolation. They are reading the distance travelled and what you wrote in the middle.

Which is why an assessment where every hazard scores 16 before and 15 after is worse than useless: it says you have looked at the job and can do almost nothing about it. And an assessment where everything is 2 before and 2 after says you never looked.

HazardCategoryInitialResidual
Wet floor surface after moppingBarrier tape, out of hours, mop in sections Slips, Trips & Falls 16 High 6 Medium
Degreaser decanted into unlabelled bottleOriginal containers only, COSHH sheets on site Chemical 12 High 4 Low
Reaching high-level extract above the rangePlatform steps, two operatives, no chairs Working at Height 20 Critical 6 Medium
The register summarised. The pair of scores per hazard is what the header row of each hazard shows while you edit, and what the printed document shows as two blocks with an arrow between them.

"Not scored" is not the same as low risk

A rating can be missing. A hazard imported from an older system, or a row somebody added and never came back to, has no likelihood or no severity, and there is no product to calculate. CleanFlo shows that as a grey chip reading Not scored, and it means exactly that: nobody has made a judgement about this hazard yet.

It is deliberately not treated as 1, which would be a claim nobody made, and deliberately not treated as Critical, which is what naive arithmetic does with a missing number. An unscored hazard is skipped when CleanFlo works out the worst risk in the register, and it contributes nothing to your compliance score in either direction. An assessment whose hazards are all unscored has no overall residual risk at all, which is a different statement from "its risk is low".

4 Low9 Medium16 High25 CriticalNot scored
The five states a risk badge can be in. The grey one is the absence of a score, not a fifth band, and it appears everywhere a score would: the row header, the detail page and the printed A4.

Overall residual risk, and the review date

An assessment does not have an average risk. It has a worst one. CleanFlo takes the highest residual score in the register and bands that, which is why one Critical hazard among twelve Low ones makes the whole assessment Critical. That is the right behaviour: a client is not exposed to your average hazard.

You see that figure in three places. In the Residual Risk column of the list. In a tinted banner on the detail page labelled Overall Residual Risk with the band word beside a warning diamond. And in a bordered box on the printed document with the same label, the number, and the band. While you are editing, the header of the Hazard Register shows Highest risk: with the worst initial badge, an arrow, and the worst residual badge.

The Review date is what stops the document going stale. It is optional, and CleanFlo is honest about the consequence: an assessment with no review date set is never counted as overdue, because there is nothing to be late for. Set one and the day after it passes, that assessment starts costing you points under Assessments past review on your compliance score, two points each, until you either review it or move the date.

Printing it for a client

Open the assessment and the detail page has three buttons: Print, Edit and Delete. Print builds a standalone A4 document in a new window and sends it straight to your printer dialogue, from where every browser can save it as PDF. There is no template to choose and no options to set. If nothing happens, your browser has blocked the pop-up, and CleanFlo says so.

Commercial kitchen deep clean

Location: St Marks Medical Centre · Assessed by: Sarah Brennan · Date: 14 Aug 2026 · Review due: 14 Feb 2027 · Status: Active

6 Overall Residual Risk · Medium

Quarterly deep clean of the staff kitchen and servery at St Marks Medical Centre, carried out after the last clinic. Covers degreasing, extract canopy cleaning and floor scrubbing. Does not cover the gas interlock or any work inside the canopy plenum.

The head of the printed A4. The reference, the title, the five meta fields and the overall residual risk box, which only prints when something in the register has actually been scored.
1 · Wet floor surface after moppingSlips, Trips & Falls · Initial 16 High to Residual 6 Medium
Who is affected Cleaning staff, building occupants, patients
Existing controls Wet floor signs, non-slip footwear policy
Likelihood Likely (4/5)
Severity Major (4/5)
Additional control measures Mop in sections, one half of the corridor at a time. Barrier tape across the wet half. Deep clean moved to 19:00, after the last clinic.
Residual Likelihood Unlikely (2/5)
Residual Severity Moderate (3/5)
One hazard card from the printed document. Every rating prints as its word and its number out of five, and the two score blocks sit either side of an arrow at the top right.

The document ends with a footer carrying the date it was generated and the assessment title, so a printed copy on a client desk can be dated at a glance. An assessment with no hazards in it prints the line "No hazards have been recorded for this assessment." rather than an empty page, which is embarrassing but honest.

The other half of RAMS lives on this same page. Scroll past the hazard cards and there is a Method Statement panel: there is no separate Method Statement tab. One statement belongs to one assessment, because a method statement only means anything alongside the hazards it answers, and clients ask for the pair. If the assessment has none yet, the panel offers Write the method statement.

Common questions

Do I need a separate risk assessment for every site?
No, and you generally should not. Assess the work, not the address: one "Commercial kitchen deep clean" assessment can cover every kitchen you clean the same way. Write a site-specific one when a site genuinely differs, for example a first-floor plant room with a fixed ladder, or a location with a client-imposed permit system.
Can my cleaners see the risk assessment on their phones?
The risk assessment itself is a web-app document. What the cleaner app carries is the job, its checklist and its notes, so the practical route is to put the control measures that matter into the job instructions the cleaner actually opens on site, and to hand the printed RAMS to the site as part of the paperwork.
Why did my old assessment come up as Critical when I imported it?
It should not any more. A hazard with a missing likelihood or severity now bands as Not scored rather than falling through to Critical, and it is skipped when the worst risk in the register is worked out. If you are still seeing an unexpected band, open the assessment and check whether a hazard is showing the grey chip.
Does changing the residual score change my compliance score straight away?
Yes. The compliance score is recalculated from your live records every time the Health & Safety screen and the dashboard load. An active assessment whose worst residual risk is 10 or above costs four points, or eight if it is 17 or above, so pulling a hazard out of the High band with a real control measure shows up immediately.