Skip to content
SyncMyShop

EDI trading partners

Walmart EDI requirements for suppliers

Walmart lists EDI among its supplier requirements, next to a tax ID and liability insurance. For drop-ship vendors it publishes the full specification: eight X12 004010 transaction sets, four connection types, fixed delimiters and a file naming convention over SFTP. This page covers what that specification fixes and where it differs from the standard.

Updated

What Walmart requires from a supplier

Walmart's supplier page lists six requirements in one sentence: a federal tax ID number, a minimum of $5M in liability insurance, a Dun & Bradstreet number, the ability to submit products for third-party testing, Electronic Data Interchange (EDI) and a GS1 membership number. EDI is a condition of doing business, in the same list as the insurance.

The public specification covers one program in full: drop-ship vendors (DSV), suppliers that sell under Walmart's name, hold the goods in their own warehouse and ship to the customer or to a store. Walmart's developer portal carries a guide per transaction set, all in X12 version 004010. For suppliers of stores and distribution centers the public pages hold no transaction set guides, so the set, version and label rules of those programs are not listed here.

What follows is checked against Walmart's EDI interface documentation on 3 October 2026. It is one of the trading-partner specifications we build an EDI integration against.

The eight documents in the drop-ship set

Set X12 name Direction What Walmart's guide fixes
850 Purchase Order From Walmart BEG*00*DS, a 13-digit customer order number in REF*CO, ship-to always present, service level in TD512
860 Purchase Order Change Request, Buyer Initiated From Walmart BCH*00*DS, POC02 DI cancels a whole line
855 Purchase Order Acknowledgment To Walmart BAK*00*NA, one ACK per line, sent twice: IA, then AR
856 Ship Notice/Manifest To Walmart Levels O, P, I, tracking number in MAN*CP
846 Inventory Inquiry/Advice To Walmart QTY*17 on hand, availability code in REF*ZZ
879 Price Information To Walmart Unit cost per item in G40
824 Application Advice From Walmart Content errors, message in TED02
997 Functional Acknowledgment Both AK5 per transaction set, AK9 per group

The directions of the 879 and the 824 are read from the sender IDs in Walmart's samples; the file naming list on the same page covers only the other six. The 850 is a consumer order: it carries the customer's name and address in N1*ST, the shipping method the customer chose (ND next day air, SE second day, SG standard ground) and, for a Site to Store order, the store number.

One Walmart.com drop-ship order as EDI files over SFTP Walmart.com sends an 850 for PO 4500018236 with two lines. The integration returns a 997, creates the sales order and answers with an 855 that accepts line 1 for 24 units and rejects line 2 for 16 units. A second 855 releases line 1 for shipment, and an 856 reports the package with its tracking number. Walmart answers a failed edit with an 824. Walmart.com buyer Integration SFTP, X12 004010 ERP your system WMI_850PO: PO 4500018236 WMI_997FA: group PO accepted sales order, 2 lines line 1 in stock, line 2 not WMI_855PR: IA 24, R4 16 line 1 picked WMI_855PR: AR 24 fulfillment, tracking number WMI_856SH: HL O, P, I 824 when an edit fails Over SFTP every file name carries the set, the DSV ID, the GMT date and time and a six-digit random number. The 824 has no file name pattern on Walmart's page.
One drop-ship order as files over SFTP. The 855 goes out twice: IA accepts the line, AR releases it for shipment.

Four connection types, and the file name over SFTP

Walmart names four connection types for the drop-ship interface.

Type What Walmart states
AS2 Direct connection between Walmart and the vendor, with digital certificates and encryption
Value-added network (VAN) Walmart sends via the VAN and does not govern the data flow between VAN and vendor
SFTP Direct point-to-point file transfer between Walmart and the vendor
Solution provider A third party that provides the EDI process; Walmart does not govern the flow between provider and vendor

Two of the four are direct, so a network subscription is not a precondition. AS2 and SFTP need an endpoint that is reachable, monitored and tested with Walmart. A VAN moves the same files through a mailbox.

Over SFTP the file name is part of the specification:

