From a GTIN, Central checks the full ingredient list, the 14 EU allergens with the bold emphasis EU 1169/2011 requires, nutrition per 100g, Nutri-Score, PDO / PGI / organic certifications, country of origin, and shelf life — with sources attached.
They're built on the values shoppers and EU regulators both demand. Full ingredient list, 14 allergens with bold emphasis, nutrition per 100g, Nutri-Score, PDO / PGI / organic seals, country of origin, shelf life.
Your supplier row has the title, the GTIN, and a brand. Every other field is empty, vague, or sourced from a marketing tagline on the front of pack.
| A | B | C | D | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | SKU | Title | GTIN | Brand | Allergens | Nutri-Score | Origin | Diet | Shelf life |
| 2 | LAV-QO-250 | Lavazza Qualità Or… | 8000070024007 | Lavazza | |||||
| 3 | NUT-825 | Nutella hazelnut s… | 8000500037560 | Ferrero | |||||
| 4 | HZ-KTC-570 | Heinz Tomato Ketc… | 8715700110622 | Heinz | |||||
| 5 | SP-FRZ-1L | San Pellegrino spa… | 8002270145018 | S.Pellegrino | |||||
| 6 | BAR-SPG-500 | Barilla Spaghetti … | 8076809513708 | Barilla | |||||
| 7 | MUE-YOG-500 | Müller Joghurt Stra… | 4025500168315 | Müller |
The data shoppers, regulators, Google, and AI shopping agents all rely on. Each field comes back with the source, confidence, and review state attached — no rounding, no front-of-pack invention.
Each job ships a verified output, not a draft. Sources attached, confidence per fact, marketing claims refused when the regulation says they have to be.
EU 1169/2011 needs the 14 allergens called out inside the ingredient list. Central reads the pack, parses the ingredient string, and re-emits with the regulator's bold emphasis — not a separate icon strip.
Score sourced from the official Nutri-Score register or recomputed from a verified per-100g table. No regressed estimate, no front-of-pack lookalike.
"Made in Italy" isn't an origin field. Central traces ingredient origin against the producer, the EU geographical-indication register, and Bio certification before it ships.
Vegan, vegetarian, gluten-free, kosher, halal. Each one is verified against the parsed ingredient list and certifier, not a front-of-pack icon. May-contain statements block the claim until reviewed.
Grüne Punkt, FSC paperboard, recyclable foil, returnable glass. Pulled from the producer declaration and the relevant register — with the certificate ID stamped on the field.
"High in protein." "Source of fibre." "Sugar-free." Held, narrowed, or removed until the per-100g math and the EU register agree they're allowed for the category.
The same Lavazza Qualità Oro Espresso. Sparse supplier import on the left. The Central record on the right — grouped by category, every fact cited, every marketing claim held.
The same Lavazza Qualità Oro record adapts into Google Merchant Center food fields, ChatGPT Shopping JSON-LD, and a Picnic / Knuspr / Rewe custom CSV — each tuned to its destination's regulation and field rules.
<item> <g:gtin>8000070024007</g:gtin> <title>Lavazza Qualità Oro Espresso, 100% Arabica, 250g</title> <g:google_product_category>1868</g:google_product_category> <g:product_highlight>100% Arabica · Brazil, Colombia, El Salvador</g:product_highlight> <g:product_highlight>Nutri-Score B · register-verified</g:product_highlight> <g:product_highlight>None of the 14 EU allergens</g:product_highlight> <g:product_highlight>Vegan · recyclable foil</g:product_highlight> <!-- Central adds structured product_detail blocks --> <g:product_detail> <g:section_name>Nutrition per 100g</g:section_name> <g:attribute_name>Energy (prepared)</g:attribute_name> <g:attribute_value>2 kJ · 0 kcal</g:attribute_value> </g:product_detail> <g:product_detail> <g:section_name>Allergens</g:section_name> <g:attribute_name>EU 14 allergens</g:attribute_name> <g:attribute_value>none declared</g:attribute_value> </g:product_detail> <g:product_detail> <g:section_name>Origin</g:section_name> <g:attribute_name>Country of origin</g:attribute_name> <g:attribute_value>Brazil, Colombia, El Salvador</g:attribute_value> </g:product_detail> <g:product_detail> <g:section_name>Certification</g:section_name> <g:attribute_name>Nutri-Score</g:attribute_name> <g:attribute_value>B · register-verified</g:attribute_value> </g:product_detail> </item>
{
"name": "Lavazza Qualità Oro",
"gtin": "8000070024007",
"net_weight_g": 250,
"key_facts": {
"blend": "100% Arabica",
"origin": "BR·CO·SV",
"nutri_score": "B",
"allergens": "none",
"vegan": true
},
"confidence": 0.94,
"sources_count": 16
}
Central parses the ingredient string from the pack, identifies any of the 14 named EU allergens (gluten, crustaceans, eggs, fish, peanuts, soy, milk, nuts, celery, mustard, sesame, sulphites, lupin, molluscs), and re-emits the string with the regulation's bold emphasis. May-contain statements are kept separate from the declared list, never merged. Allergen-free claims are held until the ingredient list and the producer declaration agree.
Central pulls the score from the official Nutri-Score register where the producer has registered the product. If not registered, Central recomputes it from the verified per-100g nutrition table using the published algorithm — and labels the result computed rather than register-verified. We never guess off a front-of-pack image.
PDO, PGI, and TSG status is checked against the EU eAmbrosia geographical-indication register. Bio / organic claims are checked against the producer's organic-certification body (Bio Suisse, EU 834/2007, DE-ÖKO-XXX). The certificate ID is stored on the field, and the claim drops if the registration has expired.
No. Diet labels (vegan, vegetarian, gluten-free, kosher, halal) are verified against the parsed ingredient list and certifier — a may-contain statement on one of the 14 allergens blocks the matching diet label until reviewed. Health claims fall under EU 1924/2006 and are narrowed against the register: "high in protein" requires ≥ 20% of energy from protein, "sugar-free" requires ≤ 0.5 g / 100 g, "source of fibre" requires ≥ 3 g / 100 g.
Native: Google Merchant Center (food category, with structured product_detail for nutrition, allergens, origin, and certification), ChatGPT Shopping, Perplexity Shopping. Any other destination (Picnic, Knuspr, Rewe, Flink, Gorillas, Ocado, Amazon Fresh) is custom-feed-ready — the canonical record adapts to whatever column shape the retailer expects.