How to recall one batch instead of the whole product

2026-07-06 · Updated 2026-08-05 · Onpack

The recall is where the 2D barcode transition stops being about marketing and starts being about physics: when something goes wrong, it goes wrong in a batch, and a pack that knows its batch can warn exactly the right people while every other batch keeps selling. That precision is the difference between a contained incident and a category-wide write-off.

The mechanism, end to end

The printed code carries the lot: /01/GTIN/10/LOT42, per the Digital Link syntax. The resolver keeps a record per lot: origin, production date, expiry, and, when needed, a recall. Raising a recall is one API call naming the lot and the reason in your own words. From that second, scans of that lot resolve to the recall notice, translated into the scanner's language; scans of every other lot are untouched. Machines are told too: inventory systems reading the code get the recall as data, which is how a warehouse can quarantine stock without a human reading a press release.

Why whole-product recalls happen today

Not because problems affect whole products, but because communication does. If the only identity a shopper or retailer can act on is the GTIN, the recall must speak at GTIN granularity, so one bad production day condemns every unit in the market. Lot-coded packs change the addressable unit: the recall speaks to LOT42 because the pack itself says LOT42.

What this costs to set up

Printing the lot in the code is the operational lift, and food and pharma lines mostly print lots already, just not inside the QR. Registering lots on Onpack is free and scriptable, bulk endpoints included, and recalls, per lot or product-wide, are single calls documented in the API reference. US food brands get double duty: the same lot identity is the backbone of FSMA 204 records, so the 2028 FDA date and recall readiness are one investment.

Rehearse it before you need it

The best time to discover your recall path is a drill: create a test lot, raise a recall, scan a pack, read the notice, lift it, scan again. Ten minutes, zero cost, and afterwards the worst day in a product manager's calendar has a rehearsed playbook, the fuller argument of recall communication through the pack.

Common questions

How does a scan know which batch an item belongs to?

Because the batch is printed inside the code: a Digital Link with the /10/ segment carries the lot identity, so the resolver knows exactly which record applies.

What do shoppers see on a recalled batch?

A recall notice page, in their language, with the reason and the action to take, served instead of the normal page. Machines get the recall as structured data on a 200 response with a warning header.

Do unaffected batches change at all?

No, that is the point: they keep resolving to the normal page and keep selling. The recall is scoped to the lots you name.

Can recalls be lifted?

Yes, and cleanly: lifting the recall restores normal resolution for that lot while leaving the batch's other data intact.

Print a code that stays alive

Generate a conformant GS1 Digital Link for any GTIN, check it fits your label, and host the page behind it. Free at any volume.

Create a code