WMI_850PO_VVVVVVVVV_YYYYMMDD_HHMMSS_NNNNNN.edi   from Walmart
WMI_860PC_VVVVVVVVV_YYYYMMDD_HHMMSS_NNNNNN.edi   from Walmart
WMI_855PR_VVVVVVVVV_YYYYMMDD_HHMMSS_NNNNNN.edi   to Walmart
WMI_856SH_VVVVVVVVV_YYYYMMDD_HHMMSS_NNNNNN.edi   to Walmart
WMI_846IB_WWWWWWWWW_YYYYMMDD_HHMMSS_NNNNNN.edi   to Walmart
WMI_997FA_VVVVVVVVV_YYYYMMDD_HHMMSS_NNNNNN.edi   both ways

VVVVVVVVV is the DSV ID Walmart assigns. The 846 uses WWWWWWWWW, the DSV ID or the facility ID, because inventory is reported per ship point. Date and time are the file creation moment in GMT, and NNNNNN is a six-digit random number. A ship notice created at 09:15:00 Eastern Daylight Time on 3 October 2026 is 4 hours behind GMT, so its name is WMI_856SH_123456789_20261003_131500_482917.edi. The delimiters are fixed as well: ~ ends a segment, * separates elements and > separates components.

Where Walmart's 855 and 856 leave the standard

The example order used across our document pages, PO 4500018236 with 24 units on line 1 and 16 on line 2, shows the differences. Under a typical retail guide the supplier confirms 12 of the 16 with a quantity-change code. Walmart's 855 has no such code: ACK02 "must not be zero" and must equal the PO102 quantity of the 850, so a line is accepted or rejected whole.

ST*855*0001~
BAK*00*NA*4500018236*20260928~
PO1*1*****PL*1~
ACK*IA*24*EA~
PO1*2*****PL*2~
ACK*R4*16*EA~
CTT*2~
SE*8*0001~

Seven ACK01 codes are in the guide: IA accepted, ID deleted, IH on hold (not used), R1 discontinued, R2 unrecognized item, R4 not available, and AR accepted and released for shipment. AR is a second status after IA; both may travel in one file, with IA first. After AR the customer can no longer cancel the line on the website. CTT01 is 2 because there are 2 PO1 segments, and SE01 is 8.

The 856 has three levels instead of four. There is no shipment level and no BSN05: the order level is the top, with 0 as its parent.

ST*856*0001~
BSN*00*4821*20261003*0915~
DTM*011*20261003*0915*ED~
HL*1*0*O~
PRF*4500018236******DS~
HL*2*1*P~
TD1******G*18.4*LB~
TD5*O*94*20~
MAN*CP*794644790132~
MAN*SM*482101~
SAC*N*G821******0****06~
HL*3*2*I~
LIN*1*PL*1~
SN1*1*24*EA~
CTT*3~
SE*16*0001~

The item is identified by the PO line number (LIN02 PL, LIN03 from PO101 of the 850), not by a UPC. TD503 holds Walmart's own carrier method code, here 20 for FedEx Ground. SAC with G821, the shipping cost, is mandatory at pack level even when the rate is 0. CTT01 counts 3 HL segments, and from ST to SE there are 16 segments. A mapping built for a retailer that wants shipment, order, pack, item and a UPC in LIN fails every one of these checks, which is why EDI mapping is done per partner.

The 846: on-hand quantity and availability codes

The inventory advice reports QTY*17, quantity on hand, per item, with the UPC, the vendor item number and the Walmart.com item number in one LIN segment. Next to the quantity each line carries an availability code in REF*ZZ and the minimum and maximum days to ship in MEA.

Code Meaning Also required
PO Pre-order Availability start date and on-hand quantity
JT Just in time, stocked on demand Minimum and maximum days to ship
BO Build to order Minimum and maximum days to ship
SE Seasonal Availability start and end date
RO Run out, will not be restocked Availability end date
NA Not active None
DT Deleted None

NA and DT remove the item from the Walmart.com catalog. Walmart asks for at least two consecutive updates with the code before the UPC is taken out of the feed. An item that disappears from the file without that step is the case the guide is written to prevent: absence is not a zero. The quantity itself is a decision about which stock counts, since on hand in the warehouse is not the same as free to sell on a second channel.

Labels, tracking numbers and GS1

The GS1 requirement on the supplier list is a GS1 Company Prefix: Walmart requires it on the application documents, and it is the source of the GTINs in the item file. In the drop-ship 856 the package identifiers are:

  • MAN*CP: the tracking number assigned by the carrier, required for every package.
  • MAN*SM: a unique package ID assigned by the supplier, required for every package. It may equal the tracking number.
  • MAN*GM: a vendor-assigned 20-digit SSCC-18 number, for Site to Store packages only.

