Skip to main content

PPDS labels

Since October 2021, any item you prepack on site for direct sale must carry a label showing the name of the food and the full ingredients list, with each of the 14 regulated allergens emphasised within that list. This is Natasha's Law (UK FIC, Article 9). SafetyBrik's PPDS label generator produces a compliant label PDF straight from your CostingBrik recipes - or from manually-typed items if you are using SafetyBrik on its own.

You will find it at /safety/labels under the PPDS tab.

Who needs to print PPDS labels?

PPDS rules apply when food is packaged on the same premises it is sold from, before the customer orders it. A grab-and-go sandwich in a wrapped triangle is PPDS. A baguette made to order at the counter is not. A jar of homemade chutney sold from your shop shelf is PPDS. A hot pasta dish ladled into a takeaway box at the till is not.

If in doubt, the FSA's PPDS allergen labelling guidance is the authoritative source.

Two paths to a label

The PPDS list shows every item you can print a label for. It is fed from two sources, merged into a single screen:

  • Recipes from CostingBrik. Any recipe in CostingBrik shows up here automatically. The label is built from the recipe's ingredients and their compound-component breakdown - so a "milk chocolate" ingredient is unrolled into its sub-ingredients (sugar, cocoa butter, whole milk powder, etc.) on the printed label.
  • Manual PPDS items. If you are running SafetyBrik on its own, or if the item is not costed in CostingBrik (for example, a cake bought in from a third party that you re-wrap), use Add manual item to type the name and ingredients in directly. Manual items live in SafetyBrik only and are operator-attested at print time.

A status pill on each row shows which of the two sources it came from.

Verification gate

Recipes show one of two states next to their name:

  • Verified - every ingredient and every compound component on the recipe has been reviewed by an operator. The label is safe to print.
  • Needs review - one or more ingredients or compound components on the recipe have not yet been verified. The print button is disabled until you resolve them.

Click Review on a "Needs review" row to open the verification page. It lists every unverified component on the recipe with a deep link straight to the supplier in CostingBrik so you can confirm the ingredient breakdown and tick the verification box. Once every component is verified, the recipe flips to Verified and the print button enables.

This gate is deliberate. The label generator can mechanically produce a PDF from any recipe, but a label is only legally compliant if a human has confirmed the underlying ingredient tree. The verified state is what we are willing to print without that confirmation.

Printing a single label

Click Print label on a verified row. The print modal lets you set:

  • Preset - the paper size and label-per-sheet layout. Avery sheet presets ship out of the box.
  • Copies - how many of this label to render on the same PDF.

Click Render PDF and the browser opens the file inline. Each copy writes one row to the audit table.

Batch printing

If you make ten different sandwiches every Monday morning, batch print is the way to do them in one PDF. From the PPDS list, tick each item you want, set copies on each, choose a preset, and click Batch print. The renderer lays the labels out on a single Avery sheet across recipes and manual items.

Manual items

Click Add manual item to record a PPDS-eligible item that is not in CostingBrik. The modal asks for:

  • Item name.
  • Full ingredients text - in declaration order, with allergens you want emphasised.
  • Allergen flags - which of the 14 regulated allergens this item contains.

Print works the same way as for recipes, with one difference: each print captures a per-print operator attestation. Because there is no upstream supplier-declared ingredient tree, you are the source of truth for what is on the label, and the audit row records that.

Allergen emphasis

On the printed label, allergens are rendered in bold at every level of the ingredient tree. The emphasis is determined from the structured allergen flags on each ingredient and component, not by scanning the rendered text - so a phrase like "may contain nuts" is not bolded as "nut" by mistake.

Example output (formatting on the actual label depends on preset):

Wheat flour (wheat), butter (milk), sugar, eggs (egg), milk chocolate (sugar, cocoa butter, whole milk powder, cocoa mass, emulsifier (soya lecithin)), salt.

The audit trail

Every label copy you print writes one row to the PPDS audit log. The row captures:

  • The recipe or manual item.
  • The preset and font size used.
  • Who printed it (the signed-in user).
  • When it was printed.
  • A best-effort link to the rendered PDF in storage.

You can view the audit log at the bottom of the labels page, filter by recipe or date range, and re-download the rendered PDF for any past print. This is the trail an EHO follows when they pick a label out of your fridge and ask "show me the version that was on the wrapper when this was made."

Compound ingredients

Under UK FIC, a compound ingredient (an ingredient that is itself made of several ingredients - milk chocolate, mayonnaise, puff pastry, sausage meat) must be unrolled on the label, typically as the compound name followed by its sub-ingredients in brackets. SafetyBrik's PPDS generator does this automatically, walking the compound tree set up in CostingBrik:

  1. Each ingredient on the recipe is looked up in CostingBrik.
  2. Its compound components (if any) are read from the supplier's component tree.
  3. The label is rendered with the compound name followed by its sub-ingredients in brackets, in descending order by weight.
  4. Allergens at any level of the tree are emphasised in bold.

The verification gate above is what guarantees the compound tree has been reviewed by a human. See supplier ingredients in CostingBrik for how to capture the compound breakdown on a supplier's data sheet.

Region availability

PPDS labels currently render against the 14 UK-regulated allergens and UK FIC formatting rules. EU and other-region label formats are on the roadmap.

Cross-references