The 14
Fourteen allergens are regulated in the UK and have to be declared when they are present as an ingredient: celery; cereals containing gluten; crustaceans; eggs; fish; lupin; milk; molluscs; mustard; nuts; peanuts; sesame; soybeans; and sulphur dioxide and sulphites.
Peanuts and tree nuts are separate entries, and so are fish, crustaceans and molluscs. They are the ones most often collapsed into one column by somebody in a hurry, and collapsing them loses information a customer needs.
Ingredients first, dishes second
Building dish by dish means answering the same question about the same ingredient over and over, and getting a different answer on the day you are tired. Work the other way: list your ingredients, record each one's allergens once from the packaging or the supplier's specification, and let the dish inherit from what is in it.
The work then falls where it belongs, on the bought in items. A sauce, a marinade, a stock, a bread, a dressing: anything with a recipe you did not write is where the surprises live.
Where an answer is allowed to come from
- The pack, the product specification, or the supplier in writing
- Not from memory, not from a similar product, not from the version you bought last year, not from a website that is not the supplier's
- Re-check an ingredient when you change supplier for it, because the swap is the usual cause of a wrong answer
- Re-verify a dish when you change what goes in it
- Record who checked it and when, so it is obvious when a review is overdue
If you cannot get a straight answer about an ingredient, the honest record is that you do not know yet. A gap you can see is safe in a way a guess never is.
The one rule
An unconfirmed answer must never reach a printed sheet, a label or a customer. Whether it came from a supplier email nobody has read, from an import, or from software that suggested it, it stays off the printed matrix until a person has looked at it and confirmed it. A grid that mixes confirmed answers with unconfirmed ones is more dangerous than no grid, because it looks finished.
Cross contact is a different question
The matrix answers "is this allergen an ingredient of this dish". Cross contact is a separate question about your space, your equipment and your process, and in a unit the size of a serving hatch it deserves a written assessment: which allergens are handled, where, with what, and what you do about the ones you cannot separate.
"May contain" is the output of that assessment, not a disclaimer to spread across the menu. Applied to everything it tells a customer nothing and removes their ability to choose.
Prepacked for direct sale
Food packed on the premises before being offered for sale, a sandwich made in the morning and put in a chiller, is treated differently from food made to order, and needs a label carrying the name of the food and a full ingredients list with allergens emphasised. Whether a particular item of yours falls into that category turns on how and when it was packed, so it is worth checking with your local authority rather than deciding by eye.
Welsh, and why a term is not guessed
If you serve customers in Welsh, the allergen names on a matrix or a label have to be right in Welsh too, and these are not words to translate by feel. Where a Welsh term is not confirmed against an official source, print the English alongside it and say why, rather than publish a translation nobody has checked.
Questions people ask
What are the 14 allergens that must be declared in the UK?
Celery, cereals containing gluten, crustaceans, eggs, fish, lupin, milk, molluscs, mustard, nuts, peanuts, sesame, soybeans, and sulphur dioxide and sulphites. Peanuts and tree nuts are separate entries, and so are fish, crustaceans and molluscs. Check the current list against official sources: this is a safety matter, not a software one.
What is an allergen matrix?
A grid with your dishes down one side, the regulated allergens across the top and an answer in every cell. It exists so the answer at the hatch is the same every time, from every member of staff, rather than the recollection of whoever is serving. It answers whether an allergen is an ingredient; cross contact is a separate written assessment.
Where should an allergen answer come from?
The pack, the product specification, or the supplier in writing. Not from memory, not from a similar product, not from last year's version and not from a website that is not the supplier's. Check an ingredient again when you change supplier, check a dish again when its recipe changes, and record who checked it and when.
Should I put "may contain" on everything to be safe?
No. "May contain" is the output of a written cross contact assessment for your space, your equipment and your process, not a disclaimer to spread across the menu. Applied to everything it tells a customer nothing and takes away their ability to choose.
What this looks like in CaterPad
CaterPad holds ingredients with their allergens and their source, and resolves dishes from what is in them. Every answer carries where it came from and whether a person has confirmed it, and anything unconfirmed is kept out of the printable matrix, the label, the export, the pack and any guest link. An override such as "may contain" requires a written assessment attached to it. Where a Welsh allergen name is not yet confirmed against an official source, the matrix and the label print the English with a marker and a footnote saying so.
Related: what officers ask to see, and what is in CaterPad.