Walmart Edi 846

By Alexander Georges|Updated December 9, 2025
TL;DR: This guide explains how Walmart EDI 846 (Inventory Inquiry/Advice) is structured, why common errors occur, and provides step-by-step conversion techniques to CSV for ERP ingestion. Use the provided real EDI snippets, segment explanations, and troubleshooting recipes to prevent rejections and keep inventory feeds compliant with Walmart requirements (effective 2025-11-30).

What This Is

The Walmart EDI 846 is the X12 transaction set used to send inventory inquiry and inventory advice messages between trading partners. Vendors, suppliers, and 3PLs use the 846 to report current on-hand quantities, quantity available for sale, allocated quantities, and sometimes forecast or reserved quantities for specific products and locations. For Walmart-specific workflows, the 846 plays a role in inventory reconciliation, replenishment planning, and store/warehouse inventory updates.

This guide focuses on practical conversion, validation, and troubleshooting for Walmart 846 files. It includes real-world EDI snippets, line-by-line explanations of key segments (ISA, GS, ST, BIA, LIN, QTY, REF, DTM, SE), and a complete conversion workflow to a CSV format used by ERP systems. You will also learn common rejection causes when exchanging 846s with Walmart and how PlainEDI's validation features reduce those errors. Walmart compliance and penalty considerations are discussed with the effective date noted where required (Effective 2025-11-30).

Who This Is For

This guide is for EDI analysts, integration developers, EDI VAN administrators, 3PL operations teams, and small-to-medium retail vendors who receive or send Walmart EDI 846 inventory messages and need to parse, validate, convert, and integrate inventory data into ERP or WMS systems.

Key Segments Explained

  • ISA — Interchange Control Header

    The ISA is the fixed-width interchange envelope that frames the entire EDI file. Key elements: ISA01/02 (authorization and security qualifiers), ISA03/04 (sender ID), ISA05/06 (receiver ID), ISA13 (repetition separator for X12), ISA14 (interchange control number), ISA16 (component element separator). Common Walmart trading partner IDs are placed in ISA06 and ISA08 depending on sender/receiver roles. The ISA determines element and component delimiters used through the interchange.

  • GS — Functional Group Header

    The GS groups one or more transaction sets of the same type. Important elements: GS01 (functional ID code = 'IB' for 846), GS02/03 (application sender/receiver code), GS06 (group control number). GS/GE pairing must match counts inside the interchange and also align with IEA counts; mismatch triggers AK9/997 rejections.

  • ST / SE — Transaction Set Header and Trailer

    ST begins the 846 transaction set (ST01 = '846'). ST02 is the transaction set control number and must match SE02 at the end of that transaction. SE01 contains segment count for the transaction. SE02 controls the transaction set control number. Mismatched ST/SE control numbers cause 997 functional acknowledgment errors.

  • BIA — Beginning Segment for Inventory Advice

    BIA signals the start of the inventory advice details: BIA01 (transaction family code), BIA02 (reference ID), BIA03 (date), BIA04 (time). BIA helps downstream systems correlate the inventory advice file to reporting periods or batch IDs. For Walmart, BIA02 often contains a reference that matches internal Walmart batch or store queries.

  • LIN — Item Identification

    LIN identifies the item: LIN01 is a position qualifier, LIN02 is the product identifier (UPC/GTIN), and LIN03 may provide item identification qualifier (e.g., 'VN' for vendor number). Multiple LIN loops allow reporting inventory for many SKUs within one 846.

  • QTY — Quantity

    QTY conveys the measured quantity associated with a particular LIN. QTY01 is quantity qualifier (e.g., '33' for quantity on hand at a location), QTY02 is the numeric quantity, and QTY03 could be the unit of measure. For Walmart, common qualifiers include on-hand and available quantities. If location-specific inventory is required, include an associated REF or N1 that denotes the location ID before the QTY loop.

  • REF / N1 / DTM

    REF conveys reference numbers such as location or batch. N1 identifies entities (e.g., the warehouse N1*ST for ship-to). DTM provides date/time details for the quantity snapshot. For Walmart compliance, always include the date/time snapshot (DTM) when reporting inventory ages and available inventory.

Example EDI Snippet

