Skip to main content

Customer complaints

Customer Complaints is the structured log SafetyBrik uses to record any complaint that gets reported to your business about food, service, or staff conduct. It is the digital replacement for the back-of-the-diary scribbles that most operators rely on, and it is the record an Environmental Health Officer expects to see when they ask "what complaints have you had recently and what did you do about them?".

You will find it as a tab on the Records page at /safety/records?tab=complaints. Individual complaints have their own deep-linkable detail pages at /safety/complaints/{id}.

Why this is in your EHO pack​

The Safer Food Better Business pack (Management method "Customers", page 66) explicitly asks you to keep a record of any complaint that suggests a food safety issue. The pack singles out three categories that need investigation: suspected food poisoning, allergic reactions, and foreign objects in food. EHOs reading your pack will look for evidence that you took complaints seriously, investigated the source, and notified the local authority where appropriate.

A logged complaint with a clear summary, a documented action, an EHO-notification tick where relevant, and an outcome note is the kind of evidence that turns a difficult inspection conversation into a tick in a box.

What you can record​

Each complaint captures:

  • Complaint date - when the incident actually happened, which is often a different day from the day it was logged. It can't be after today (the site's today, or your business's for an All sites complaint): "A complaint can't be dated after today."
  • Location - which site (only shown if you run more than one).
  • Category - one of the six standard categories (see below). The serious ones (food poisoning, allergic reaction) trigger an EHO escalation prompt. Other needs its own label in Custom type label: Log complaint (or Save changes) stays greyed out until it has one.
  • Summary - what the customer told you, in your own words.
  • Customer details - name, phone, email if the customer left them. All optional. Anonymous complaints are recorded as Anonymous.
  • Suspected source - free text, e.g. "the chicken sandwich at lunch".
  • Supplier - if the complaint points at a specific supplier, link them here. The dropdown reads from your Suppliers list (the same list CostingBrik uses if you have it). If the supplier has been removed since the page loaded, the save is refused with "That supplier wasn't found. Choose another one, or leave it blank." Editing a complaint whose supplier has since been removed still works. If your suppliers can't be loaded just now, the form says so where the dropdown goes, with Try again, and you can still save: a new complaint without a supplier, or an edit keeping the supplier it already has.
  • Batch info - best-before date, batch code, lot number if available.
  • Action taken - what you did about it. Refund, replacement, apology, supplier contacted, kitchen briefing, anything.
  • EHO has been notified - tick it, with the date you told them, if you reported the complaint to your local Environmental Health Officer. The log form asks for it on the two serious categories; for any category, tick EHO has been notified on the complaint's page. The date can't be after today: "The date the EHO was told can't be in the future."
  • Photos - up to ten photos. Foreign-object complaints in particular benefit from a photo of the object and of the original packaging.
  • Resolved + outcome notes - mark resolved when you are done and capture the final outcome.

Clearing a box when you edit a complaint removes that detail, so a customer's name, phone number or email can be taken off later, for example if they ask. The same goes for the suspected source and batch info. Changing an Other complaint to a named category drops its own label.

The six categories​

CategoryWhen to useNotification?
Suspected food poisoning / illnessCustomer reports being unwell after eatingYes - notification fires to owners and admins
Allergic reactionCustomer reports an allergic reactionYes - notification fires to owners and admins
Foreign object in foodHair, plastic, glass, packaging, anything that should not be in the foodNo automatic notification
Food quality (taste, freshness, presentation)Stale, off, undercooked, overcooked, wrongNo automatic notification
Service / staff conductRudeness, slow service, billing disputeNo automatic notification
OtherAnything that does not fit (with a custom label)No automatic notification

The two serious categories send every owner and admin their own in-app alert the moment they are logged, for example New complaint: Allergic reaction with "Complaint dated 3 May 2026 at Station Road: ..." and the start of the summary (the site is named when you run more than one). This is deliberate: an alert about a food poisoning report sitting in someone's inbox for 24 hours is the kind of thing that turns a complaint into a Food Hygiene Rating ding. Other categories stay quiet to avoid alert fatigue.

  • Each copy is your own. Reading it marks it read only for you, not for the other owners and admins. Members and viewers don't get one.
  • A complaint changed into a serious category while it is still open alerts them, for example Complaint changed to: Allergic reaction. A resolved one doesn't. Each complaint alerts once at most, so changing its category back and forth sends nothing more.
  • If no owner or admin is on file, one shared alert goes to everyone who signs in to Brikly instead.
  • Deleting a complaint removes its alerts from everyone's notifications.
  • Nothing is sent while SafetyBrik notifications are switched off in Notification Preferences.

