Skip to Content
Retour aux modules
Food Industry

Food Labelling (EU INCO 1169/2011)

Ingredient lists from your recipes, the 14 allergens in bold, nutrition declaration per 100 g and per portion, best before / use by dates and lots: print EU food labels (FR/NL/EN/DE).

20.0 19.0 18.0 17.0 16.0
Food Labelling (EU INCO 1169/2011)
Food Labelling (EU INCO 1169/2011)

Présentation du module

Nalios
Odoo Gold Partner · Belgium

/ Odoo 20 · Manufacturing

EU food labels, straight from your recipes

Your bills of materials already say what goes into each product. This app turns them into the label Regulation (EU) No 1169/2011 asks for: the ingredient list in the right order with the allergens in bold, the nutrition declaration, the dates, the lot and the net quantity, in French, Dutch, English or German.

Ingredients from the recipe 14 allergens in bold Nutrition per 100 g FR, NL, EN, DE Community compatible

What it does

From recipe to label, without retyping

Built for bakeries, pastry shops, butchers, caterers and small food makers who sell pre-packed food in Belgium, France, the Netherlands or Luxembourg.

Ingredient list, generated

Sub-recipes exploded, quantities converted to grams, ingredients sorted by weight at the time of use, compound ingredients in brackets.

Allergens in bold

The 14 allergens of Annex II are installed and translated. They follow the recipe up to the label, with the "May contain traces of" of each ingredient.

Nutrition declaration

Computed per 100 g from the ingredients, with a cooking loss, rounded with the EU rules. Per portion with the reference intakes if you want.

Checked before printing

Missing nutrition values, allergens not checked, unknown weights, no net quantity or shelf life: you see it before the label is printed.

Ingredient list with allergens in bold, all allergens and the nutrition declaration of a product

Standard Odoo or the app

What Odoo already does, what this app adds

Bills of materials, units, weightsStandard Odoo (Manufacturing). The app reads them: nothing to enter twice.
Lots, expiration and best before datesStandard Odoo (Inventory, expiration dates). The app prints the date of the lot, or the production date plus the shelf life of the product.
Product and lot labelsStandard Odoo prints price, barcode and lot labels. They have no ingredients, allergens or nutrition.
Ingredients, allergens, nutrition, EU labelNot in standard Odoo, Community or Enterprise, on any version from 16 to 20. Added by this app.

Ingredients

Each ingredient once, every label right

Tick Food ingredient on your raw materials and fill in their allergens, the name used in ingredient lists and their nutrition values. Words between asterisks are printed in bold: *wheat* flour, or emulsifier: *soy* lecithin in the sub-ingredients of a compound ingredient you buy. The list view lets you enter many ingredients in one go.

A compound ingredient and how it is printed

A compound ingredient and how it is printed

Allergens and nutrition values of all ingredients

Allergens and nutrition values of all ingredients

The recipe

The order of weight, computed for you

The bill of materials is exploded down to the ingredients, sub-recipes included. Grams, kilograms, litres and units are converted to grams (with the weight of the product for litres and units). A sub-recipe is merged into the list, or printed as a compound ingredient: pastry cream (milk, eggs, sugar). Highlighted ingredients get their percentage (QUID). Packaging in the recipe is left out.

Recipe breakdown: grams per batch, percentage, allergens, missing data

Labels

Everything the law asks, on one label

Legal name, ingredients with allergens in bold, "May contain traces of", nutrition declaration, storage conditions, instructions for use, net quantity with large figures, best before or use by date, lot number and food business operator. Real PDF, A4 sheet of 6 labels.

A4 sheet of 6 labels (99 x 93 mm), English

Languages

In the language of your customers

Choose French, Dutch, English or German when you print. The legal wording, decimal commas and date formats follow the language; your product texts use their Odoo translations. The 100 x 150 mm label and the sheets of 6 carry the nutrition table; the sheets of 8 and 12 use the linear format allowed by Article 34.

100 x 150 mm label, French

100 x 150 mm label, French

A4 sheet of 8 labels (99 x 68 mm), Dutch

A4 sheet of 8 labels (99 x 68 mm), Dutch

Nutrition

The nutrition declaration, done the EU way

From the recipe