ISA*00*          *00*          *ZZ*SENDERID       *ZZ*WALMARTRECVID  *231130*1253*U*00401*000000905*0*P*>~
GS*IB*SENDERID*WALMARTRECVID*20231130*1253*905*X*004010~
ST*846*0001~
BIA*00*INVADVICE-0001*20231130~
N1*ST*WALMART STORE 123*92*12345~
LIN**UP*0001234567890*VN*SKU-00123~
QTY*33*120*EA~
DTM*011*20231130~
REF*PL*WH-ATL-01~
LIN**UP*0001234567891*VN*SKU-00124~
QTY*33*45*EA~
DTM*011*20231130~
REF*PL*WH-ATL-01~
SE*11*0001~
GE*1*905~
IEA*1*000000905~

Line-by-line explanation:

  • ISA*00*...*00401*000000905*0*P*> — ISA with control number 000000905. The element separator is '*' and the segment terminator is '~'. ISA13 character '>' is used as component element separator in this example.
  • GS*IB*...*004010 — Functional group for inventory advice (IB), control number 905 at GS06 matching the interchange grouping.
  • ST*846*0001 — Transaction set 846, control number 0001.
  • BIA*00*INVADVICE-0001*20231130 — Beginning segment with a reference INVADVICE-0001 and date 20231130 (YYYYMMDD).
  • N1*ST*WALMART STORE 123*92*12345 — Identifies the store location for the following inventory lines.
  • LIN**UP*0001234567890*VN*SKU-00123 — LIN loop showing UPC (0001234567890) and vendor SKU.
  • QTY*33*120*EA — Quantity qualifier 33 (inventory on hand) with quantity 120 each.
  • DTM*011*20231130 — Date/time reference for the snapshot.
  • REF*PL*WH-ATL-01 — Reference indicating the physical location or warehouse code.
  • SE*11*0001 — End of transaction set: 11 segments counted; control number 0001 matched to ST02.
  • GE*1*905 and IEA*1*000000905 — Group and interchange trailers with counts and control numbers.

CSV Output Example

TransactionID StoreOrLocationID SKU UPC QuantityQualifier Quantity UOM SnapshotDate RefLocation
INVADVICE-0001 12345 SKU-00123 0001234567890 33 120 EA 2023-11-30 WH-ATL-01
INVADVICE-0001 12345 SKU-00124 0001234567891 33 45 EA 2023-11-30 WH-ATL-01

Step-by-Step Conversion Process

  1. Receive and Pre-validate
    1. Confirm file received intact by comparing file size and timestamp from your VAN or AS2 endpoint.
    2. Use a delimiter detection routine to read ISA segment positions for element separator and component separator. If ISA is malformed, reject processing and notify the sender.
    3. Run structural validation using PlainEDI or your parser to ensure ISA/GS/ST wrappers are present and counts are numeric.
  2. Validate Envelopes and Control Numbers
    1. Verify ISA14/IEA02 interchange control numbers match and that IEA segment counts equal the number of GS groups inside the interchange.
    2. Confirm GS06/GE02 pairing consistency and that the number of ST transactions equals GE01.
    3. Fail fast: if envelope mismatches occur, generate a 997 or AK9 request for correction. PlainEDI flags control number mismatches automatically when you upload at PlainEDI.
  3. Parse Transaction Set and Extract BIA/N1 Loops
    1. Locate ST/SE boundaries and extract BIA for TransactionID / snapshot date.
    2. Identify N1 loops (location/store) to set current physical context for subsequent LIN/QTY loops.
    3. Maintain a state machine: when N1 changes, flush any buffered LIN rows to CSV with the prior location context before switching.
  4. Process LIN / QTY / REF Data into Rows
    1. For each LIN segment, map the UPC/GTIN and vendor SKU. If product identifiers are absent, attempt crosswalk using your internal product master but log mapping events for reconciliation.
    2. Associate subsequent QTY segments to the last LIN. QTY qualifiers determine the column (e.g., on-hand vs reserved). If multiple QTY qualifiers exist for a single LIN, create multiple CSV columns or multiple rows based on your ERP needs.
    3. Use DTM for snapshot dates; if missing, attach file receipt date with a warning flag in your CSV for manual review.
  5. Normalize Units and Quantities
    1. Convert units of measure to your ERP canonical units (EA to each, CT to carton, etc.). Maintain conversion factors in a lookup table.
    2. Handle decimals and implied decimals per Walmart guidelines. Round or truncate as your ERP requires, recording rounding events.
  6. Validate Business Rules and Totals
    1. Run business-rule checks: negative quantities, duplicate LIN for same location + SKU, or inventory exceeding expected maximums. Flag or quarantine failing rows.
    2. Verify transaction segment counts match SE01. If not, log diagnostic and reject processing until fixed.
  7. Export CSV and Post-process
    1. Write CSV with header columns matching the table above. Include transaction metadata (ISA/GS control numbers) as hidden fields for audit traceability.
    2. Upload CSV to your ERP, WMS, or BI feed. For automated integrations, run a reconciliation job to match resulting stock positions back to the original 846 and create a discrepancy report.
    3. Keep original EDI files and CSVs archived for at least your contractual audit period.

