Order Flow
You can use the Order data format specification to transfer order-related information between Walmart.com and all suppliers, including Direct Ship Vendors. This information provides guidelines for using the Order interface.
Note: You can also refer to this article in Word format: Walmart.com Drop Ship Vendor_Order Interfaces_XML.docx
Data Files
The Order interface supports these data files:
- Order Request File – Contains customer order requests (Sent from Walmart.com to Supplier only).
- Order Cancel File – Contains customer order cancellation requests (Sent from Walmart.com to Supplier only).
- Order Status File – Contains customer order status updates (Sent from Supplier to Walmart.com only). Response files supported by these interfaces are as follows:
- Confirmation File – Contains a file confirmation (Sent both directions between Supplier and Walmart.com).
- Error File – Contains a file error message (Sent in both directions between Supplier and Walmart.com).
File transfer workflow
Each file transfer is divided into three basic steps:
- The sender generates a data file and pushes it to the recipient's server.
- The recipient parses the received file and validates the file format and data consistency.
- If the file parses, the recipient replies with a Confirmation File to the sender. Otherwise, reply with an Error File.
Interface Design and Implementation
System Requirements
- Messages are sent between Walmart.com and the DSV as ASCII text files in XML format. After creating a file, its creator pushes it to the recipient.
Order Process Flow
These are the steps in the order process flow starting with a purchase on the Walmart.com website:
- The process is initiated when a customer places an order on the Walmart.com website, and their credit card is authorized for the purchase amount.
- Once the credit card is successfully authorized, the customer order is split into multiple order requests, if necessary. An order request will contain all the line items for a particular supplier (customer's order can have multiple sources) at a particular shipping address (customer's order can have multiple shipping addresses) using the same shipping method (customer's order can have multiple shipping methods). Each order request is included as an OR_ORDER element in the next scheduled Order Request File delivered to the appropriate supplier.
- When the Order Request File arrives at the supplier, they parse the file and validate the XML message against the v4.0 DTD. If the message is invalid, they send an Error File back to Walmart.com. Otherwise, they send back a Confirmation File and continue processing.
- The supplier processes each OR_ORDER in the Order Request File and checks for data errors. If an error is found, they send an Error File back to Walmart.com and stop processing the bad order. There are two exceptions to this error processing rule when an Order Status File is sent back instead:
- Unrecognized Item – If the order request line item isn't recognized in the supplier's system, send back a line STATUSCODE of “LU”.
- Discontinued Item – If the order request line item refers to a discontinued (no longer available) item in the supplier's system, send back a line STATUSCODE of “LD”.
- Once an OR_ORDER is loaded into the supplier's order processing system, they generate an Order Status File to acknowledge each order line. This response can be different for each of the two general cases:
- In Stock Items – If an item is available immediately, then respond with a line STATUSCODE of “LI” for each line. This message is due within four hours of receiving the Order Request File and indicates that the line will ship in one to two business days.
- On-Demand Items – If the item is not available immediately but will become available within a timeframe, then respond with a line STATUSCODE of “LH” to indicate that the line is “on hold” in the supplier’s system and will ship when available. This is identified in two ways:
- Supplier sends a line STATUSCODE of “LH” within four hours of receiving the Order Request File.
- Supplier sends a line STATUSCODE of “LI” within four hours of receiving the Order Request File to satisfy the initial acknowledgment requirement. Then, a line STATUSCODE of “LH” is sent within one to two business days to put the line on hold.
Note: Walmart.com records item availability at the time the order is placed, as reported by each DSV in Item Inventory File. The line is expected to not be on hold past the maximum availability time. See DSV Inventory Interfaces Spec v4.0.
- As the supplier picks items and packages them for shipment, they might receive a cancellation request or find out that all the items (per line) aren't, available to ship. Here are the corresponding order line responses:
- Canceled Line – The supplier will cancel an order request line only after receiving a cancellation request from Walmart.com (via verbal request, automated e-mail message, or Order Cancel File). In this case, send back a line STATUSCODE of “LC,” and it will cancel all items in the line.
- Fully Backordered Line – If all items in a line are not available to ship, send back a line STATUSCODE of “LB” and set the QUANTITY equal to the number of items ordered. This transfers control back to the Walmart.com system, and another order request will be generated when the items return to stock. The outstanding items will not remain live in the supplier's system.
- Partially Backordered Line (Not Applicable for Drop Ship Suppliers – only for Walmart.com owned item facilities) – If some items in a line are not available to ship, then send back a line STATUSCODE of “LB” and set the QUANTITY equal to the number of items not available. Then send a package invoice message to reflect the number of items shipped (see below). This transfers control back to the Walmart.com system for the outstanding items, and another order request will be generated when the items return to stock. The outstanding items will not remain live in the supplier’s system.
Note: Backorders aren’t accepted for “Build to Order” DSV items with inventory availability code of “BO”. For more information, see the Item Inventory File section of the DSV Inventory Interfaces Specification, v4.0.0.
- Once the items are available, the supplier packages them and ships them according to the requested shipping method. The package should have a Walmart.com shipping label on the outside. The supplier also sends a package invoice message in the Order Status File that reflects the shipping details and an invoice to Walmart.com with the cost of goods and services. Here are the possible package fulfillment cases:
- Electronic Delivery Item – If the line contains a “virtual” item downloaded over the internet, then send back a package STATUSCODE of “PE”.
- External Carrier Shipment – If all items were shipped via an external carrier (e.g. UPS, FedEx, Airborne, etc.), then send back an OS_PACKAGEINVOICE message for each unique tracking number and a package STATUSCODE of “PS”.
- In-Store Delivery via Wal-Mart Fleet Carrier – If the items are to be picked up at a Walmart store and are delivered via a Walmart fleet truck, then send back a package STATUSCODE of “PT” and a unique tracking number to indicate that the items are in transit. Once the items arrive and are available for pickup, send a package STATUSCODE of “PA” with the same package ID and tracking number.
- Walmart.com keeps track of the items shipped. If some order lines are back ordered, Walmart.com keeps the order alive and sends another request once the items are back in stock. The new request will not return to the original order request but will have the same customer order number.
- Walmart.com bills the customer's card and pays each DSV (through the Wal-Mart accounts payable system) for items shipped.
Error Handling/Resend Process
Will use Error Files for messaging. There are two types of error response:
- The received file is incomplete or invalid against the v4.0 DTD. In this case, the entire file is bad, and it's assumed that no data was processed. The sender will receive only the Error File (no Confirmation File) and error messageresend a valid file as soon as possible.
- File contains a message with bad data. In this case, only the message containing the error is rejected, and all other messages in the file are processed. For example, if Walmart.com processes an Item Inventory file with 10 II_ITEM messages and finds 2 messages that contain bad data, then the following will occur:
- Supplier sends a Confirmation File because the file is complete and valid against the v4.0 DTD.
- Supplier sends back an Error File with 2 FE_ERROR elements detailing the bad OR_ORDER messages.
- Supplier processes the other 48 OR_ORDER messages.
- Walmart.com resends the OR_ORDER messages in a subsequent file.
Scheduling & Volume Analysis
The expected order volume is different for each supplier. Estimates can be obtained from the Walmart.com Logistics and/or Merchandising Teams. Variations on the standard schedule (as described below) can be negotiated between each supplier and the Walmart.com Logistics Team. Outbound Walmart.com messages are generated as follows:
- Order Request and Order Cancel Files – A batch job queries database for order and cancel requests every X(will be defined by partner) minutes (24x7x365). If requests are present and ready to be transmitted, then the job generates an XML message to the appropriate supplier and transmits it right away. If no requests are present for a particular supplier, no messages are sent.
- Confirmation and Error Files – One or both of these messages are generated as each inbound file is processed (if applicable). The messages are placed in an outbound queue and transmitted right away.
Inbound Walmart.com messages are processed as they are uploaded to the gateway server. Each supplier is expected to send files as follows:
- Initial Confirmation or Error Files – For each file transmitted to the supplier, a Confirmation or Error File response is expected within one hour of the transmission. This acknowledges the receipt of the file and indicates whether the file passed file validation checks.
- Processing Error Files – As the supplier processes each file, an Error File is generated if bad data is found. This error message (if applicable) is expected within four hours of file transmission.
- Order Request Line Status – If an order request is processed without format or data errors, an Order Status File with an acknowledgment status of “LI” or “LH” is expected within four hours. Alternatively, the supplier could send a non-fulfillment status of “LD”, “LU” or “LB” in the first four hours – or after the acknowledgement and before the package fulfillment message is expected (see below).
- Order Request Line Cancellation Status – The Order Status response to an Order Cancel File is expected in the same timeframe as the package fulfillment response below. This might be a line cancellation of “LC” or a package fulfillment message.
- Order Request Package Fulfillment – The supplier sends an Order Status File with a package fulfillment status of “PS”, “PE” or “PT” as each package is sent. The timing of these messages for each order request line depends on the item type and stated availability.
General XML File Structure
Initial XML Declaration
The first line of the file defines the XML Standard version and the character encoding used in the file. The format for this is as follows:
XML Data Definition
Each data element (and its component attributes and sub-elements) is described in this document with the following information:
-
XPath Location: The location of each element or attribute within the data element is defined based on Xpath notation.
- If the Xpath begins with a “/” character, then it’s absolute within the XML message (e.g. “/WMI/WMIHEADER/FH_TO@ID”).
- If the Xpath begins with any other character, then it’s relative to the specified reference node (e.g. “FH_TO@ID”, with a reference node of “/WMI/WMIHEADER”).
For more information, go to http://www.w3.org/TR/xpath.
-
Optional/Required: Specifies whether each element or attribute is required to populate its parent element.
- If optional, the element or attribute can be populated with no data or omitted entirely. Note that most optional data must be populated based on certain conditional business rules, so this must be considered when validating the file.
- If required, the element or attribute must exist and might not be empty.
-
Data Type: Specifies the type of data that's contained in an element or attribute.
-
“STR” – A string value that can contain alphanumeric characters and punctuation. This is parsed data, so any XML markup delimiters must be escaped with a character string as follows:
- Replace greater than (>) with “>”
- Replace less than (<) with “<”
- Replace ampersand (&) with “&”
- Replace double-quote (“) with “"”
- Replace apostrophe (‘) with “'”
- For more information, go to http://www.w3.org/TR/REC-xml
-
“DEC” – A decimal value that contains only numeric data and a decimal point. If the decimal is not present, it’s implied at the end.
-
“NUM” – Numeric data containing no alphabetic characters or punctuation.
-
“DTM” – A formatted date/time value containing only numeric and punctuation characters. It is formatted as “MM/DD/CCYY.hh24.mi”, where “MM/DD/CCYY” is the date and “hh24.mi” is the 24-hour time (e.g. “12/11/2001.17.01”).
-
“FID” – A formatted File ID that contains only numeric and punctuation characters. It is built from the file generation date and time, the WMFC vend,or number and a six-digit random number (to guarantee uniqueness). The format is:
VVVVVVVVV.YYYYMMDD.HHMMSS.NNNNNN
Using the following notation:- VVVVVVVVV is the Vendor ID assigned by Walmart.com (1 to 9 digits)
- YYYYMMDD is an eight-digit file creation date (GMT date)
- HHMMSS is a six-digit file creation time (24-hour GMT time)
- NNNNNN is a six-digit random number.
Note that these are the same fields used to generate an XML filename. The filename and the File ID will use the same date, time, and random number values.
-
-
Data Length: Specifies the maximum length of the data as follows:
- “STR” – Number of character digits. Note: When a character is escaped, the length of the data string expands. The length of the data string may be up to 6 times the number of string characters (for a case with all double-quote characters).
- “DEC” – Expressed as “N.D” notation, where “N” is the number of characters allowed to the left of the decimal and “D” is the number of digits to the right. Note: Leading zeros are not required.
- “NUM” – Number of numeric digits.
- “DTM” – Number of characters in the formatted string.
- “FID” – Number of characters in the formatted string.
WMIHEADER Element
The WMIHEADER element is the first element in any file. It contains a unique file ID, the sender's name, vendor number, and information for contacting the sender.
Note: Use one of the two below values for the FILETYPE value:
- FFC: File contains WMIFILECONFIRM data element
- FFE: File contains WMIFILEERROR data element
- FOR: File contains WMIORDERREQUEST data element.
- FOC: File contains WMIORDERCANCEL data element.
- FOS: File contains WMIORDERSTATUS data element.
Name | Req | Type | Length | Description |
---|---|---|---|---|
/WMI/WMIHEADER (reference node) | R | – | – | File descriptor with the following attributes: FILEID, FILETYPE and VERSION. Also contains one each of the following elements: FH_TO and FH_FROM |
@FILEID | R | FID | 24 to 32 | Unique ID for this file. See naming convention above. |
@FILETYPE | R | STR | 3 | File Type code, see notes for FILETYPE values |
@VERSION | R | STR | 5 | Version level of the XML format used. The value is ‘4.0.0’ for files using this specification. |
FH_TO | R | – | – | Recipient information, containing the following attributes: ID and NAME. |
FH_TO@ID | R | NUM | 1 to 9 | Supplier number of the recipient. The value is ‘2677’ for files sent to Walmart.com. |
FH_TO@NAME | R | STR | 1 to 30 | Text name of the recipient. The value is ‘Walmart.com’ for files sent to Walmart.com. |
FH_FROM | R | – | – | Sender information, containing the following attributes: ID and NAME. Also contains a FH_CONTACT element. |
FH_FROM@ID | R | NUM | 1 to 9 | Supplier number of the sender. The value is ‘2677’ for files from Walmart.com. |
FH_FROM@NAME | R | STR | 1 to 30 | Text name of the sender. The value is ‘Walmart.com’ for files from Walmart.com. |
FH_FROM/FH_CONTACT | R | – | – | Operations support contact information, with attributes NAME, EMAIL, PHONE and PHONEEXT. |
FH_FROM/FH_CONTACT@NAME | R | STR | 1 to 30 | Name of the operations support contact |
FH_FROM/FH_CONTACT@EMAIL | R | STR | 1 to 50 | Operations contact email address |
FH_FROM/FH_CONTACT@PHONE | R | NUM | 1 to 10 | Operations contact phone number (10-digit string containing no punctuation or spaces). |
FH_FROM/FH_CONTACT@PHONEEXT | O | NUM | 1 to 5 | Operations contact phone extension (if applicable) |
Order Request XML File
The Order Request File contains detailed information required to fulfill customer order requests.
File Naming Convention
The file name contains the file type, creation date and time, the Supplier ID, and a six-digit random number. All filenames are case-sensitive. The naming convention is:
WMI_Order_Req_VVVVVVVVV_YYYYMMDD_HHMMSS_NNNNNN.xml
- VVVVVVVVV is the Supplier ID assigned by Walmart.com (up to 9 digits)
- YYYYMMDD is a formatted file creation date (GMT date)
- HHMMSS is a formatted file creation time (24-hour GMT time)
- NNNNNN is a six-digit random number to guarantee uniqueness.
Example: WMI_Order_Req_999999_20010418_163108_097981.xml
WMIORDERREQUEST Element
The WMIORDERREQUEST element contains a group of order request messages. Each order request message tells the supplier to pack and ship items to a customer. If data is missing or invalid, OR_ORDER elements can be individually rejected via an Error File (see the previous error handling section).
Name | Req | Type | Length | Description |
---|---|---|---|---|
/WMI/WMIORDERREQUEST (Reference Node) | R | – | – | Contains one or more OR_ORDER elements. |
OR_ORDER | R | – | – | The order request, with attributes REQUESTNUMBER and ORDERNUMBER. Contains one or more OR_ORDERLINE elements and one each of the following: OR_DATEPLACED, OR_SHIPPING, OR_BILLING, OR_RETURNS OR_LASTDELIVERYMSG, OR_MARKETINGMSG and OR_RETURNSMSG. |
OR_ORDER@REQUESTNUMBER | R | NUM | 1 to 13 | A unique reference number for each order request. |
OR_ORDER@ORDERNUMBER | R | NUM | 13 | Customer’s website order number. |
OR_ORDER/OR_DATEPLACED | R | – | – | Date the order was placed with attributes DAY, MONTH and YEAR. |
OR_ORDER/OR_DATEPLACED@DAY | R | NUM | 2 | Day of the month (01 to 31). |
OR_ORDER/OR_DATEPLACED@MONTH | R | NUM | 2 | Numeric month of the year (01 to 12). |
OR_ORDER/OR_DATEPLACED@YEAR | R | NUM | 4 | Four-digit year (e.g. 2001). |
OR_ORDER/OR_SHIPTOSTORE@VENDORID | O | NUM | 1 to 10 | Internal vendor number assigned to Walmart.com. Required for Ship to Store orders. Carrier Method 80, 81, 88. |
OR_ORDER/OR_WPM@WPM_NUM | O | NUM | 5 | Zero padded WPM facility identifier |
OR_ORDER/OR_WPM@GLN_NUMBER | O | NUM | 13 | Zero padded GLN Number |
OR_ORDER/OR_WPM/OR_POSTAL@NAME | O | STR | 1 to 35 | Location name |
OR_ORDER/OR_WPM/OR_POSTAL@ADDRESS1 | O | STR | 1 to 30 | Address line 1 |
OR_ORDER/OR_WPM/OR_POSTAL@ADDRESS1 | O | STR | 1 to 30 | Address line 1 |
OR_ORDER/OR_WPM/OR_POSTAL@ADDRESS2 | O | STR | 1 to 30 | Address line 2 |
OR_ORDER/OR_WPM/OR_POSTAL@ADDRESS3 | O | STR | 1 to 30 | Address line 3 |
OR_ORDER/OR_WPM/OR_POSTAL@ADDRESS4 | O | STR | 1 to 30 | Address line 4 |
OR_ORDER/OR_WPM/OR_POSTAL@CITY | O | STR | 1 to 25 | City name |
OR_ORDER/OR_WPM/OR_POSTAL@STATE | O | STR | 2 | USPS state abbreviation |
OR_ORDER/OR_WPM/OR_POSTAL@POSTALCODE | O | STR | 5 or 9 | USPS zip code |
OR_ORDER/OR_RDC@RDC_NUM | O | NUM | 5 | Zero padded RDC facility identifier |
OR_ORDER/OR_RDC@GLN_NUMBER | O | NUM | 13 | Zero padded GLN Number |
OR_ORDER/OR_RDC/OR_POSTAL@NAME | O | STR | 1 to 35 | Location name |
OR_ORDER/OR_RDC/OR_POSTAL@ADDRESS1 | O | STR | 1 to 30 | Address line 1 |
OR_ORDER/OR_RDC/OR_POSTAL@ADDRESS1 | O | STR | 1 to 30 | Address line 1 |
OR_ORDER/OR_RDC/OR_POSTAL@ADDRESS2 | O | STR | 1 to 30 | Address line 2 |
OR_ORDER/OR_RDC/OR_POSTAL@ADDRESS3 | O | STR | 1 to 30 | Address line 3 |
OR_ORDER/OR_RDC/OR_POSTAL@ADDRESS4 | O | STR | 1 to 30 | Address line 4 |
OR_ORDER/OR_RDC/OR_POSTAL@CITY | O | STR | 1 to 25 | City name |
OR_ORDER/OR_RDC/OR_POSTAL@STATE | O | STR | 2 | USPS state abbreviation |
OR_ORDER/OR_RDC/OR_POSTAL@POSTALCODE | O | STR | 5 or 9 | USPS zip code |
OR_ORDER/OR_SHIPPING | R | – | – | Delivery information, with attributes METHODCODE, CARRIERMETHODCODE, STORENUMBER and TOGETHERCODE. Contains one each of the following elements: OR_PHONE and OR_POSTAL. Also may contain one each following elements: OR_DELIVERYDATE and OR_EMAIL. |
OR_ORDER/OR_SHIPPING@METHODCODE | R | STR | 2 | Code for requested shipping service requested for delivery. Note: Most suppliers use MS, MP, and MX codes and don’t need to support other codes unless specifically instructed. Code values are as follows: MS = Standard Delivery (Ground), MP = Priority Delivery (2-Day), MX = Express Delivery (Overnight), MY = Express Delivery w/ Saturday, ME = Electronic Delivery, MI = Delivery for In-Store Pickup, MA = S2S Express delivery, MV = Value Shipping (Ground). |
OR_ORDER/OR_SHIPPING@CARRIERMETHODCODE | O | NUM | 4 | Populated if the supplier requires a specific carrier and method for each shipment. Values are listed after this table of all request elements. |
OR_ORDER/OR_SHIPPING@STORENUMBER | O | NUM | 10 | A Wal-Mart store number, populated if METHODCODE is “MI”. |
OR_ORDER/OR_SHIPPING@TOGETHERCODE | R | STR | 2 | Codes used suppress split line shipments within a facility. Code values are as follows: SC = Hold items in each line and ship when complete, SA = Split items and deliver as they become available. Note: Most suppliers use the SC code and don’t need to support other codes unless specifically instructed. |
OR_ORDER/OR_SHIPPING/OR_PHONE | R | – | – | Phone number of the shipping contact, with attributes PRIMARY, PRIMARYEXT, SECOND and SECONDEXT. |
OR_ORDER/OR_SHIPPING/OR_PHONE@PRIMARY | R | NUM | 10 | Primary phone number (no punctuation or spaces) |
OR_ORDER/OR_SHIPPING/OR_PHONE@PRIMARYEXT | O | NUM | 1 to 5 | Primary phone extension |
OR_ORDER/OR_SHIPPING/OR_PHONE@SECOND | O | NUM | 10 | Secondary phone number (no punctuation or spaces) |
OR_ORDER/OR_SHIPPING/OR_PHONE@SECONDEXT | O | NUM | 1 to 5 | Secondary phone extension |
OR_ORDER/OR_SHIPPING/OR_POSTAL | R | – | – | Delivery address, with attributes NAME, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, CITY, STATE, POSTALCODE and COUNTRY. |
OR_ORDER/OR_SHIPPING/OR_POSTAL@NAME | O | STR | 1 to 35 | Full name |
OR_ORDER/OR_SHIPPING/OR_PHONE | R | – | – | Phone number of the shipping contact, with attributes PRIMARY, PRIMARYEXT, SECOND and SECONDEXT. |
OR_ORDER/OR_SHIPPING/OR_PHONE@PRIMARY | R | NUM | 10 | Primary phone number (no punctuation or spaces) |
OR_ORDER/OR_SHIPPING/OR_PHONE@PRIMARYEXT | O | NUM | 1 to 5 | Primary phone extension |
OR_ORDER/OR_SHIPPING/OR_PHONE@SECOND | O | NUM | 10 | Secondary phone number (no punctuation or spaces) |
OR_ORDER/OR_SHIPPING/OR_PHONE@SECONDEXT | O | NUM | 1 to 5 | Secondary phone extension |
OR_ORDER/OR_SHIPPING/OR_POSTAL@ADDRESS1 | O | STR | 1 to 30 | Address line 1 |
OR_ORDER/OR_SHIPPING/OR_POSTAL@ADDRESS1 | O | STR | 1 to 30 | Address line 1 |
OR_ORDER/OR_SHIPPING/OR_POSTAL@ADDRESS2 | O | STR | 1 to 30 | Address line 2 |
OR_ORDER/OR_SHIPPING/OR_POSTAL@ADDRESS3 | O | STR | 1 to 30 | Address line 3 |
OR_ORDER/OR_SHIPPING/OR_POSTAL@ADDRESS4 | O | STR | 1 to 30 | Address line 4 |
OR_ORDER/OR_SHIPPING/OR_POSTAL@CITY | O | STR | 1 to 25 | City name |
OR_ORDER/OR_SHIPPING/OR_POSTAL@STATE | O | STR | 2 | USPS state abbreviation |
OR_ORDER/OR_SHIPPING/OR_POSTAL@POSTALCODE | O | STR | 5 or 9 | USPS zip code |
OR_ORDER/OR_SHIPPING/OR_POSTAL@COUNTRY | R | STR | 3 | ISO ALPHA-3 country code. For a list of codes, see http://www.un.org/Depts/unsd/methods/m49alpha.htm |
OR_ORDER/OR_SHIPPING/OR_DELIVERYDATE | O | – | – | Date the customer expects the order to be delivered, with attributes DAY, MONTH and YEAR. Note: Not all suppliers support this functionality. |
OR_ORDER/OR_SHIPPING/OR_DELIVERYDATE@DAY | R | NUM | 2 | Day of the month (01 to 31). |
OR_ORDER/OR_SHIPPING/OR_DELIVERYDATE@MONTH | R | NUM | 2 | Numeric month of the year (01 to 12). |
OR_ORDER/OR_SHIPPING/OR_DELIVERYDATE@YEAR | R | NUM | 4 | Four-digit year (e.g. 2001) |
OR_ORDER/OR_SHIPPING/OR_EXPECTEDSHIPDATE | O | – | – | Date the by which the order is expected to be shipped from fulfillment center/DC, with attributes DAY, MONTH and YEAR. Note: Not all suppliers support this functionality. |
OR_ORDER/OR_SHIPPING/OR_EXPECTEDSHIPDATE@DAY | R | NUM | 2 | Day of the month (01 to 31). |
OR_ORDER/OR_SHIPPING/OR_EXPECTEDSHIPDATE@MONTH | R | NUM | 2 | Numeric month of the year (01 to 12). |
OR_ORDER/OR_SHIPPING/OR_EXPECTEDSHIPDATE@YEAR | R | NUM | 4 | Four-digit year (e.g. 2001) |
OR_ORDER/OR_SHIPPING/OR_ORDERPROCESSINGDATE | O | – | – | Date on which the order to be processed at fulfillment center/DC, with attributes DAY, MONTH and YEAR. Note: Not all suppliers support this functionality. |
OR_ORDER/OR_SHIPPING/OR_ORDERPROCESSINGDATE@DAY | R | NUM | 2 | Day of the month (01 to 31). |
OR_ORDER/OR_SHIPPING/OR_ORDERPROCESSINGDATE@MONTH | R | NUM | 2 | Numeric month of the year (01 to 12). |
OR_ORDER/OR_SHIPPING/OR_ORDERPROCESSINGDATE@YEAR | R | NUM | 4 | Four-digit year (e.g. 2001) |
OR_ORDER/OR_SHIPPING/OR_EMAIL | O | STR | 1 to 75 | E-mail address of shipping contact. |
OR_ORDER/OR_BILLING | R | – | – | Contains OR_PRICE attribute and each one of the following elements: OR_PAIMENT, OR_PHONE, OR_POSTAL |
OR_ORDER/OR_BILLING@OR_PRICE | R | DEC | 8.2 | Order price |
OR_ORDER/OR_BILLING@OR_PAYMENT@METHOD | R | STR | 1 to 20 | Description of payment method (e.g. “VISA-1234”). Note: For gift orders, this is replaced by non-descriptive text. |
OR_ORDER/OR_BILLING/OR_PHONE | R | – | – | Phone number of the billing contact, with attributes PRIMARY, PRIMARYEXT, SECOND and SECONDEXT. |
OR_ORDER/OR_BILLING/OR_PHONE@PRIMARY | R | NUM | 10 | Primary phone number (no punctuation or spaces) |
OR_ORDER/OR_BILLING/OR_PHONE@PRIMARYEXT | O | NUM | 1 to 5 | Primary phone extension |
OR_ORDER/OR_BILLING/OR_PHONE@SECOND | O | NUM | 10 | Secondary phone number (no punctuation or spaces) |
OR_ORDER/OR_BILLING/OR_PHONE@SECONDEXT | O | NUM | 1 to 5 | Secondary phone extension |
OR_ORDER/OR_BILLING/OR_POSTAL | R | – | – | Postal billing address, with attributes NAME, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, CITY, STATE, POSTALCODE and COUNTRY. |
OR_ORDER/OR_BILLING/OR_POSTAL@NAME | O | STR | 1 to 35 | Full name |
OR_ORDER/OR_BILLING/OR_POSTAL@ADDRESS1 | O | STR | 1 to 30 | Address line 1 |
OR_ORDER/OR_BILLING/OR_POSTAL@ADDRESS1 | O | STR | 1 to 30 | Address line 1 |
OR_ORDER/OR_BILLING/OR_POSTAL@ADDRESS2 | O | STR | 1 to 30 | Address line 2 |
OR_ORDER/OR_BILLING/OR_POSTAL@ADDRESS3 | O | STR | 1 to 30 | Address line 3 |
OR_ORDER/OR_BILLING/OR_POSTAL@ADDRESS4 | O | STR | 1 to 30 | Address line 4 |
OR_ORDER/OR_BILLING/OR_POSTAL@CITY | O | STR | 1 to 25 | City name |
OR_ORDER/OR_BILLING/OR_POSTAL@STATE | O | STR | 2 | USPS state abbreviation |
OR_ORDER/OR_BILLING/OR_POSTAL@POSTALCODE | O | STR | 5 or 9 | USPS zip code |
OR_ORDER/OR_BILLING/OR_POSTAL@COUNTRY | R | STR | 3 | ISO ALPHA-3 country code. For a list of codes, see http://www.un.org/Depts/unsd/methods/m49alpha.htm |
OR_ORDER/OR_BILLING/OR_EMAIL | O | STR | 1 to 75 | E-mail address of billing contact. |
OR_ORDER/OR_RETURNS | R | – | – | Returns-related info, with attributes TCNUMBER and METHODCODE. May contain one OR_POSTAL and/or one OR_PERMIT element depending on the METHODCODE value. |
OR_ORDER/OR_RETURNS@TCNUMBER | R | NUM | 1 to 25 | Unique TC Number for this order request, used for in-store returns. See note below this table for details on generation |
OR_ORDER/OR_RETURNS@METHODCODE | R | STR | 2 | Code to specify direct returns method. Valid code values are as follows: RC = Walmart.com Returns Center (not pre-paid), RP = Walmart.com Returns Center with Pre-Paid Permit, RS = Returns Direct to Supplier (not pre-paid). Note: All suppliers use the “RX” code and don’t need to support other codes unless specifically instructed. |
OR_ORDER/OR_RETURNS/OR_POSTAL | R | – | – | Postal billing address, with attributes NAME, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, CITY, STATE, POSTALCODE and COUNTRY. |
OR_ORDER/OR_RETURNS/OR_POSTAL@NAME | O | STR | 1 to 35 | Full name |
OR_ORDER/OR_RETURNS/OR_POSTAL@ADDRESS1 | O | STR | 1 to 30 | Address line 1 |
OR_ORDER/OR_RETURNS/OR_POSTAL@ADDRESS1 | O | STR | 1 to 30 | Address line 1 |
OR_ORDER/OR_RETURNS/OR_POSTAL@ADDRESS2 | O | STR | 1 to 30 | Address line 2 |
OR_ORDER/OR_RETURNS/OR_POSTAL@ADDRESS3 | O | STR | 1 to 30 | Address line 3 |
OR_ORDER/OR_RETURNS/OR_POSTAL@ADDRESS4 | O | STR | 1 to 30 | Address line 4 |
OR_ORDER/OR_RETURNS/OR_POSTAL@CITY | O | STR | 1 to 25 | City name |
OR_ORDER/OR_RETURNS/OR_POSTAL@STATE | O | STR | 2 | USPS state abbreviation |
OR_ORDER/OR_RETURNS/OR_POSTAL@POSTALCODE | O | STR | 5 or 9 | USPS zip code |
OR_ORDER/OR_RETURNS/OR_POSTAL@COUNTRY | R | STR | 3 | ISO ALPHA-3 country code. For a list of codes, see http://www.un.org/Depts/unsd/methods/m49alpha.htm |
OR_ORDER/OR_RETURNS/OR_PERMIT | O | – | – | Returns permit info, with attributes NUMBER, CITY, STATE and POSTALCODE. Only required if METHODCODE is RP. |
OR_ORDER/OR_RETURNS/OR_PERMIT@CITY | O | STR | 1 to 25 | City name |
OR_ORDER/OR_RETURNS/OR_PERMIT@STATE | O | STR | 2 | USPS state abbreviation |
OR_ORDER/OR_RETURNS/OR_PERMIT@POSTALCODE | O | STR | 5 or 9 | USPS zip code |
OR_ORDER/OR_ORDERLINE | R | – | – | Line info, with attributes LINENUMBER and LINEPRICE. Contains one each of the following elements: OR_ITEM, OR_PRICE, OR_COST. May also contain multiple OR_VAS and/or OR_DYNAMICDATA elements if they apply. |
OR_ORDER/OR_ORDERLINE@LINENUMBER | R | NUM | 1 to 3 | Line number unique to this order request. |
OR_ORDER/OR_ORDERLINE@LINEPRICE | R | DEC | 8.2 | Total retail price for all items in this line including value-added services and adjustments. Note: Only for validating the price totals in this line. For gift orders this field is filled with a single “0” (zero) character. |
OR_ORDER/OR_ORDERLINE/OR_ITEM | R | – | – | Item identification info with the following attributes: ITEMNUMBER, UPC, SKU and DESCRIPTION. Note: ITEM information is not necessarily unique to a single OR_ORDERLINE element in an OR_ORDER. |
OR_ORDER/OR_ORDERLINE/OR_ITEM@ITEMNUMBER | R | NUM | 1 to 13 | Walmart.com item number |
OR_ORDER/OR_ORDERLINE/OR_ITEM@UPC | R | NUM | 13 | Walmart.com UPC (13 digits with no check digit) |
OR_ORDER/OR_ORDERLINE/OR_ITEM@SKU | R | STR | 1 to 20 | Supplier item SKU |
OR_ORDER/OR_ORDERLINE/OR_ITEM@DESCRIPTION | R | STR | 1 to 60 | Short description of the ordered item. For gift orders, this description is replaced by non-descriptive text. |
OR_ORDER/OR_ORDERLINE/OR_ITEM@QUANTITY | R | NUM | 1 to 4 | Quantity ordered |
OR_ORDER/OR_ORDERLINE/OR_PRICE | R | – | – | Item prices, with attributes RETAIL, TAX and SHIPPING. May contain multiple OR_VASPRICE and/or OR_ADJUSTMENT elements. Note: This price information reflects the customer’s cost and is used to calculate pricing. For gift orders, these fields are filled with a single “0” (zero) character. |
OR_ORDER/OR_ORDERLINE/OR_PRICE@RETAIL | R | DEC | 8.2 | Retail price for each item in this line. |
OR_ORDER/OR_ORDERLINE/OR_PRICE@TAX | R | DEC | 8.2 | Tax price for each item in this line. |
OR_ORDER/OR_ORDERLINE/OR_PRICE@SHIPPING | R | DEC | 8.2 | Shipping price for each item in this line. |
OR_ORDER/OR_ORDERLINE/OR_PRICE/OR_VASPRICE | O | – | – | Value-Added Service charge, with DESCRIPTION and AMOUNT attributes. Note: These elements are never present in gift orders. |
OR_ORDER/OR_ORDERLINE/OR_PRICE/OR_VASPRICE@DESCRIPTION | R | STR | 1 to 50 | Short description of value-added service |
OR_ORDER/OR_ORDERLINE/OR_PRICE/OR_VASPRICE@AMOUNT | R | DEC | 8.2 | Value-added service price for each item in this line. |
OR_ORDER/OR_ORDERLINE/OR_PRICE/OR_ADJUSTMENT | O | – | – | Negative price adjustment, with DESCRIPTION and AMOUNT attributes. Note: These elements are never present in gift orders. |
OR_ORDER/OR_ORDERLINE/OR_PRICE/OR_ADJUSTMENT@DESCRIPTION | R | STR | 1 to 50 | Short description of adjustment |
OR_ORDER/OR_ORDERLINE/OR_PRICE/OR_VASPRICE@AMOUNT | R | DEC | 8.2 | Adjustment price (promotion or customer service credit) for each item in this line. The value will be positive. |
OR_ORDER/OR_ORDERLINE/OR_PRICE/OR_COST | R | – | – | Assumed item cost, with attribute AMOUNT. |
OR_ORDER/OR_ORDERLINE/OR_PRICE/OR_COST@AMOUNT | R | DEC | 8.2 | Cost to Walmart.com for each item in this line. |
OR_ORDER/OR_ORDERLINE/OR_VAS | O | – | – | Value-Added Service with attributes SEQUENCE and VASCODE. Also contains one or more OR_VASDATA element. The VAS data defined for each VAS code is described in the table below. |
OR_ORDER/OR_ORDERLINE/OR_VAS@SEQUENCE | R | NUM | 1 to 2 | Sequence number unique to this value-added service request. Starts with 1 and increments for each VAS. |
OR_ORDER/OR_ORDERLINE/OR_VAS@VASCODE | R | STR | 3 | Code identifies the value-added service. Valid code values are listed below. |
OR_ORDER/OR_ORDERLINE/OR_VAS/OR_VASDATA | R | – | – | VAS data, with attributes NAME and VALUE. Data is described with the VASCODE values below. |
OR_ORDER/OR_ORDERLINE/OR_VAS/OR_VASDATA@NAME | R | STR | 1 to 10 | Name of VAS data element |
OR_ORDER/OR_ORDERLINE/OR_VAS/OR_VASDATA@VALUE | R | STR | 1 to 50 | Value of VAS data element. Note: If any of these data elements are intentionally blank, then they’ll have a single “0” (zero) character. |
OR_ORDER/OR_ORDERLINE/OR_VAS/OR_DYNAMICDATA | O | – | – | Dynamic data with attributes NAME and VALUE. Data is described with the VASCODE values below. |
OR_ORDER/OR_ORDERLINE/OR_VAS/OR_DYNAMICDATA@NAME | R | STR | 1 to 50 | Name of dynamic data element |
OR_ORDER/OR_ORDERLINE/OR_VAS/OR_DYNAMICDATA@VALUE | R | STR | 1 to 1000 | Value of dynamic data element. |
OR_ORDER/OR_LASTDELIVERYMSG | R | – | – | A delivery message with attributes LINE1, LINE2, LINE3 and LINE4. |
OR_ORDER/OR_LASTDELIVERYMSG@LINE1 | R | STR | 1 to 100 | First line of message |
OR_ORDER/OR_LASTDELIVERYMSG@LINE2 | R | STR | 1 to 100 | Second line of message |
OR_ORDER/OR_LASTDELIVERYMSG@LINE3 | R | STR | 1 to 100 | Third line of message |
OR_ORDER/OR_LASTDELIVERYMSG@LINE4 | R | STR | 1 to 100 | Fourth line of message |
OR_ORDER/OR_MARKETINGMSG | R | – | – | A marketing message with attributes LINE1, LINE2, LINE3 and LINE4. |
OR_ORDER/OR_MARKETINGMSG@LINE1 | R | STR | 1 to 100 | First line of message |
OR_ORDER/OR_MARKETINGMSG@LINE2 | R | STR | 1 to 100 | Second line of message |
OR_ORDER/OR_MARKETINGMSG@LINE3 | R | STR | 1 to 100 | Third line of message |
OR_ORDER/OR_MARKETINGMSG@LINE4 | R | STR | 1 to 100 | Fourth line of message |
OR_ORDER/OR_RETURNSMSG | R | – | – | A returns message with attributes LINE1, LINE2, LINE3 and LINE4. |
OR_ORDER/OR_RETURNSMSG@LINE1 | R | STR | 1 to 100 | First line of message |
OR_ORDER/OR_RETURNSMSG@LINE2 | R | STR | 1 to 100 | Second line of message |
OR_ORDER/OR_RETURNSMSG@LINE3 | R | STR | 1 to 100 | Third line of message |
OR_ORDER/OR_RETURNSMSG@LINE4 | R | STR | 1 to 100 | Fourth line of message |
Line VASCODE Values
The following list provides details on the Line VASCODE Values
- VGT: Gift Tag with TO and FROM messages (30 characters max for each)
- VGM: Gift Message with LINE1, LINE2, LINE3, LINE4 messages (30 characters max for each)
- VGW: Gift Wrap with UPC (13-digit numeric)
- VCD: Customs Declaration with CDFLAG (character value ‘Y’)
- VPR: Puerto Rico Customs Declaration with PRCDFLAG (character value ‘Y’)
- VOI: Outer Invoice on carton with INVOICE (character value ‘Y’)
- VSR: Signature on delivery with SOD (character value ‘Y’)
Shipping CARRIERMETHODCODE Values
The applicable carrier method codes from the following list is provided before the start of testing.
CMID | XML | Carrier Method Name | CARRIER |
9 | 9 | UPS Second Day Air | UPS |
17 | 17 | Common Carrier | Common Carrier |
18 | 18 | FedEx Freight | FedEx |
19 | 19 | FedEx Express Saver (3-Day Service) | FedEx |
20 | 20 | FedEx Ground | FedEx |
21 | 21 | FedEx Priority Overnight | FedEx |
22 | 22 | FedEx 2-Day | FedEx |
24 | 24 | FedEx Standard Overnight (PM Delivery) | FedEx |
31 | 31 | USPS Priority Mail | USPS |
43 | 43 | Pilot Freight Basic Delivery | Pilot |
65 | 65 | FedEx Smartpost Over 1lb | Smartpost |
66 | 66 | FedEx Smartpost Under 1lb | Smartpost |
67 | 67 | FedEx Home Delivery | FedEx |
68 | 20 | FedEx Ground | FedEx |
79 | 79 | FedEx Ground – S2S | FedEx |
80 | 80 | UPS Ground – S2S | UPS |
82 | 82 | Seko Worldwide | Seko |
90 | 90 | Yellow Freight System – S2S | YRC |
97 | 97 | UPS Second Day Air – S2S | UPS |
98 | 98 | Downloads | In-Store Pickup |
143 | 43 | Pilot Freight Room of Choice Delivery | Pilot |
155 | 55 | Estes Forwarding Worldwide Basic Delivery | Estes |
223 | 22 | FedEx 2-Day | FedEx |
243 | 43 | Pilot Freight White Glove | Pilot |
255 | 55 | Estes Forwarding Worldwide Basic Delivery | Estes |
267 | 67 | FedEx Home Delivery | FedEx |
355 | 55 | Estes Forwarding Worldwide Room of Choice Delivery | Estes |
443 | 43 | Pilot Freight Unattended Delivery | Pilot |
501 | 2 | UPS Ground | UPS |
545 | 146 | NSD for DSV | Non Stop Delivery |
6761 | 20 | FedEx Ground Cold Split | FedEx |
6762 | 67 | FedEx Home Delivery Cold Split | FedEx |
6763 | 20 | FedEx Ground Cold Split | FedEx |
6764 | 67 | FedEx Home Delivery Cold Split | FedEx |
6766 | 801 | FedEx Ground Hot Split | FedEx |
6767 | 802 | FedEx Home Delivery Hot Split | FedEx |
6768 | 801 | FedEx Ground Hot Split | FedEx |
6769 | 802 | FedEx Home Delivery Hot Split | FedEx |
TC number Calculations
TC number is calculated in OMS (Order Management System) and encrypted using ISD-provided code. Unencrypted, it's comprised of:
- Store Number – 4 digits
- Terminal ID = 3 digits
- Transaction ID – 4 digits
- Amount in cents – 7 digits
- Year of sale – 2 digits
- Day of year – 3 digits
For Walmart.com, store number is 2677, transaction ID is 4 last digits of PO number, and terminal ID is next 2 digits of PO number.
Example: TCNUMBER=”46708052813539595453″
Store# – 2677
PO# (last 6 digits) 675342
Amount – $97.88
Date of sale – 3/12/06
Sample WMIORDERREQUEST Files
S2HS2SGIFTCARDPAYPALPROMOTIONGIFTS2HS2SGIFTCARDPAYPALPROMOTIONGIFT
<?xml version="1.0" encoding="UTF-8"?>
<WMI> <WMIFILEHEADER FILEID="123456.20060410.001714.909268" FILETYPE="FOR" VERSION="4.0.0"> <FH_TO ID="123456" NAME="Vendor name"/> <FH_FROM ID="2677" NAME="Walmart.com"> <FH_CONTACT NAME="Walmart.com Operations Support" EMAIL="[email protected]" PHONE="6508375465" PHONEEXT=""/> </FH_FROM> </WMIFILEHEADER> <WMIORDERREQUEST> <OR_ORDER REQUESTNUMBER="66851611" ORDERNUMBER="2677127827645"> <OR_DATEPLACED DAY="10" MONTH="04" YEAR="2006"/> <OR_SHIPPING METHODCODE="MP" CARRIERMETHODCODE="22" STORENUMBER="" TOGETHERCODE="SC"> <OR_PHONE PRIMARY="6503555323" PRIMARYEXT="" SECOND="" SECONDEXT=""/> <OR_POSTAL NAME="Steve Kelley" ADDRESS1="112 Dry Creek Road" ADDRESS2="" ADDRESS3="" ADDRESS4="" CITY="Pacifica" STATE="CA" POSTALCODE="94044" COUNTRY="USA"/> <OR_DELIVERYDATE DAY="14" MONTH="04" YEAR="2006"/> <OR_EMAIL/> </OR_SHIPPING> <OR_BILLING ORDERPRICE="45.38"> <OR_PAYMENT METHOD="MC-3951"/> <OR_PHONE PRIMARY="2096011006" PRIMARYEXT="" SECOND="" SECONDEXT=""/> <OR_POSTAL NAME="John Furey" ADDRESS1="1234 Main St" ADDRESS2="" ADDRESS3="" ADDRESS4="" CITY="Stockton" STATE="CA" POSTALCODE="95207" COUNTRY="USA"/> <OR_EMAIL>[email protected]</OR_EMAIL> </OR_BILLING> <OR_RETURNS TCNUMBER="95675952991021084742" METHODCODE="RC"> <OR_POSTAL NAME=" " ADDRESS1="" ADDRESS2="" ADDRESS3="" ADDRESS4="" CITY="" STATE="" POSTALCODE="" COUNTRY=""/> <OR_PERMIT NUMBER="" CITY="" STATE="" POSTALCODE=""/> </OR_RETURNS> <OR_ORDERLINE LINENUMBER="1" LINEPRICE="45.38"> <OR_ITEM ITEMNUMBER="3866121" UPC="2345678902376" SKU="376" DESCRIPTION="Yellow Phalaenopsis Orchid in Blue Ceramic Pot" QUANTITY="1"/> <OR_PRICE RETAIL="29.97" TAX="2.47" SHIPPING="12.94"/> <OR_COST AMOUNT="21.00"/> </OR_ORDERLINE> <OR_LASTDELIVERYMSG LINE1="0" LINE2="0" LINE3="0" LINE4="0"/> <OR_MARKETINGMSG LINE1="0" LINE2="0" LINE3="0" LINE4="0"/> <OR_RETURNSMSG LINE1="0" LINE2="0" LINE3="0" LINE4="0"/> </OR_ORDER> </WMIORDERREQUEST>
</WMI>
Order Cancel XML File
The Order Cancel File contains customer requests to cancel a specific order request line. If it's possible to cancel the line (i.e. the order hasn't been shipped yet), then return a line STATUSCODE of “LC” in the next Order Status File. If the order line can't be stopped, send back the shipping information as usual.
Note: The supplier should only cancel the requested lines. For example, if an order request contains four lines and the supplier receives cancel requests for lines 1, 3, and 4, then line 2 should ship as requested. The request is for all items in the line.
Note: The customer knows there's no guarantee their line can be canceled. However, we expect the supplier to reasonably attempt to stop the shipment.
File Naming Convention
The file name contains the file type, creation date and time, the Supplier ID, and a six-digit random number. All filenames are case-sensitive. The naming convention is:
WMI_Order_Req_VVVVVVVVV_YYYYMMDD_HHMMSS_NNNNNN.xml
- VVVVVVVVV is the Supplier ID assigned by Walmart.com (up to 9 digits)
- YYYYMMDD is a formatted file creation date (GMT date)
- HHMMSS is a formatted file creation time (24-hour GMT time)
- NNNNNN is a six-digit random number to guarantee uniqueness.
Example: WMI_Order_Cancel_999999_20010418_163108_097981.xml
WMIORDERCANCEL Element
The WMIORDERCANCEL element contains a group of order cancel messages. If possible, each order cancel request message tells the supplier to cancel a specific order request line. If data is missing or invalid, OC_LINECANCEL elements can be individually rejected via a WMIFILEERROR file (see the previous error handling section).
Name | Req | Type | Length | Description |
---|---|---|---|---|
/WMI/WMIORDERCANCEL (Reference Node) | R | – | – | Contains at least one OC_LINECANCEL |
OC_LINECANCEL | R | – | – | Cancel request, with attributes REQUESTNUMBER and LINENUMBER |
OC_LINECANCEL@REQUESTNUMBER | R | NUM | 1 to 13 | OR_ORDER@REQUESTNUMBER attribute of the original order request message. |
OC_LINECANCEL@LINENUMBER | R | NUM | 1 to 3 | OR_ORDER/OR_ORDERLINE@LINENUMBER attribute from the original order request message. |
Sample WMIORDERCANCEL File
<?xml version="1.0" encoding="UTF-8"?>
<WMI> <WMIFILEHEADER FILEID="185124.20080808.150816.000001" FILETYPE="FOC" VERSION="4.0.0"> <FH_TO ID="185124" NAME="Gloria"/> <FH_FROM ID="2677" NAME="Walmart.com"> <FH_CONTACT NAME="Walmart.com Operations Support" EMAIL="[email protected]" PHONE="6508375465" PHONEEXT=""/> </FH_FROM> </WMIFILEHEADER> <WMIORDERCANCEL> <OC_LINECANCEL REQUESTNUMBER="11809403" LINENUMBER="1"/> <OC_LINECANCEL REQUESTNUMBER="11809404" LINENUMBER="2"/> <OC_LINECANCEL REQUESTNUMBER="11809406" LINENUMBER="3"/> <OC_LINECANCEL REQUESTNUMBER="11809408" LINENUMBER="4"/> </WMIORDERCANCEL>
</WMI>
Order Status XML File
The Order Status File contains status updates for order request lines. There are two types of status updates:
- OS_LINESTATUS messages are for cases when an order request line has not been fulfilled. The status can acknowledge the receipt of the line for future fulfillment or indicate that the line can't be fulfilled for a specified reason.
- OS_PACKAGEINVOICE, messages indicate that items were sent to the customer. Within this message is an OS_PACKAGE element to identify the package, an OS_SHIPDATE element to indicate when the package was sent and an OS_INVOICE element to indicate what is contained in the package and how much it cost.
An Order Status File might contain only OS_PACKAGEINVOICE elements, only OS_LINESTATUS elements, or a combination of both element types.
File Naming Convention
The file name contains the file type, creation date and time, the Supplier ID, and a six-digit random number. All filenames are case-sensitive. The naming convention is:
WMI_Order_Req_VVVVVVVVV_YYYYMMDD_HHMMSS_NNNNNN.xml
- VVVVVVVVV is the Supplier ID assigned by Walmart.com (up to 9 digits)
- YYYYMMDD is a formatted file creation date (GMT date)
- HHMMSS is a formatted file creation time (24-hour GMT time)
- NNNNNN is a six-digit random number to guarantee uniqueness.
Example: WMI_Order_Status_999999_20010418_163108_097981.xml
WMIORDERSTATUS Element
The WMIORDERSTATUS element contains a group of order status messages. Each order status message from the supplier contains a status update for a specific set of order request lines. If data is missing or invalid, then OS_LINESTATUS or OS_PACKAGEINVOICE elements can be individually rejected via an Error File (see error handling section above).
Name | Req | Type | Length | Description |
---|---|---|---|---|
/WMI/WMIORDERSTATUS (Reference Node) | R | – | – | Contains one or more OS_LINESTATUS and/or OS_PACKAGEINVOICE elements. |
OS_LINESTATUS | O | – | – | Line update, with attributes REQUESTNUMBER, LINENUMBER, STATUSCODE and QUANTITY. |
OS_LINESTATUS@REQUESTNUMBER | R | NUM | 1 to 13 | OR_ORDER@REQUESTNUMBER attribute of the original order request message. |
OS_LINESTATUS@LINENUMBER | R | NUM | 1 to 3 | OR_ORDER/OR_ORDERLINE@LINENUMBER attribute from the original order request message. |
OS_LINESTATUS@STATUSCODE | R | STR | 1 to 2 | Line status code. Code values are listed after this table. |
OS_LINESTATUS@QUANTITY | O | NUM | 1 to 4 | Number of items reflected by this status. Only required for backorder notification (STATUSCODE = “LB”) and line Wave (STATUSCODE = “LW”), because all other statuses are assumed to reflect the full ordered quantity. |
OS_PACKAGEINVOICE | O | – | – | Shipping notification, with attributes REQUESTNUMBER and STATUSCODE. Contains one each of the following elements: OS_ PACKAGE and OS_SHIPDATE. Also contains an OS_INVOICE element if the STATUSCODE is “PS”, “PT” or “PE”. |
OS_PACKAGEINVOICE@REQUESTNUMBER | R | NUM | 1 to 13 | OR_ORDER@REQUESTNUMBER attribute of the original order request message. |
OS_PACKAGEINVOICE@STATUSCODE | R | STR | 2 | Package status code. Valid code values are as follows: “PS” – A package was shipped to the customer via a carrier outside of the Wal-Mart distribution system. Also used if items were delivered to the customer out of in-store inventory. |
OS_PACKAGEINVOICE/OS_PACKAGE | R | – | – | Physical package info, with attributes PACKAGEID, CARRIERMETHODCODE, TRACKINGNUMBER and WEIGHT. |
OS_PACKAGEINVOICE/OS_PACKAGE@PACKAGEID | R | STR | 1 to 25 | Number (assigned by the supplier) to uniquely identify this package within the REQUESTNUMBER. |
OS_PACKAGEINVOICE/OS_PACKAGE@CARRIERMETHODCODE | R | NUM | 4 | The code of the shipping carrier and method used. Valid codes are defined are part of the Order Request File definition. Note: In some cases this may be different than the value from the OR_SHIPPING@CARRIERMETHODCODE attribute in the original order request message. |
OS_PACKAGEINVOICE/OS_PACKAGE@TRACKINGNUMBER | R | STR | 1 to 25 | Number used by the carrier to identify this package. If tracking is not available for this carrier (e.g. USPS First-Class Mail, Electronic Delivery, etc.), then use a single pound (#) character. This is a unique number for each package |
OS_PACKAGEINVOICE/OS_PACKAGE@ASNNUMBER | O | STR | 1 to 20 | DSV Assigned unique SSCC18 Bar code for each Ship –to-Store Order package , See below details on generation |
OS_PACKAGEINVOICE/OS_PACKAGE@PALLET_ASNNUMBER | O | STR | 1 to 20 | DSV Assigned SSCC18 Bar code for shipping pallet for Backhaul Ship -to-Store order, See below details on generation |
OS_PACKAGEINVOICE/OS_PACKAGE@BOL_NUMBER | O | STR | 1 to 20 | VICS Bill of Lading Number assigned to the shipment |
OS_PACKAGEINVOICE/OS_PACKAGE@WEIGHT | R | DEC | 5.2 | Package weight in pounds (rounded to 2 decimal points). |
OS_PACKAGEINVOICE/OS_SHIPDATE | R | – | – | Date the package was shipped, with the following attributes: DAY, MONTH and YEAR. |
OS_PACKAGEINVOICE/OS_SHIPDATE@DAY | R | NUM | 2 | Day of the month (01 to 31) |
OS_PACKAGEINVOICE/OS_SHIPDATE@MONTH | R | NUM | 2 | Numeric month of the year (01 to 12) |
OS_PACKAGEINVOICE/OS_SHIPDATE@YEAR | O | NUM | 4 | Four-digit year (e.g. 2001) |
OS_PACKAGEINVOICE/OS_SHIPDATE@HOUR | O | NUM | 2 | Numeric hour of the day in HH24 format (00 to 23) |
OS_PACKAGEINVOICE/OS_SHIPDATE@MINUTE | O | NUM | 2 | Numeric minute of the hour (00 to 59) |
OS_PACKAGEINVOICE/OS_SHIPDATE@TIMEZONE | O | CHAR | 2 | Time Zone values, North America/Europe: ET = Eastern Time, CT = Central Time, MT = Mountain Time, PT = Pacific Time, ED = Eastern Daylight Time, CD = Central Daylight Time, MD = Mountain Daylight Time, PD = Pacific Daylight Time, GM = Greenwich Mean Time (GMT England) |
OS_PACKAGEINVOICE/OS_INVOICE | C | – | – | Package contents and cost to Walmart.com. Contains one OS_SHIPPING element and one or more OS_LINECOST elements. It is mandatory for statuses PS,PE, PT |
OS_PACKAGEINVOICE/OS_INVOICE/OS_SHIPPING | R | – | – | Package shipping cost, with attributes SUPPLIERSHIPPING and THIRDPARTYSHIPPING. |
OS_PACKAGEINVOICE/OS_INVOICE/OS_SHIPPING@SUPPLIERSHIPPING | R | DEC | 8.2 | Package cost of shipping paid by the supplier. To be re-paid through accounts-payable process. |
OS_PACKAGEINVOICE/OS_INVOICE/OS_SHIPPING@THIRDPARTYSHIPPING | R | DEC | 8.2 | Package cost of shipping by a 3rd party. Billed to Walmart.com by the 3rd party. |
OS_PACKAGEINVOICE/OS_INVOICE/OS_LINECOST | R | – | – | Quantity and cost of shipped line, with attributes LINENUMBER, QUANTITY, HANDLING and ITEMCOST. May also contain multiple OS_VAS elements. |
OS_PACKAGEINVOICE/OS_INVOICE/OS_LINECOST@LINENUMBER | R | NUM | 1 to 3 | OR_ORDER/OR_ORDERLINE@LINENUMBER attribute from the original order request message. |
OS_PACKAGEINVOICE/OS_INVOICE/OS_LINECOST@QUANTITY | R | NUM | 1 to 4 | Quantity of items shipped |
OS_PACKAGEINVOICE/OS_INVOICE/OS_LINECOST@ITEMCOST | O | DEC | 8.2 | Unit item cost from the supplier. Optional if the vendor uses an Order Invoice File to send costs. |
OS_PACKAGEINVOICE/OS_INVOICE/OS_LINECOST@HANDLING | O | DEC | 8.2 | Unit cost for supplier handling for each item shipped. Optional if the vendor uses an Order Invoice File to send costs. |
OS_PACKAGEINVOICE/OS_INVOICE/OS_LINECOST@STORENUMBER | O | NUM | 1 to 5 | Store number , for line to be shipped from, optional needed only or Walmart.com owned inventory |
OS_PACKAGEINVOICE/OS_INVOICE/OS_LINECOST/OS_VAS | O | – | – | One element for every value-added service applied to this line, with attributes VASCODE and COST. Optional if there were no VAS codes in the order request line. |
OS_PACKAGEINVOICE/OS_INVOICE/OS_LINECOST/OS_VAS@VASCODE | R | STR | 3 | VAS code values are defined in VASCODE section of the Order Request File definition |
OS_PACKAGEINVOICE/OS_INVOICE/OS_VAS@COST | O | DEC | 8.2 | Cost of value-added service for each item shipped. Optional if the vendor uses an Order Invoice File to send costs. |
Valid OS_LINESTATUS@STATUSCODE values are as follows:
- “LI” – An “initial” line acknowledgment that indicates the order request was loaded and will be fulfilled in the standard time window of 24 to 48 hours.
- “LH” – A “hold” line acknowledgment indicates the order request was loaded and will be fulfilled outside the standard time window.
- “LD” – The line SKU is recognized and has been discontinued, so this line can't be fulfilled.
- “LU” – The line SKU is not recognized, so this line can't be fulfilled.
- “LB” – The line SKU is not in stock and can't be fulfilled at this time, so the supplier has canceled this line.
- “LC” – The line has been canceled by an Order Cancel message, so it will not be fulfilled.
- “LW” – The line should be able to cancel until wm.com receives the status from the distributor that it is not possible to cancel anymore.
ASN(SSC18 barcode) number format rule of creation:
- Walmart generated ASN number, the 20-digit ASN number is composed of the following:
- 3-digit leading zeros (example: 000)
- 7-digit distributor ID (example UPS: 593830; if the distributor ID is more than 7 digits, then we divide it by 1000 and pad leading zeros)
- 9-digit sequence with a leading zero (example: 032000314)
- 1-digit checksum, which is calculated using the MOD 10 algorithm.
- Distributor generated ASN number; we only have IML at this time.
- The first 10 digits of the ASN are 0000511873.
- The next 10 digits comprise their warehouse ID (2-digit), followed by a sequence number and a checksum digit.
Updated about 18 hours ago