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.
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.
Incidents, audits, RAMS and your compliance vault
| Assessment | Location | Assessed By | Hazards | Residual Risk | Status | Actions |
|---|---|---|---|---|---|---|
| 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 |
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.
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.
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."
| Likelihood | The word CleanFlo uses | What it means on a cleaning job |
|---|---|---|
| 1 | Rare | You cannot recall it happening, and would be surprised if it did. |
| 2 | Unlikely | Possible in principle. Not in the last few years. |
| 3 | Possible | It has happened somewhere, to somebody, and could happen here. |
| 4 | Likely | It will happen on this job sooner or later unless something changes. |
| 5 | Almost Certain | It happens routinely. Expect it this month. |
| Severity | The word CleanFlo uses | What it means if it does happen |
|---|---|---|
| 1 | Negligible | No injury, or nothing worth writing down. |
| 2 | Minor | First aid on site. Back to work the same day. |
| 3 | Moderate | Medical treatment, or time off work. |
| 4 | Major | Serious injury, a long absence, or permanent harm. |
| 5 | Catastrophic | A 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.
| Band | Score | What it says about the job |
|---|---|---|
| Low | 1–4 | Managed. Keep doing what you are doing. |
| Medium | 5–9 | Acceptable with the controls named, and worth reviewing. |
| High | 10–16 | Not acceptable as a residual. More control is needed. |
| Critical | 17–25 | Stop and rethink the method before anyone goes on site. |
Likelihood 1–5: Rare · Unlikely · Possible · Likely · Almost Certain.
Severity 1–5: Negligible · Minor · Moderate · Major · Catastrophic.
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.
| Hazard | Category | Initial | Residual |
|---|---|---|---|
| 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 |
"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".
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.
Location: St Marks Medical Centre · Assessed by: Sarah Brennan · Date: 14 Aug 2026 · Review due: 14 Feb 2027 · Status: Active
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.
3 Hazards Identified| 1 · Wet floor surface after mopping | Slips, 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) |
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?
Can my cleaners see the risk assessment on their phones?
Why did my old assessment come up as Critical when I imported it?
Does changing the residual score change my compliance score straight away?
Still stuck?
Open Support in the app and send us a ticket, or email the team. A real person reads every one.