Walmart FSMA 204 Compliance FAQ
FAQs
General Scope & Background
1. What is FSMA 204?
FSMA 204 refers to the "Requirements for Additional Traceability Records for Certain Foods" Final Rule published by the FDA on November 21, 2022. This rule implements Section 204(d) of the FDA Food Safety Modernization Act. It requires companies to maintain additional records for specific designated foods (the Food Traceability List) to protect public health. ([FDA FSMA 204 Rule](https://www.fda.gov/food/food-safety-modernization-act-fsma/fsma-final-rule-requirements-additional-traceability-records-certain-foods))
2. Do I need to send FSMA data for all items, or only those on the FTL?
You should send FSMA data for all food items, not just items on the FTL.
3. If I am live with ASNs, do I need to re-test?
If you are currently sending ASNs, you do not need to re-test. However, you must begin sending the new required segments/elements for FSMA compliance. If you are *not* currently sending ASNs, you must contact the EDI Help Desk.
4. Does this apply to Direct Store Delivery (DSD)?
Yes. FSMA 204 applies to all shipments of FTL goods, including DSD, DSDC, Warehouse deliveries, WFS, Marketplace, Consolidation, and Imports.
5. Does the rule apply to international suppliers?
Yes. The Final Rule applies to all entities that manufacture, process, pack, or hold FTL foods, regardless of whether the company is located in the United States or a foreign country.
Critical Tracking Events (CTEs) & Key Data Elements (KDEs)
1. What are CTEs and KDEs?
- Key Data Elements (KDEs): Specific pieces of information that must be recorded (e.g., Lot Code, Ship From location, quantity).
- Critical Tracking Events (CTEs): Specific supply chain events where KDEs must be captured.
2. What are the specific CTEs?
The CTEs defined by the FDA are:
CTE | Description |
Harvesting | Collection of raw agricultural commodities |
Cooling | Initial cooling of produce after harvest |
Initial Packing | First packing of a raw agricultural commodity |
First Land-Based Receiver | First receipt of seafood from a fishing vessel |
Shipping | Sending FTL foods to another location |
Receiving | Receiving FTL foods from another location |
Transformation | Manufacturing/processing that changes the product |
Traceability Lot Code (TLC) Concepts
1. What is a Traceability Lot Code (TLC)?
A TLC is a descriptor used to uniquely identify a traceability lot within the records of the firm that assigned it.
2. When must a TLC be assigned?
A TLC must be assigned when a firm: (1) Initially packs a raw agricultural commodity, (2) Performs the first land-based receiving of food from a fishing vessel, or (3) Transforms a food product.
3. What is the TLC Source?
The TLC Source is the physical location where the TLC was assigned. This is typically the packing house, processor, or manufacturer. TLC source is often referred to as "Manufacturing Plant" within the EDI guide and SQEP.
4. If I am a receiver, do I need to create my own TLC?
No. Receivers must utilize the previously assigned TLC provided by the trading partner rather than establishing a new internal reference.
EDI 856 (ASN) Structure & Segments
1. Which EDI transaction is used for FSMA data?
Use either "Goods for Resale ASN" (standard/ambient) or "Perishable ASN" (variable weight/highly perishable) guides found in Retail Link.
2. What are the valid Hierarchical Structure Codes (BSN05)?
- 0001: (Shipment, Order, Packaging, Item): Required for DSDC/Store ASNs.
- 0002: (Shipment, Order, Item, Packaging): For single item per pack.
- ZZZZ: (Mutually Defined): Required for Perishable ASNs.
3. Can I send multiple Lot Codes for a single item?
Yes. However, the ASN structure must support it.
4. Where do I put the Traceability Lot Code?
The Traceability Lot Code must be sent in the LIN segment using qualifier LT. For Perishables, it goes in the Batch (ZZ) loop. Max length: 20 chars.
5. What date/time segments are required?
Qualifier | Name | Usage |
011 | Shipped Date | Required at Shipment level |
067 | Scheduled Delivery | Required for Store ASNs |
208 | Lot Expiration | For blends / ready-to-use |
405 | Production Date | Minimally processed animal goods |
510 | Date Packed | If processing alters life |
511 | Shelf Life Expiration | Best Before |
906 | Collection / Harvest Date | Harvested goods |
036 | Expiration | Inventory management |
Country of Origin
1. Is Country of Origin required?
Yes, for Perishable and PTI suppliers. Use CH qualifier in LIN segment (e.g., `LIN*...*CH*US-FL`).
Identification Keys (GLN, GTIN, SSCC)
1. Is a Global Location Number (GLN) required?
Yes, for Ship From, Ship To, and TLC Source (Manufacturing Plant).
2. Where does the GLN go in the ASN?
- Ship From: `N1*SF` (Shipment level)
- Ship To: `N1*ST` (Shipment level)
- TLC Source: `N1*MP` (Pack/Item level)
3. Do I need an SSCC (Serial Shipping Container Code)?
Yes. The SSCC-18 (sent in `MAN*GM` segment) is required to identify the logistic unit (Pallet/Case) and link physical shipment to EDI data.
Administrative Contact Requirements
1. Is a contact phone number required for FSMA shipments?
Admin contact telephone required in 2 places:
- At the shipment level for the ship from location
- At the batch/lot level for the manufacturing plant
These 2 telephone contact phone numbers may be different. The ship from location may be different than the manufacturing plant.
Operational & Labeling
1. What are the general labeling requirements?
Every palletized or unitized shipment must carry a clearly visible, physical pallet-level shipping label affixed to each individual pallet. This label should accurately reflect the pallet's contents and the exact quantity of items it holds, ensuring precise identification and streamlined handling throughout the supply chain.
2. Does the physical label need to change?
The physical label must contain:
- Traceability Lot Code in human-readable format
- Preferably in a scannable barcode (GS1-128 or GS1 DataMatrix)
3. What barcodes are acceptable?
Barcode Type | Description |
GS1-128 | Required at Pack / Case level. Encodes GTIN, Lot, and Date. |
SSCC-18 | Required at Pallet level. |
4. What happens if the data in the ASN does not match the physical shipment?
This will cause receiving delays, rejections, and SQEP scorecard penalties. Accuracy between the digital ASN and physical product is mandatory.
Common ASN Errors & Resolutions
FSMA/Perishable Specific Errors
Error Message | Type | Resolution |
Missing Item Identifier LT Lot Code | Warning | All food items must have Lot numbers in LIN(LT). |
Invalid Item Identifier LT Lot Code | Warning | Lot number >20 chars. Truncate to 20. |
Missing perishable date time references | Warning | Use qualifiers: 208, 405, 510, 511, or 906 at Batch/Pack level. |
Missing item identifier CH | Warning | Perishable ASNs require the Country of Origin (CH) qualifier. Format: Space-separated ISO3166-1 alpha-2 codes (e.g., "US CA"). Subdivisions: Join with hyphen (e.g., "US-FL"). Must match physical label "Product of" exactly. |
Missing Ship From GLN | Warning | FTL compliance requires Ship From GLN or Address. |
Missing Manf Plant Lot Code Source Ref URL | Warning | FTL requires Mfg Plant address/GLN, FFRN, or URL (N1*MP). |
Missing Administrative Contact Telephone | Warning | FSMA FTL requires admin contact phone in PER(TE). |
Structure & Hierarchy Errors
Error Message | Type | Resolution |
Invalid Hierarchical Structure Code | Error | BSN05 must be 0001, 0002, or ZZZZ. |
Missing Hierarchical Structure Code | Error | BSN segment missing or BSN05 empty. |
Invalid Hierarchical loop(s) | Error | Parent loop missing expected child loop. |
SSCC Errors
Error Message | Type | Resolution |
Missing SSCC-18 on Pack loop | Error | On the pack loop, add a Man(GM) segment followed by a 20 digit SSCC barcode number. |
Missing SSCC-18 on Tare loop | Error | On the tare loop, add a Man(GM) segment followed by a 20 digit SSCC barcode number. If the TD101 is PLT, then this is ALWAYS Required. |
Invalid SSCC-18 | Error | Incorrect length or check digit. Must be 20 chars. |
Multiple SSCC-18 on Pack Loop | Error | Only 1 SSCC-18 allowed per pack loop. |
Item & Quantity Errors
Error Message | Type | Resolution |
Missing item identifier UP or EN | Error | LIN must have UP (GTIN-12) or EN (GTIN-13). |
Missing LIN for respective Loop | Error | Perishable: LIN at Pack level. Non-perishable: LIN at Item level. |
Invalid quantity UOM | Error | SN1 UOM must be EA, CA, or PL. |
Food Traceability List (FTL)
The Food Traceability List can be found here: https://www.fda.gov/food/food-safety-modernization-act-fsma/food-traceability-list.
Quick Reference: ASN Segment Summary for FSMA
Data Element | Segment | Location | Required? |
Shipment ID | BSN02 | Header | Yes |
Structure Code | BSN05 | Header | Yes |
Ship Date | DTM*011 | Shipment HL | Yes |
Ship From GLN | N1*SF | Shipment HL | Yes |
Ship To GLN | N1*ST | Shipment HL | Yes |
Contact Phone | PER*PY | Shipment HL | Yes |
Pallet SSCC | MAN*GM | Tare HL | Yes (Unitized) |
Lot Number | LIN*LT | Pack/Item/Batch | Yes (All Food) |
Country of Origin | LIN*CH | Pack/Batch | Yes (Perishable) |
Expiration Date | DTM*... | Pack/Batch | Yes (All Food) |
Mfg Plant GLN | N1*MP | Pack/Item/Batch | Yes (All Food) |
Resources & Support
Resources
- ASN Dashboard: Retail Link > Apps > Advanced Shipment Notice Dashboard
- Food Traceability Page: [Walmart Food Traceability Requirements](https://public.walmart.com/content/food-safety/en_us/food-safety-requirements/food-traceability.html)
- SQEP Dashboard: Retail Link > APPS > SQEP
Walmart Contacts
- EDI Help Desk: (479) 273-8888