Common Errors and Fixes

  • Error: IEA Interchange Control Count Mismatch (IEA01)

    Symptoms: Trading partner returns a 997/AK9 indicating the IEA group count does not match actual GS groups. Fix: Recompute GS groups inside the interchange and set IEA01 to the correct group count. Use your EDI tool to regenerate IEA control numbers. PlainEDI checks IEA/GS counts on upload to /upload and prevents sending mismatched interchanges.

  • Error: ST/SE Control Number Mismatch

    Symptoms: 997 indicates SE02 does not equal ST02. Fix: Ensure your ST02 is unique within the GS group and SE02 equals the ST02 for each transaction set. Regenerate SE02 if you reassemble transactions.

  • Error: Missing or Invalid QTY Segment (QTY Qualifier Missing)

    Symptoms: Inventory rows lack QTY or use an unsupported qualifier. Fix: Confirm the correct QTY qualifier for Walmart's implementation. Add fallback rules: if QTY missing, try to use REF-based inventory fields or reject the item and notify the sender.

  • Error: Invalid Delimiters or ISA Format

    Symptoms: Parser fails at ISA line; characters in wrong positions. Fix: Validate that the file uses standard ISA fixed-width layout. If the sender uses non-standard separators, detect the separators from ISA and configure your parser accordingly. PlainEDI auto-detects delimiters on upload to /upload and flags positional ISA errors.

  • Error: HL Hierarchy Errors (Missing Parent HL)

    Symptoms: 846s that use HL loops report missing parent hierarchy. Fix: Reorder HL loops so parent HL segments appear before child HL. Alternatively, flatten the 846 if your trading partner expects non-hierarchical LIN/QTY loops; confirm with Walmart specs.

  • Error: Date Format and Snapshot Discrepancies

    Symptoms: DTM uses incorrect format and Walmart rejects for ambiguous snapshot date. Fix: Use YYYYMMDD or the DTM qualifiers required by Walmart. If you rely on file receipt date, include a DTM segment explicitly indicating the snapshot time to avoid ambiguity.

Related Resources

Why These Errors Occur (and How to Prevent Them)

Many 846 errors are procedural rather than format-only. Control number mismatches result from manual edits to envelopes or failed batching scripts that do not maintain counters. Missing QTY or incorrect qualifiers happen because different systems produce differing qualifiers for the same business concept; maintain a mapping table keyed by your trading partner. HL hierarchy issues arise from generators that assume single-level hierarchies; make your EDI generator produce hierarchical HLs in the correct order or flatten the structure when proven acceptable by the trading partner.

Preventive steps include: robust pre-send validation, unit-of-measure normalization, a product master crosswalk for SKU/UPC matching, and automated reconciliation jobs. PlainEDI's validation prevents many common syntactic and semantic errors by verifying ISA/GS/ST control counts, required segments, and data-type constraints on upload at PlainEDI.

Case Studies and Real-World Examples

Case Study 1 — 3PL Warehouse Inventory Sync

A 3PL sent a daily 846 to the vendor and Walmart to maintain visibility of pooled stock across multiple warehouses. Issues: HL hierarchy was flattened by the 3PL software, and Walmart's ingest expected a store-level N1 with multiple LIN loops. Resolution: The 3PL reconfigured its generator to emit N1 loops per warehouse before LIN, added REF*PL warehouse codes, and included DTM*011 snapshot dates. The result: fewer rejections and faster reconciliation against Walmart inventory reports. Use PlainEDI to validate the final EDI before sending to reduce rejections.