The 20 digits are the application identifier 00 followed by the 18-digit SSCC, built from the same company prefix. How the number is composed is on the SSCC label page.

What goes wrong

The failures below follow from rules in Walmart's guides.

  • A partial quantity in ACK02. 12 of 16 confirmed is not expressible. The line goes out as IA for 16 or R4 for 16.
  • AR before IA. The release status is only valid after the acceptance.
  • MAN*GM on a Site to Home package, or a Site to Store package without it.
  • A local time in the file name. The name uses GMT; DTM04 inside the 856 states its own time zone code.
  • An item dropped from the 846 instead of reported as NA or DT twice.
  • A test flag in production. Walmart's own 860 and 824 samples carry T in ISA15; production files carry P.

Errors in content come back in the 824. TED01 is 024, TED02 holds a message that can be truncated at 60 characters, and NTE holds the detail in the form ORN=12635837 LINENO=1, split over several NTE segments above 80 characters. The integration has to read the NTE, not the truncated message, to find the order line. We found no penalty amount for drop-ship or store suppliers on a public Walmart page, so none is printed here; what retailers publish is collected under EDI compliance.

Handling Walmart orders on the ERP side

Each 850 becomes a sales order with the customer's ship-to address, the Walmart PO number and the line numbers that the 855 and 856 have to return. The ERP decides per line whether stock is available, the warehouse reports the package and its tracking number, and stock per ship point feeds the 846. NetSuite, Business Central and the store platforms hold those records and have no X12 translator, so the files are built outside them. For a Shopify store the route is described under Shopify EDI integration.

We build that part to Walmart's guides and to your systems: the 850 is picked up, checked and answered with a 997, the order is created through the ERP's API, the two 855 statuses and the 856 are sent with their counts validated, and every 824 is matched to its order line and shown in the dashboard with the reason. A resend of the same PO is recognized and does not create a second order. Tell us which Walmart program you supply.

Frequently asked questions

Which EDI documents does Walmart require?

For drop-ship vendors Walmart documents eight X12 transaction sets: the 850 purchase order and 860 change from Walmart, the 855 acknowledgment, 856 ship notice, 846 inventory advice and 879 unit cost to Walmart, the 824 application advice for errors, and the 997 in both directions. For suppliers that ship to stores and distribution centers Walmart has no transaction set guides on its public pages.

Do I need a VAN to trade EDI with Walmart?

No. Walmart lists four connection types for drop-ship vendors: AS2, a value-added network, SFTP and a solution provider. AS2 and SFTP are direct connections between Walmart and the vendor. Over SFTP the file naming convention is mandatory; over AS2 or a solution provider it is not required.

Which X12 version does Walmart use?

The drop-ship guides are written for version 004010. Each guide is offered as a Word file named Walmart.com Drop Ship Vendor, the set number and 4010, and every sample carries 00401 in ISA12 and 004010 in GS08. The guides for other Walmart programs are not public, so the version to use is the one in the guide you were given.

Does a Walmart drop-ship order need an SSCC label?

Only when it ships Site to Store. The 856 guide asks for a MAN segment with qualifier GM and a vendor-assigned 20-digit SSCC-18 number on Site to Store packages and says not to send it for Site to Home packages. Every package needs a MAN segment with CP and the carrier tracking number, and one with SM and your own package ID. See the SSCC label.

Can I use the Walmart API instead of EDI?

Walmart documents a REST interface for the same drop-ship steps: the DSV Order Management API acknowledges orders, ships or cancels lines and retrieves orders, and asks that new orders are acknowledged preferably within four hours. The API returns 429 when a rate limit is exceeded. The differences are worked out under EDI vs API.

What happens when Walmart rejects an EDI file?

Two answers come back. The 997 reports syntax: whether the functional group and each transaction set parsed. The 824 application advice reports content edits, with error code and message in TED and the order number and line number in NTE. A file can be accepted on the 997 and still produce an 824.

Tell us what you need

Tell us which systems you use and what needs to work better. We reply personally within one working day. We help you define the work, then agree the price and timing before you commit.

  • You know the price and the timeline before you commit to anything
  • We work out the connection that takes the work off your hands
  • We handle the build, hosting, monitoring and maintenance
  • Your team has less information to retype and fewer discrepancies to chase

Suppliers, products, orders per day, a rough estimate is fine.

Or email directly: carsten@syncmyshop.com