Print a blank matrix
Pick the allergen list for where you trade, then print. Each column is one allergen; fill in a dish per row and tick what it contains.
| Dish | Celery | Gluten | Crustaceans | Eggs | Fish | Lupin | Milk | Molluscs | Mustard | Nuts | Peanuts | Sesame | Soya | Sulphites |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Dish | Milk | Eggs | Fish | Shellfish | Tree nuts | Peanuts | Wheat | Soy | Sesame |
|---|---|---|---|---|---|---|---|---|---|
| Dish | Wheat | Gluten | Crustaceans | Molluscs | Eggs | Fish | Milk | Mustard | Peanuts | Sesame | Soy | Sulphites | Tree nuts |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Dish | Peanut | Tree nuts* | Milk | Egg | Sesame | Fish | Crustacea | Mollusc | Soy | Lupin | Wheat | Gluten | Sulphites |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
* In Australia and New Zealand, write the specific tree nut (almond, Brazil nut, cashew, hazelnut, macadamia, pecan, pine nut, pistachio or walnut), as Plain English Allergen Labelling requires.
What a good matrix includes
- Every dish, and every version of it. A burger with a gluten-free bun is a different row from the regular one. So is a large size that comes with a different sauce.
- Every allergen in your jurisdiction's list, as a column, even ones you rarely use. A blank column tells the customer you checked.
- Add-ons and sauces. Optional extras such as aioli, cheese, or a brioche bun change the answer. Either give them their own rows or note what they add.
- A date and who checked it. An undated matrix can't be trusted, by customers or inspectors.
- A note on how your kitchen works: shared fryers, open prep areas, and a request that customers tell staff about any allergy.
Where paper and spreadsheet matrices go wrong
The grid itself is easy. Keeping it true is the hard part. Matrices drift for the same handful of reasons:
- A new dish goes on the menu and nobody adds a row.
- A supplier swap changes what's in a sauce, and the matrix still shows the old one.
- A sub-recipe (a house pesto, a dressing) is used in four dishes, and only two rows get updated when it changes.
- The printed copy by the till is three versions behind the one on the laptop.
The fix is to stop keeping the matrix as a separate document. If allergens are declared on ingredients and recipes, the matrix can be built from them, and every dish that uses the pesto updates when the pesto does.
The version that keeps itself up to date
Allergens builds this matrix from your menu. Tag allergens on dishes or on ingredients, and every recipe that uses them inherits the result. Customers get a page they can filter by the allergens they avoid, reached by link or QR code. You get a print view and a PDF that always match, and each dish shows when it was last reviewed. It is set up for the UK and EU 14, the US big 9, Canada's priority allergens or Australia and New Zealand's list, depending on where you trade.