Nutrients of the ingredients added up, divided by the weight of the finished product: the weight of the ingredients minus your cooking loss %. Or values entered by hand (lab analysis).

Rounded right

EU guidance on rounding: energy to 1 kJ / 1 kcal, fat or sugars to 1 g or 0.1 g, "<0.5 g" below, salt to 0.1 g or 0.01 g.

Per portion

Give a portion in grams and the label also shows the values per portion and the % of the reference intakes (8 400 kJ / 2 000 kcal).

Exempted food

Handcrafted food sold directly by its maker in small quantities is exempted (Annex V): untick the nutrition declaration for it.

Food labelling tab: legal name, net quantity, date, shelf life, cooking loss, QUID, portion

Before printing

Missing data, shown before the label

Print from the product, from a list of products, from a lot (its expiration or best before date is used) or from a manufacturing order (its lot, its date and one label per unit made). The print window lists what is missing; printing anyway needs a tick.

Print window with the missing data

Print window with the missing data

Missing data on the product

Missing data on the product

Setup

Ready in ten minutes

1

Settings

Manufacturing settings: default label language and format, and the food business operator if it is not your company address.

2

Ingredients

Manufacturing > Food labelling > Food ingredients: allergens, name in lists, nutrition per 100 g, weight of a unit.

3

Products

Tick Labelled food, fill in the legal name, net quantity, date type, shelf life and storage. The recipe is your bill of materials.

4

Print

Click Food labels on the product, the lot or the manufacturing order, check the warnings and print.

Manufacturing settings: Food labelling section

Day to day

Labelled food and lots

Labelled food with its number of warnings

Labelled food with its number of warnings

Food labels from a lot, with its dates

Food labels from a lot, with its dates

Under the hood

How it works

Order of the ingredientsDescending weight at the time of use (Article 18). The same ingredient used in several sub-recipes is added up. Components that are not food ingredients and have no bill of materials (boxes, bags) are left out.
QUIDWeight of the ingredient used / weight of the finished product, whole percent (one decimal below 1 %). Above 100 % after cooking: "150 g per 100 g" (Annex VIII).
AllergensBold: the words between asterisks, or the whole name of an ingredient that has allergens and nothing marked. "May contain traces of" lists the traces of the product and of its ingredients, minus the allergens it contains.
NutritionPer 100 g. Missing energy is derived from the macronutrients with the factors of Annex XIV. Rounding: EU guidance document of December 2012, half up.
DatesLot: its use-by (expiration) or best-before date. Otherwise the production date plus the shelf life of the product. Editable before printing.
Net quantityFigures printed at least 2, 3, 4 or 6 mm high depending on the quantity (Directive 76/211/EEC). Editable per print for variable weights.
FormatsA4 sheets of 6 (99 x 93 mm), 8 (99 x 68 mm) or 12 labels (63.5 x 72 mm), positioned like the usual Avery sheets, with labels to skip; one 100 x 150 mm label per page. Text at 7 pt minimum.
LanguagesLegal wording in French, Dutch, English and German; allergens translated. Product texts come from the Odoo translations of the language (install it in Odoo). User interface in English and French.
DependenciesManufacturing and expiration dates (mrp, product_expiry). Community compatible, no Enterprise module needed.
Access rightsFood Labelling User (prints, given to Manufacturing and Inventory users) and Manager (allergen list, given to Manufacturing administrators).

FAQ

Good to know

Can one label carry two languages?

No: one language per print. For French and Dutch packs, print two labels or write the second language in the product texts.

Per 100 ml for drinks?

No: the nutrition declaration is per 100 g. Net quantities can be in ml, cl or l.

Does it print on label printers (ZPL)?

It prints PDF on A4 label sheets or on 100 x 150 mm labels, which most label printers accept. No ZPL.

Does it detect allergens in my texts?

No: you tick the allergens of each ingredient and mark them with asterisks. Unchecked ingredients are reported before printing.

What about the 2 % and added water rules?

They are not applied automatically. Copy the generated list and edit it by hand when you need them.

Is the label legally checked?

The app applies the rules described here. You remain responsible for the information on your food.

A question? A problem? Talk to the people who built it.

We will get back to you within 8 business hours.

Contact us

Email us directly at

[email protected]

Published by

Nalios — Odoo Gold Partner, Belgium — nalios.be