Walmart EDI 810 Invoice Guide
This guide explains how to read, validate, troubleshoot, and convert Walmart EDI 810 invoices into CSV for accounting systems. Includes real-world code examples and common error fixes.
What This Is
This is a comprehensive technical guide for Walmart EDI 810 (Invoice) handling. It walks you through the X12 structure specific to Walmart, how invoice data is represented in segments and elements, and the complete conversion workflow from raw X12 text into a clean CSV that your finance or ERP system can import. The focus is on practical, repeatable steps with real EDI snippets and troubleshooting information for the errors you'll actually encounter in production.
Walmart uses EDI 810 to send invoicing information between suppliers and Walmart's systems or to accept supplier invoices (depending on the setup). This guide explains why common errors happen (e.g., delimiter problems, missing BIG date, incorrect invoice line item matching to PO), how to fix them, and how to prevent them using validation rules. It also integrates PlainEDI features and how the PlainEDI upload/validation flow reduces rejections.
Who This Is For
This guide is intended for EDI developers, integration engineers, accounts receivable specialists, and IT personnel responsible for ingesting Walmart EDI 810 invoices and mapping them into accounting or ERP systems. If you manage EDI translation, error handling, or reconciliation with Walmart Retail Link, this guide is for you.
Key Segments Explained
Below are the essential segments you will see in a Walmart EDI 810 and what each one means in practice. Understanding these will make mapping and troubleshooting far easier.
1. ISA — Interchange Control Header
The ISA segment is the fixed-length envelope header for the interchange. It contains sender/receiver IDs, control characters (element and segment delimiters), date/time, and the ISA control number. Walmart vendors commonly see ISA values that determine which trading partner they're interacting with; if these are wrong, partners will reject the interchange.
- Why errors occur: Wrong ISA authentication values, mismatched control numbers, or incorrect delimiters cause parsing failures before any segment-level validations.
- Key elements:
ISA01authorization info qual,ISA06sender ID,ISA08receiver ID,ISA11component element separator,ISA16segment terminator (encoded).
2. GS — Functional Group Header
The GS groups related transaction sets (ST/SE pairs). For 810, GS01 is usually 'IN' for invoices. GS contains group control number and application sender/receiver codes. Mismatched GS/GE pairs cause functional group-level acknowledgment errors.
3. ST/SE — Transaction Set Header/Trailer
Each invoice is wrapped in an ST header and an SE trailer. ST02 is the transaction set control number and must match SE02. If these are out of sync, Walmart and VANs will produce 997 or 999 acknowledgments with control number mismatch errors.
4. BIG — Beginning Segment for Invoice
BIG includes invoice date, invoice number, and reference to purchase order date/number. For Walmart, BIG01 (invoice date) and BIG02 (invoice number) are often required. Missing BIG date or mismatch between BIG PO reference and the actual PO causes invoice validation or pay hold issues.
5. IT1 — Baseline Item Data (Invoice Line)
IT1 contains the detail lines: quantity invoiced, unit of measure, unit price, and product identifiers (UPC, GTIN, or vendor SKU). Correct mapping of IT1 to the PO line (PO line number in IT1-07 or using CTL segments) is critical for automated matching and payment.
6. TDS / CTT / SAC — Amounts and Totals
TDS carries the total monetary amount for the invoice, CTT gives line counts, and SAC represents allowances or charges (discounts, freight). For Walmart reconciliation, ensure TDS equals the sum of line totals plus charges minus allowances; otherwise payment holds and chargebacks can occur.
Example EDI Snippet
Below is a real-world style Walmart EDI 810 sample. The example is simplified but preserves fields you'll need. Each line is explained after the code block.
ISA*00* *00* *ZZ*SENDERID *ZZ*WALMART *201130*1253*^*00501*000000905*0*T*:~
GS*IN*SENDERID*WALMART*20251130*1253*905*X*005010~
ST*810*0001~
BIG*20251130*INV123456**PO123456*20251115~
N1*ST*WALMART STORE 1234*92*1234567890~
N3*123 WALMART DRIVE~
N4*BENTONVILLE*AR*72712~
IT1*1*10*EA*12.34**VN*ABC123*UP*000123456789~
IT1*2*5*EA*5.00**VN*DEF456*UP*000987654321~
TDS*15340~
CTT*2~
SE*11*0001~
GE*1*905~
IEA*1*000000905~
Line-by-line explanation:
ISA*...~— Interchange header. Note element separator*and segment terminator~.ISA06SENDERID andISA08WALMART identify trading partners.GS*IN*...— Functional group for Invoices (IN).ST*810*0001~— Start Invoice transaction set with control number 0001.BIG*20251130*INV123456**PO123456*20251115~— Invoice date 2025-11-30, invoice number INV123456, referencing PO123456 dated 2025-11-15.N1*ST*WALMART STORE 1234*92*1234567890~— Ship-to identification: entity ID qualifier 92 and Walmart location ID.IT1*1*10*EA*12.34**VN*ABC123*UP*000123456789~— Line 1: quantity 10, unit price 12.34, vendor item ABC123, UPC 000123456789.TDS*15340~— Invoice total (in cents): 15340 means $153.40. Note some systems expect cents; confirm with mapping rules.CTT*2~— Count of invoice line items (2 lines).SE*11*0001~— End transaction set: 11 segments total, ST control number 0001.GE/IEA— Functional group and interchange trailers with control numbers.
CSV Output Example
Below is a sample CSV mapping of the EDI 810 above. Map segments to columns according to your ERP import format. This table illustrates common fields you'll export.
| InvoiceNumber | InvoiceDate | PO_Number | ShipToID | LineNumber | Qty | UOM | UnitPrice | VendorItem | UPC | LineTotal |
|---|---|---|---|---|---|---|---|---|---|---|
| INV123456 | 2025-11-30 | PO123456 | 1234567890 | 1 | 10 | EA | 12.34 | ABC123 | 000123456789 | 123.40 |
| INV123456 | 2025-11-30 | PO123456 | 1234567890 | 2 | 5 | EA | 5.00 | DEF456 | 000987654321 | 25.00 |
Step-by-Step Conversion Process
-
Receive and Inspect Interchange
- Check the
ISAenvelope for expected sender/receiver IDs and delimiters. Confirm delimiters (ISA11or implied) and segment terminator (ISA16). - Validate ISA control number and date/time against your VAN/AS2 logs. If ISA date/time is outside acceptable window, investigate file transmission delays.
- Check the
-
Validate Functional Group and Transaction
- Confirm
GSvalues (application sender/receiver, group control number). For 810,GS01should beIN. - Ensure each
ST/SEpair has matching control numbers.
- Confirm
-
Parse and Normalize Segments
- Tokenize by the segment terminator and then by element separator.
- Normalize dates (convert
CCYYMMDDto ISOYYYY-MM-DDor to your ERP expected format). - Convert currency units if
TDSuses cents (divide by 100 if needed).
-
Map EDI Fields to CSV Columns
- Use a field map that extracts
BIG02for InvoiceNumber,BIG01for InvoiceDate,BIG04/PO refs for PO_Number,N1/92for ShipToID, and eachIT1for line-level details. - Calculate line totals (
Qty * UnitPrice) and validate sum againstTDS.
- Use a field map that extracts
-
Validate Business Rules
- Match invoice PO number to received PO. If PO doesn't exist, flag for manual review.
- Ensure GTIN/UPC and vendor SKUs are recognized. If UPC not found in your master data, add a validation error.
- Validate
CTTline counts against parsedIT1lines.
-
Output CSV and Reconcile Totals
- Write CSV rows per line item including invoice header fields repeated for each line.
- Run totals reconciliation between CSV-calculated totals and
TDS. Generate exceptions if mismatch.
-
Submit/Archive and Send Acknowledgment
- Archive original EDI file and generated CSV for audit trail. Keep ISA/GS/ST control numbers in metadata.
- If you're a trading partner sending 810s to Walmart, generate a 997 or 999 acknowledgment and validate it via reading 997 functional acknowledgments.
Common Errors and Fixes
Below are common Walmart 810 errors, typical 997/999 responses, why they happen, and step-by-step fixes.
-
Error: ISA control number mismatch (Interchange rejected)
- Why: The ISA control number didn't match expected sequence.
- Fix: Update your translator to increment ISA control numbers correctly per interchange. If using a VAN or AS2, confirm they don't rewrite ISA numbers. Re-transmit with corrected ISA and request a new interchange acknowledgment.
-
Error: ST/SE transaction set count mismatch (SE segment incorrect)
- Why: Incorrect segment count in
SE01, often caused by line break normalization or missing segments. - Fix: Recalculate segment count programmatically by tokenizing segments by terminator. Regenerate
SE01with correct value. Use PlainEDI validation on upload to catch this before sending: PlainEDI validates ST/SE counts.
- Why: Incorrect segment count in
-
Error: Missing BIG invoice date or invoice number (Business-level rejection)
- Why: BIG01 or BIG02 empty or malformed date format.
- Fix: Ensure supplier system populates invoice date in
CCYYMMDDin BIG01 and invoice number in BIG02. Run pre-send validation to check required fields. PlainEDI checks mandatory BIG elements on upload.
-
Error: PO reference mismatch (Invoice cannot be applied to PO)
- Why: Invoice references a PO number that does not match Retail Link PO or has different PO date or case variations.
- Fix: Confirm PO number in BIG04 matches Retail Link PO exactly. If Walmart changed a PO number or split PO, reconcile manually and resubmit invoice with correct PO refs.
-
Error: TDS total mismatch (Amounts do not reconcile)
- Why: Unit price or currency unit misunderstandings (cents vs dollars), missing allowance charges or taxes not included in TDS.
- Fix: Ensure your mapping interprets
TDScorrectly (cents or decimal). Recompute line totals plus charges and compare to TDS. Add missingSACsegments for allowances/charges if needed.
-
Error: Invalid item identifiers (UPC/GTIN not recognized)
- Why: Vendor used proprietary SKU where Walmart expects GTIN or UPC; item not present in Walmart master.
- Fix: Use the correct identifier qualifier (e.g.,
UP) inIT1and ensure the UPC/GTIN matches Walmart's item master. If the product is new, update Walmart supplier portal or Retail Link and wait for master-data propagation before resubmitting.
Related Resources
- reading 997 functional acknowledgments
- understanding EDI X12 delimiters and structure
- edi 810 invoice processing
- how to validate edi files before sending
- resolving edi 997 rejection codes
- converting edi files for accounting software
- walmart suppliers edi to csv conversion
- how to import home depot edi into quickbooks (useful reference for mapping concepts)
Practical Case Studies
Case Study 1 — Small Vendor: Single-Store Invoice Matching
A small grocery supplier receives PO PO123456 from Walmart. They generate EDI 810 invoices directly from their ERP. The supplier's initial invoices used IT1 with vendor SKU only, and Walmart rejected because the vendor SKU wasn't in Walmart's item master. The supplier updated their process to include UPC in IT1-14 with qualifier UP, and used PlainEDI pre-upload validation (PlainEDI) to confirm the UPC matches the expected format and that BIG fields are populated. After adding UPC and validating ST/SE counts, the invoices passed automated matching and payment processing.
Case Study 2 — 3PL Fulfillment: Invoice Split and Charges
A vendor using a 3PL created an invoice that combined shipments to multiple Walmart distribution centers into a single EDI 810; Walmart expected separate invoices per ship-to location (N1*ST). The result was partial acceptance and payment delays. The fix was to generate separate ST/SE transaction sets per ship-to N1 and include correct SAC lines for freight applied by the 3PL. The vendor also used the PlainEDI validation flow to enforce separate invoice grouping rules for multi-ship invoices.
Walmart Compliance and Penalties
Walmart enforces compliance penalties such as OTIF and data quality chargebacks; vendors must follow Walmart's invoice and ASN requirements. The Walmart policy and penalty programs were last updated on 2025-11-30. Verify current requirements with the Walmart Retail Link portal before making operational changes. Typical penalty categories include OTIF enforcement, ASN accuracy, and invoice/EDI attribute mismatches. For exact penalty amounts and thresholds, check Walmart's official vendor documentation via Retail Link.
How PlainEDI Helps
PlainEDI provides pre-upload validation for 810 files that catches delimiter issues, ISA/GS control mismatches, missing BIG elements, ST/SE counts, and basic business rules (line counts and TDS reconciliation). Use PlainEDI to upload EDI 810 files for automatic structural and business validation. PlainEDI reduces rejections by validating the most common causes before transmission to Walmart.
Common Troubleshooting Commands and Queries
When diagnosing problems, these quick checks are commonly used in scripts or queries:
- Count segments: tokenizedSegments = file.split(segmentTerminator).length — compare with
SE01. - ISA validation: compare
ISA06andISA08against expected partner IDs stored in config. - Date validation: parse
BIG01asYYYYMMDDand compare to invoice generation timestamps to detect clock skew issues. - TDS comparison: computedTotal = sum(qty * unitPrice) + charges - allowances; compare computedTotal to
TDS(remember cents vs decimals).
Common Error Codes Seen in Acknowledgments
- 997 Functional Acknowledgment — Acknowledges receipt. If segments flagged, check ISA/GS/ST control numbers and element positions.
- 999 Implementation Acknowledgment — Provides syntax errors. Example: "Error at segment BIG — Required element missing" means BIG01/02 missing.
- Retailer EDI Rejects — API/VAN level rejects are often accompanied by a reason code. If you receive a PO mismatch code, reconcile the PO number and date.
FAQ
Q: What is the most important segment to get right for invoice matching?
The most important is BIG (invoice number and date) plus the PO reference within BIG or REF segments. If the PO number is incorrect or missing, Walmart cannot apply the invoice to the PO for payment.
Q: How should I format the TDS amount?
TDS is typically transmitted as an integer representing cents (e.g., 15340 = $153.40) in many implementations. Confirm with your trading partner profile whether Walmart expects cents or decimal format and validate during mapping. Use PlainEDI validation (PlainEDI) to detect common unit mismatches before sending.
Q: Why did my invoice fail with a ST/SE count error?
ST/SE count errors occur when SE01 does not equal the actual number of segments contained in the transaction set. This often happens due to line ending normalization or missing trailing segment terminator. Recalculate and correct SE01, then re-submit.
Q: What should I do if Walmart rejects items due to UPC mismatch?
Verify UPC/GTIN against your product master and Walmart's item master. Update your IT1 qualifiers to use UP for UPC and ensure the value matches Retail Link records. If the product is new, register it with Walmart master-data processes and re-send the invoice after propagation.
Q: Does Walmart accept combined invoices for multiple ship-to locations?
Walmart usually requires invoices split per ship-to (N1*ST). If you combine multiple ship-to locations in one invoice, it can be rejected or cause matching issues. Split invoices into separate ST/SE transaction sets per ship-to location to avoid problems.
Q: How can PlainEDI reduce my 810 rejection rate?
PlainEDI performs automated checks on ISA/GS/ST envelopes, required segment presence (like BIG), ST/SE counts, TDS reconciliation, and basic business rules (line counts, PO matching). Uploading through PlainEDI prevents structural and many business-level errors before transmission to Walmart, reducing rework and chargebacks.
Q: What are common causes of delays in invoice payment from Walmart?
Delays typically originate from PO mismatches, missing or invalid item identifiers, TDS reconciliation failures, or missing supporting documentation. Ensure PO references match Retail Link, GTIN/UPC is correct, and the invoice amounts reconcile with PO/shipment data.
Q: Where do I find Walmart penalty schedules or specific chargeback amounts?
Walmart enforces OTIF and invoice/ASN data quality penalties. For exact penalty amounts and thresholds, check your Walmart Retail Link vendor portal. The retailer policy information referenced here is current as of 2025-11-30; verify current requirements with Retail Link.
Final Checklist Before Sending an 810 to Walmart
- Validate ISA/GS control numbers and partner IDs.
- Confirm BIG01/02 are populated and correctly formatted.
- Ensure IT1 lines include UPC/GTIN when required and that line counts match
CTT. - Reconcile computed totals with
TDS(confirm cents vs decimals). - Run PlainEDI validation (PlainEDI) to detect structural and common business-rule issues before transmission.
Ready to validate and upload your Walmart EDI 810 files? Use PlainEDI for pre-send validation and CSV conversion to reduce rejections and speed payment.
Ready to simplify your EDI workflow?
PlainEDI converts complex EDI files into clean CSV/Excel format instantly. No software installation, no training required.
Try PlainEDI Free →