EHO escalation​

When you select food poisoning or allergic reaction, the form modal shows a yellow banner reminding you that the FSA expects suspected food poisoning and allergic reactions to be reported to your local Environmental Health Officer. The banner includes:

  • A link to the FSA's local-authority finder.
  • An EHO has been notified checkbox.
  • A Date notified input that becomes required once you tick the box. It can't be after today.

The notification record renders in your EHO PDF report next to the complaint, so an inspector can see at a glance which complaints you escalated and when.

When to notify

Notifying your local authority is a judgement call. The FSA's general guidance is that any suspected food-related illness involving more than one customer, or a single severe case, should be reported. If you are unsure, call your EHO and ask. Recording the call in this log is the audit trail.

Photos​

You can attach up to ten photos per complaint. They show as small pictures under the complaint in the EHO Report Pack. Useful for:

  • The actual foreign object (a hair, a piece of plastic, a fragment of packaging).
  • The original food packaging if the complaint relates to a manufactured product.
  • The customer's receipt or order ticket.
  • Any visible damage or quality issue.

Photos can be JPEG, PNG or WebP, up to 5 MB each. A photo in the iPhone's HEIC format is refused with "This photo is in HEIC format. Save it as a JPEG and try again."

While photos are still uploading, the save button reads Uploading photos... and waits; Cancel still works. If a photo fails, the others are kept and the form says "That photo couldn't be uploaded. Try again." (or, for several, "2 photos couldn't be uploaded. Try them again."), with the reason instead when Brikly has one, such as the HEIC sentence above.

Photos are private to your business. Brikly opens each one through a link that works for an hour, and reloading the page gets fresh links, so a page left open for longer shows broken pictures until you reload it. While a link works, anyone who has it can open the photo, so don't copy photo links into emails or messages. The EHO Report Pack shows the photos as pictures, never as links.

When an owner or admin removes a photo while editing a complaint, the file is deleted too, unless another record uses the same photo; when a team member removes one, Brikly keeps the file privately until the account is deleted. Deleting a complaint deletes its photos.

Live-edit on the detail page​

The complaint detail page lets owners, admins, and members edit four fields in place without opening the form modal:

  • The EHO has been notified checkbox.
  • The Date notified.
  • The Resolved toggle.
  • The Outcome notes textarea (saves on blur).

Ticking EHO has been notified works for every category. It records today's date (at the complaint's site), and Date notified then appears so you can change it if you told them on another day. Unticking it clears the date. Emptying the date while it is ticked isn't saved, and the page says "Add the date the EHO was told, or untick EHO has been notified."

Each field saves as soon as you change it. A small spinner shows while the save is in flight. If a save fails, an inline message says so and the field shows what is stored, except outcome notes, which keep your text so you can try again. Everything else - summary, action taken, customer details, supplier - is edited via the Edit button which opens the same form modal you used to log the complaint.

If a save from the form fails, the form stays open with the reason at the top, or "We couldn't save the complaint. Check the details and try again." It can't be closed while it is saving. A complaint someone else has deleted opens as not found, and leaves the list.

Complaints at a closed site​

A complaint at a site that has been switched off or removed names its site as "Station Road (closed)" and is read only. Its page shows "Station Road is closed. Its records can be read and printed but not changed.", with no Edit or Delete, and the four fields above can't be changed. Its row in the list has no Delete either. It still prints in that site's EHO Report Pack. The site filter lists your open sites, so choose All sites to find a closed site's records in the list.

A new complaint can only be logged at an open site, and a complaint can't be moved to a closed one. A change sent from a page left open is refused with "This site is closed, so its records can be read and printed but not changed." Before you switch a site off, the site closure dialog in Settings > Locations counts its open complaints, so you can resolve them first.

