Date Marking and Shelf-Life Calculator
Know the exact date-marking wording and precision a product needs before packaging goes to print, not after a recall.
Which market this reads
What this check reads: European Union. No other market is covered.
Reads the date marking rules of Regulation (EU) No 1169/2011 Article 24 and Annex X, including the use by and best before distinction. That distinction is EU law and this check reads nothing else. There is no US federal date labelling rule in this dataset, and outside infant formula there is no US federal counterpart for it to point at, so on a US pack the result describes the EU rule and nothing more.
What it does
Calculates legally compliant date marking formats, date precision, freezing date rules, and mandatory storage conditions under Regulation (EU) No 1169/2011.
Ask it like this
youWhat date-marking format and precision does a yoghurt with a 14-day shelf life need, produced today?
You never name it yourself. Your assistant picks the right tool: shelf_life_dating__calculate_shelf_life_date
What you give it
| What to give | Kind of value | Needed? | Notes |
|---|---|---|---|
| product_category | string | yes | checked against Annex X point 1(d) exemptions, e.g. fresh fruit, wine, vinegar |
| microbiological_hazard | boolean | yes | true if highly perishable; sets use-by versus best-before |
| shelf_life_duration | integer | yes | numeric shelf life value |
| shelf_life_unit | 'Days' | 'Months' | 'Years' | yes | unit for shelf_life_duration |
| production_date | string | yes | date the shelf life is calculated from |
| date_of_first_freezing | string | optional | for frozen meat, meat preparations and unprocessed fishery products |
| has_special_storage | boolean | optional | flags storage_instructions as mandatory |
| storage_instructions | string | optional | required storage conditions to print on pack |
| post_opening_limit | string | optional | use-after-opening period, where applicable |
What you get back
| What comes back | Kind of value | Notes |
|---|---|---|
| is_exempt | boolean | true for Annex X point 1(d) exemptions, e.g. wine, vinegar, sugar |
| legal_date_type | 'BEST_BEFORE' | 'BEST_BEFORE_END' | 'USE_BY' | 'EXEMPT' | per Article 24 |
| mandatory_prefix | string | e.g. "use by ..." or "Best before end ..." |
| required_precision | string | day, month or year granularity required for the shelf life given |
| calculated_expiry_date | string | production_date plus shelf_life_duration |
| formatted_expiry_string | string | on-pack date string at the required precision |
| formatted_freezing_string | string | set when date_of_first_freezing is given |
| portion_printing_warning | boolean | true when a use-by date must also be printed on individual portions of a multi-pack |
| disclaimer | string | states what the regulation specifies, not a compliance verdict |
Sources
- Regulation (EU) No 1169/2011, Annex X and Article 24
Who wrote this
Every capability is written by one named publisher. You see who stands behind an answer, and you can take the conversation further with them directly.
fmcg.network Core Team
verifiedPlatform capabilities and reference implementations
Network team
What the assistant can offer next
Related reading
How uncertainty is handled
This check reports a confidence score with every answer. Below 80 out of 100 nothing is guessed: the uncertain items go to a review queue and the answer comes back marked "needs review".
Read how quality levels work