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 inside 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.
  • 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.
  • 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).
  • 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 notification - tick the box and record the date if you reported the complaint to your local Environmental Health Officer.
  • 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.

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 trigger an in-app notification to every owner and admin on the tenant the moment they are logged. 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.

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.
  • A Notified EHO checkbox.
  • A Notified on date input that becomes required once you tick the box.

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. Photos are uploaded to the shared SafetyBrik photo bucket and surface as numbered references in the EHO PDF. 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 are 5 MB max each, JPEG / PNG / WebP / HEIC / HEIF. They are stored privately to your tenant and rendered into the EHO report as text references for now (an inline thumbnail render is on the roadmap).

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 Notified EHO checkbox.
  • The Notified on date.
  • The Resolved toggle.
  • The Outcome notes textarea (saves on blur).

Each field saves as soon as you change it. A small spinner shows while the save is in flight, and a clear inline error appears if the save fails (the field reverts to the server's last-known value so you do not lose track of what is actually stored). 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.

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."

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 PDF report has a dedicated Customer Complaints section that renders when you have at least one complaint in the reporting 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. Each complaint shows:

  • The complaint date.
  • The summary.
  • The action taken.
  • An EHO-notified tick with the notification date.
  • A resolved tick.
  • The outcome notes if you have closed the complaint.
  • Photo references where attached.

If a complaint is pinned to a specific location and you generate the report scoped to that location, only that location's complaints appear. Tenant-level reports include every active complaint.

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."
  • Some complaints, all resolved: "N complaints in this period, all resolved. Review whether safe methods need updating."
  • Some complaints, some still open: "N complaints in this period (M still open). Resolve open complaints and review whether safe methods need updating."

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 Notified EHO 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.