> ## Documentation Index
> Fetch the complete documentation index at: https://docs.closient.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Infant Formula Expiration Dates

> Why infant formula brands should encode the mandatory use-by or expiration date as GS1 AI 17 in a Digital Link, and what that makes possible at the shelf, the lane and the home.

Infant formula is the one food where US federal regulations require a date on every container, and Canada requires an expiration date on it too. The label already carries a legally required date. Encoding it in the Digital Link as AI `17` moves that date from ink into the machine-readable layer.

This is a framing to hold throughout: **the law requires the date; Digital Link makes it enforceable.** Digital Link itself is not mandated.

## What the rules say

| Market | Source | What it says |
| - | - | - |
| United States | [21 CFR 107.20(c)](https://www.ecfr.gov/current/title-21/chapter-I/subchapter-B/part-107/subpart-B/section-107.20) | The label carries a "Use by" date, month and year chosen by the manufacturer. |
| United States | [FDA consumer Q\&A on infant formula](https://www.fda.gov/food/people-risk-foodborne-illness/questions-answers-consumers-concerning-infant-formula) | The date is required on each container; until it, the formula contains no less than the declared amount of each nutrient. |
| Canada | [FDR B.25.057](https://laws-lois.justice.gc.ca/eng/regulations/C.R.C.,_c._870/section-B.25.057.html) | The label of a human milk substitute carries its expiration date. |
| Canada | [CFIA date labels guide](https://inspection.canada.ca/en/food-labels/labelling/consumers/date-labels-food) | Infant formula carries an expiration date; food should not be bought, sold or eaten after it. |

The regulation text requires the date on the label. The statements about sale past the date come from regulator guidance. Have your regulatory team confirm the reading for your products and markets.

## Which AIs to encode

| AI | Meaning | Why for formula |
| - | - | - |
| `01` | GTIN | Identifies the product. |
| `10` | Batch/Lot number | The unit of recall. Pair it with the date. |
| `17` | Expiration date (YYMMDD) | Your mandated date, readable by a machine. |

Use `00` as the day for month-and-year dates; GS1 reads it as the end of the month.

```
https://id.closient.com/01/00012345678905/10/L2026-1842?17=270300
```

`17` is a data attribute, so it rides the query string rather than the path. Build the URI with the Closient generator rather than by hand.

## What it enables

* **Offline checkout enforcement.** The lane compares the date in the code to today's date locally. A sale block that has to work during a network outage cannot depend on a lookup.
* **Receiving checks** that flag short-dated cases at the dock.
* **Pull lists** produced from shelf and backroom scans.
* **Consumer scan** that shows whether the can in hand is within its date.

## Recalls

Adding `10` lets a recall name specific lots, and the serial implies the lot if you serialize. See [Lot-Scoped Recalls](/guides/lot-scoped-recalls) for how Closient resolves recall status per lot, and [The 2026 Lettuce Recall Was Scoped by a Date Printed in Ink](https://blog.closient.com/lettuce-recall-scoped-by-ink/) for the case study.

## Size

GTIN, lot and date remain a short payload. See [QR code sizing](/user-guides/qr-code-sizing) for how data length sets the symbol size.

Read the narrative version on the blog: [Infant Formula Already Has a Mandatory Date. Put It in the QR Code.](https://blog.closient.com/infant-formula-use-by-date-digital-link/)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.