Skip to main content
Flintmere

Informational guide. Not legal advice. Verify against primary source →

Food catalog standard — v1.0 — release candidate

How a food catalog should describe itself.

7 fields, each one carrying a primary regulator citation and a Shopify encoding rule. Written for the shopping channels and AI agents that read a catalog before a person ever does.

Free to read, free to cite. Spec text is CC-BY 4.0; the machine artefacts are CC0.

This is the rolling alias — it always serves the current v1.x release, so what it says will change. When citing, use the pinned URL /food/v1.0/, which never changes.

Status
Release candidate until 2026-09-22
Published
2026-08-23
Fields
7
Cadence
Half-yearly

Field 01string required

gtin

The GS1 Global Trade Item Number identifying the sellable unit.

Source standard
What this standard adds
Shopify metafield encoding rule (my_fields.gtin plus barcode on the variant) and an explicit exclusion for variable-measure prefixes, which are not stable product identifiers.
Shopify encoding
variant.barcode, mirrored to the my_fields.gtin metafield on the product.

Field 02string[] required

allergen

Declared allergens present in the product, drawn from the FSA Big-14.

Source standard
What this standard adds
A source_phrase provenance field carrying the verbatim label text an allergen was read from, so every declaration is auditable back to the pack.
Shopify encoding
my_fields.allergens as a list.single_line_text_field, one entry per allergen.
Permitted values (14)
  • celery
  • cereals containing gluten
  • crustaceans
  • eggs
  • fish
  • lupin
  • milk
  • molluscs
  • mustard
  • peanuts
  • sesame
  • soybeans
  • sulphur dioxide and sulphites
  • tree nuts

Field 03object[] required

ingredient

The ingredient list in descending order of weight at the time of manufacture.

Source standard
What this standard adds
A bidirectional allergen_ref linking each ingredient entry to its allergen declaration, so the two lists cannot drift apart.
Shopify encoding
my_fields.ingredients as a list.single_line_text_field in declared order.

Field 04string required

country_of_origin

Country of origin or place of provenance for the food, as an ISO 3166-1 alpha-2 code.

Source standard
What this standard adds
primary_ingredient_origin, for the case where the primary ingredient comes from a different country than the food itself (FIC Article 26.3); and quid_pairs, capturing Quantitative Ingredient Declarations where an ingredient is named or pictured on the label (FIC Article 22 and Annex VIII).
Shopify encoding
my_fields.country_of_origin as a single_line_text_field holding the alpha-2 code.

Field 05object required

net_content

The net quantity of the food, as a value and a unit.

Source standard
What this standard adds
UCUM unit enforcement, where most catalog specs leave net content as free text; plus an e_mark flag for packs carrying the average-quantity estimated sign.
Shopify encoding
my_fields.net_content_value (number_decimal) and my_fields.net_content_unit (single_line_text_field, UCUM code).

Field 06object optional

lifecycle

Durability dates and storage conditions for the product.

Source standard
What this standard adds
best_before and use_by held as separate fields rather than one conflated date, plus opened and sealed shelf-life in days — the distinction is a safety boundary, not a formatting preference.
Shopify encoding
my_fields.shelf_life_sealed_days and my_fields.shelf_life_opened_days (number_integer); date type carried in my_fields.durability_type.

Field 07string[] optional

dietary_certifications

Third-party dietary or provenance certifications held by the product.

Source standard
What this standard adds
A pinned scheme enum, where most catalog specs accept free text — free-text certification claims are unverifiable and unqueryable by a shopping channel.
Shopify encoding
my_fields.certifications as a list.single_line_text_field, one pinned scheme identifier per entry.

Out of scope, and why.

What v1.0 deliberately does not cover.

Held back from this version.

Related work.

Open Food Facts is a public dataset of food products. This is an encoding standard for Shopify catalogs. The two are complementary: a dataset records what products exist; this document says how a merchant should structure their own catalog so a channel can read it.

GS1 governs identifiers. This standard cites GS1 for the identifier and adds the Shopify encoding path around it.

Schema.org Product has no first-class allergen field. The JSON-LD artefact extends it with a vocabulary for the fields above.