Case Study 2 — Small Vendor Converting 846 to ERP

A small vendor used a simple parser to convert 846 to CSV. The vendor encountered UOM inconsistencies (EA vs CT). Resolution: Implement a UOM normalization lookup and tag conversions in the CSV; include product master mapping. The vendor automated checks that compared summed quantities versus expected stocking levels and flagged anomalies for manual review.

Compliance and Penalties (Walmart)

Walmart enforces OTIF compliance penalties and assesses chargebacks for inventory and ASN inaccuracies. Effective 2025-11-30, Walmart continues to expect accurate inventory reporting, timely ASNs, and correct store/warehouse location identification. Verify current penalty rates and thresholds via the Walmart Retail Link portal. Common compliance requirements: correct trading partner IDs in ISA/GS, accurate snapshot dates in DTM, and correct location identifiers in N1/REF.

To reduce compliance risk, incorporate automated validation steps, produce 997 functional acknowledgments syntactically correct, and reconcile inventory advice against expected stock levels. PlainEDI helps prevent syntactic failures and offers pre-send validation features accessible via PlainEDI to detect errors before transmission.

FAQ Section

Q: What is the purpose of a Walmart EDI 846?

The Walmart EDI 846 transmits inventory inquiry or inventory advice information such as on-hand quantities, available quantities, and snapshot dates for items at specified locations. Retailers and suppliers use 846s for inventory reconciliation and replenishment planning.

Q: Which segments are required in an 846 for Walmart?

Required segments typically include ISA/GS/ST/SE/IEA/GE wrappers, BIA for transaction identification, N1 for location context, LIN for item identification, QTY for inventory values, and DTM for snapshot dates. Specific implementations may require additional REF segments for location or pallet identifiers. Confirm with Walmart Retail Link for their exact implementation guide.

Q: How do I map 846 LIN/QTY loops to CSV rows?

Map each LIN as a CSV row, append the applicable QTY qualifiers as quantity columns or separate rows per qualifier, include location from the most recent N1/REF, and add the BIA reference and DTM snapshot date for traceability. The CSV example above demonstrates the typical mapping.

Q: Why did Walmart return a 997 for my 846?

Common reasons include ISA/GS/ST control number mismatches, missing required segments (BIA, LIN, QTY, DTM), incorrect delimiter usage, and invalid qualifiers. Check the 997 details (AK1/AK9) to identify which segment or group failed. Use PlainEDI pre-validation at PlainEDI to catch these issues before sending.

Q: What QTY qualifiers should I use for inventory on-hand?

Use the QTY qualifier specified in Walmart's implementation guide; typical qualifier for on-hand is '33' but always validate against current Walmart specifications on Retail Link. If your internal system uses different qualifiers, include a mapping layer during conversion.

Q: How often should I send an 846 to Walmart?

Frequency depends on your contract and Walmart expectations. Common cadences include daily inventory snapshots or on-demand reporting for specific reconciliation events. Check Walmart Retail Link for program-specific frequency requirements and penalties (effective 2025-11-30).

Q: Can I flatten HL hierarchies in an 846 sent to Walmart?

Only flatten HL hierarchies if accepted by Walmart's trading partner implementation. Walmart often expects location context via N1 and REF prior to LIN loops. Confirm with Retail Link and your trading partner integration guide before changing hierarchy structure.

Q: How does PlainEDI reduce 846 errors?

PlainEDI validates ISA/GS/ST envelopes, checks mandatory segments, verifies control numbers and segment counts, detects delimiter issues, and flags missing data like DTM or QTY. Use PlainEDI's upload validation at PlainEDI to catch errors before transmission.

Final Notes and Best Practices

Always validate files before sending to Walmart and keep detailed audit logs mapping EDI control numbers to your CSV and ERP transactions. Maintain a product master for UPC/SKU crosswalks and a UOM conversion table. For critical trading partners like Walmart, automate pre-send validation, 997-consuming logic, and reconciliation reports.

For immediate validation and conversion, upload your 846 files to PlainEDI to run syntactic and semantic checks and to produce CSV output ready for ERP ingestion.