# QR codes for cleaning services

> Cleaning companies use QR codes for proof of service (a code at each site opens a completion form with the site ID prefilled, and the form's timestamp becomes the audit trail), plus quote codes on the van and door hangers. A static code cannot log scans by itself; the form does the recording.

Source: https://useqr.app/qr-codes-for/cleaning-services · Last reviewed 2026-08-21 · UseQR is free forever, no signup.

---

## The proof-of-service pattern

Commercial cleaning is sold on trust in work nobody watches happen. The QR version of
the paper sign-off sheet: a code inside each site's cupboard or utility room encoding
the site identity (`example.com/log?site=BR-14`) opening a completion form. The
cleaner scans on finishing, ticks the checklist, optionally attaches photos; the
submission's server timestamp is the audit record a client can be shown.

Be precise about what does the logging. A [static QR code](/glossary/static-qr-code)
records nothing when scanned. It is ink. The **form receives the scan's outcome** and
its backend records who, what and when. You do not need a paid analytics QR platform for
this; the timestamped form already is the tracking, as laid out in
[how to track QR code scans](/docs/how-to/how-to-track-qr-code-scans). What a static
code cannot give you is proof against a cleaner scanning from home, pair the form with
geolocation consent or site-specific details if the audit needs to be adversarial.

| Code | Where | Why |
|---|---|---|
| Completion log | Site cupboard, per site | Timestamped proof of service per visit |
| QA checklist | Same label | The site's specific tasks, versioned without reprinting |
| Quote request | [Van](/qr-codes-on/vehicle-wraps), door hangers, flyers | The estimate enquiry captured at the kerb |
| [vCard](/vcard-qr-code) | Quote documents | The supervisor's contact saved in one scan |

## Per-site codes at scale

Fifty sites means fifty codes from one spreadsheet through the
[bulk generator](/bulk): site ID in each URL, printed as laminated labels. Labels live
in cupboards and are read at **20–30 cm** → **2.5–3 cm**, matt laminate against
cleaning-chemical contact, replaced on the rare occasion a site code changes.

## The van and the doorstep

Marketing codes follow [vehicle-wrap sizing](/docs/print/qr-code-size-for-a-vehicle-wrap):
a parked van scanned from the pavement at **3–5 m** needs a **30–50 cm** code, and only
parked; nobody scans a moving van. Door hangers are read in-hand → **2.5 cm** is enough,
linking straight to a quote form with the postcode area prefilled so you know which
round produced it.

## What goes wrong

- One generic completion code shared across sites: the log shows a scan, but not where.
- Claiming the code itself "tracks" visits; the form and its backend do, and clients
  should be told exactly that.
- Van codes at business-card size, unreadable from the pavement.

## FAQ

### How do cleaning companies prove a visit happened?

A per-site QR code opens a completion form with the site prefilled; the cleaner submits
the checklist on finishing and the server timestamp becomes the record. Photos attached
to the form turn it from a claim into evidence.

### Do you need a dynamic QR platform for proof of service?

No. The code is a stable link to your form; the form's backend does the recording. Paid
dynamic platforms add scan analytics and editable destinations, but for an audit trail
the timestamped submission is the stronger evidence anyway.

### What size QR code works on a cleaning van?

Sized for a parked read: someone 3–5 m away on the pavement needs 30–50 cm. Place it on
the rear or side panel with a plain caption like "Instant quote", and accept that
nobody scans vehicles in motion.

## Try it

- https://useqr.app/url
- https://useqr.app/feedback
- https://useqr.app/vcard