Permissions​

Customer Complaints uses standard SafetyBrik role permissions:

RoleViewAddEditLive-editDelete
OwnerYesYesYesYesYes
AdminYesYesYesYesYes
MemberYesYesYesYesNo
ViewerYesNoNoNoNo

Deletion is a hard delete - unlike most other SafetyBrik records, complaints do not soft-delete. The reasoning is that a complaint that should never have been logged (test data, duplicate row, complaint about a different business) is better removed entirely than left as a confusing inactive row in your audit trail. The delete confirmation dialog spells this out: "Delete complaint? This is an audit record, only delete if it was logged in error. This action cannot be undone." Deleting a complaint also deletes its photos.

Only owners and admins can delete. Members can log, edit, and resolve complaints but cannot remove them.

How it shows up in the EHO report​

The EHO Report Pack has a dedicated Customer Complaints section that lists the complaints dated in the pack's period. With none, it says "No customer complaints were logged in this period." Complaints are grouped by category in the same canonical order as the dropdown, so the EHO sees food poisoning first and Other entries last (an Other complaint under its own label, for example "Other: Cleanliness"). Each complaint shows:

  • The complaint date.
  • The summary, with its photos as small pictures under the complaint and a line saying so ("Photo below" or "3 photos below"). Up to 10 photos a complaint, and 60 in the whole pack, are shown. Any more, and any the pack can't show (a HEIC photo or a damaged file, say), are counted instead, for example "2 more photos on file in Brikly", or "Photo on file in Brikly" when none of the complaint's photos can be shown. The pack never contains a link.
  • The action taken.
  • EHO notified - "Yes, 3 May 2026" (with the notification date), "Yes" or "No".
  • Resolved - "Yes", or "No" in red, as on the day you make the pack (a line under the section heading says so, for example "Resolved is as on 7 Oct 2026, the day this pack was made.").
  • Outcome notes - whatever you have recorded, resolved or not ("-" when there are none).
  • Logged by - who logged it, or "Former team member" if they are no longer on file.

A site's pack lists that site's complaints plus those logged without a site. An all-sites pack lists every complaint in the period with a Site column ("All sites" for a complaint logged without a site).

A complaint logged before the pack's dates that is still unresolved isn't left out: it is listed in the pack's Still open from before this period section, with its category and its photos shown the same way.

How it feeds the 4-Weekly Review​

The 4-Weekly Review has a built-in question: "If any food complaints have been received, have they been investigated and safe methods reviewed?". Before complaints had a structured home, this question was answered by counting corrective actions in the period - a rough proxy. Now the review reads directly from the complaints log and surfaces three different prompts depending on what it finds:

  • Zero complaints: "No complaints logged in this period. If none were received, answer Yes."
  • Some complaints, all resolved: "N complaints in this period, all resolved. Review whether safe methods need updating." (or "1 complaint in this period, ...")
  • Some complaints, some still open: "N complaints in this period (M still open). Resolve open complaints and review whether safe methods need updating."

The counts cover the review site's complaints plus those logged without a site. When complaints from an earlier period are still open, a sentence is added, for example "1 complaint from an earlier period is still open - resolve it and review your safe methods." or "2 complaints from an earlier period are still open - resolve them and review your safe methods."

This means an open complaint sat in the system at quarter-end is impossible to miss when the duty manager works through the review.

What it does not do​

This feature is intentionally a complaint log, not a customer service platform:

  • There is no customer-facing portal - complaints arrive via your existing channels (in person, phone, email, social).
  • There is no automated EHO reporting - the EHO has been notified tick is a record of an action you took outside the app, not an API call.
  • There is no link from a complaint to a corrective action yet. A picker that lets you attach a recent corrective action to a complaint is on the roadmap. In the meantime, mention any corrective-action reference in the Action taken field so it lives alongside the rest of the complaint record.
  • There is no Team App capture yet - logging a complaint is a manager flow on the web for now.
  • There is no customer notification log (refunds, apologies, hospital references) as a structured sub-entity. Use the Action taken and Outcome notes fields for that.

If your business handles enough complaints that any of these limits start to bite, talk to us - we are sizing the next phase of the feature based on real usage.