COA + lot tracking per batch, how do customers find their lot’s COA and what does the recall workflow look like?
Certificate of Analysis per batch is industry-standard for any serious supplements brand, Thorne, Pure Encapsulations, Athletic Greens all publish COAs per lot. It’s also load-bearing for FDA recall response (you need to know which customers got which lot within 24h of a recall trigger).
The architecture I build on Magento:
- Custom “lot” entity attached to each SKU. Fields: lot code, manufacture date, expiry, COA PDF (uploaded to media/ or S3), NSF / Informed Sport / USP Verified status, third-party lab name (Eurofins, NSF International, etc.).
- Order → lot mapping, when warehouse pick-packs an order, the lot code is recorded on the order line (via WMS webhook). Magento now knows customer-X received lot-Y.
- PDP lot-lookup widget, customer enters the lot code printed on their bottle, sees the COA PDF instantly. No login required.
- Admin recall grid, select a lot, see every customer who received it, one-click email-all with recall instructions, freeze the SKU from purchase, set inventory to 0.
FDA expects recall response within 24 hours and customer notification within 48 hours. Without lot tracking you’re emailing every customer who ever bought the SKU, bad PR + huge refund cost. With lot tracking you email 800 customers instead of 80,000.
Recall-drill rehearsal at deploy time: I pick a fake lot, validate the admin can freeze + customer-list pull works, time the workflow end-to-end. The dry run takes 90 minutes and saves your business if a real recall ever hits.