EDI documents
EDI 846 Inventory Inquiry/Advice
The EDI 846 tells a trading partner how much stock exists per item: available for sale, unusable, on order, and when more arrives. This page covers the BIA, LIN, QTY and SCH segments, a sample with its envelope, how partners use the document differently, and which stock figure belongs in it.
Updated
What is an EDI 846?
The EDI 846 is the X12 Inventory Inquiry/Advice transaction set. In retail it is the stock feed: a supplier tells a buyer how many units of each item are available for sale, how many are unusable or on order, and on which date more stock is expected. The EDIFACT counterpart is the INVRPT message.
Drop-ship programs depend on it. The retailer sells the supplier's goods on its own site without holding them, so the quantity it shows comes from the last 846 it received. The 846 is in Walmart's drop-ship document set next to the 850, 855 and 856, and among the EDI documents of the order cycle it is the one sent on a schedule instead of in response to an order.
Where the 846 sits in the order-to-cash flow
The 846 comes before the order and keeps running beside it.
| Document | Direction | Relation to the 846 |
|---|---|---|
| 846 inventory advice | Supplier to buyer | Sets what the buyer may sell or order |
| 850 purchase order | Buyer to supplier | Orders against the quantity the last 846 reported |
| 855 acknowledgment | Supplier to buyer | Confirms the order against real stock at that moment |
| 997 functional acknowledgment | Buyer to supplier | Confirms each 846 file was received and parsed |
The gap between the first two rows is where overselling happens. If the 846 goes out every 60 minutes, the buyer's figure is up to 60 minutes old when the 850 is created, and an item that sold out in between is ordered anyway. The 855 then has to change or reject the line.
The segments of an 846
The X12 004010 definition has BIA in the heading and a LIN loop in the detail area that can repeat 10,000 times. The functional identifier of the group is IB.
| Segment | Name | What it carries | What goes wrong |
|---|---|---|---|
| BIA | Beginning Segment for Inventory Inquiry/Advice | BIA01 purpose (00 original, 04 change), BIA02 report type (SI seller inventory report), BIA03 reference number (1 to 30 characters), BIA04 date, BIA05 time | A change file treated as a full list zeroes every item that is not in it |
| REF | Reference Identification | Partner or vendor reference | A reference that routes the file to the wrong vendor account |
| LIN | Item Identification | LIN02 qualifier and LIN03 number: VN or VP vendor's number, SK the buyer's SKU, UP a UPC | An item number the buyer cannot match is skipped, and its old quantity stays live |
| PID | Product/Item Description | Free-form description | None; it is informational |
| DTM | Date/Time Reference | 036, used by some partners as the discontinue date | A discontinued item reported without it is reordered |
| QTY | Quantity | QTY01 qualifier, QTY02 number: 33 available for sale, 20 unusable, 63 on order, IQ in transit | On hand sent as available; cases sent as eaches |
| SCH | Line Item Schedule | Quantity and the date it becomes available, with date qualifier 018 | A past date, or a quantity without a date |
| SDQ | Destination Quantity | Quantity per location: store number or warehouse | Locations summed that cannot ship web orders |
| CTT | Transaction Totals | Number of LIN lines | A count mismatch rejects the set |
LIN has room for 15 pairs of qualifier and number, LIN02 to LIN31. Partner guides use one or two: the supplier's own number and the buyer's SKU. The Home Depot's guide sends them as LIN**VN*123456*SK*100456789.
A sample 846, with delimiters
A feed for three items. The first has stock, the second is out of stock with a date for the next receipt, the third has usable and unusable stock. Elements are separated by *, segments end with ~.
ST*846*0001~
BIA*00*SI*INV20261003A*20261003*0600~
LIN**VP*10482*UP*614141104826~
QTY*33*80*EA~
LIN**VP*10499*UP*614141104994~
QTY*33*0*EA~
SCH*48*EA***018*20261017~
LIN**VP*20731*UP*614141207312~
QTY*33*140*EA~
QTY*20*4*EA~
CTT*3~
SE*12*0001~
Item 10482 has 80 units available for sale. Item 10499 has 0, and SCH says 48 units become available on 17 October 2026. Item 20731 has 140 available and 4 unusable, for example damaged or in quality hold. There are 3 LIN segments, so CTT01 is 3, and 12 segments from ST to SE, so SE01 is 12. The zero is sent on purpose: an explicit QTY*33*0 takes the item off sale, while leaving the item out depends on how the partner reads a missing line.
The envelope around it
ISA*00* *00* *ZZ*NORTHFIELD *01*123456789 *261003*0600*U*00401*000000456*0*P*>~
GS*IB*NORTHFIELD*123456789*20261003*0600*456*X*004010~
ST*846*0001~
SE*12*0001~
GE*1*456~
IEA*1*000000456~
GS01 is IB for inventory documents. The control numbers have to match in pairs: ISA13 and IEA02 (000000456), GS06 and GE02 (456), ST02 and SE02 (0001). A feed sent every hour uses 24 interchange control numbers a day, and a partner that tracks them rejects a repeated number as a duplicate, so the counter must never reset. ISA15 is P for production and T for test. When the file goes to Walmart over SFTP, it carries the name WMI_846IB_... with a date and time stamp, and the delimiters are fixed at ~, * and >.
A stuck feed is silent. No 846 arriving looks the same to the buyer as no change in stock, so the quantities stay as they were. The 997 for each file is the only confirmation that it landed, and a missing 997 has to raise an alert.
Who requires the 846, and how they differ
Three public specifications, checked on 3 October 2026:
| Partner | Direction and use | Segments and codes |
|---|---|---|
| Walmart drop ship | Supplier to Walmart, in the drop-ship set with the 850, 855, 856 and 860 | File name WMI_846IB_... over SFTP |
| The Home Depot (guide dated 12 November 2013) | Supplier to retailer | BIA02 SI; LIN with VN and SK; QTY 33 and 20; DTM 036 as discontinue date; SCH with qualifier 018 for the next available date |
| Best Buy (004010) | Titled Outbound Inventory Advice: sent by Best Buy, with its stock per location | BIA01 00 or 04; BIA02 SI; LIN with VP; SDQ per warehouse or store; QTY 33, 20, 63, 76 and IQ |
The Home Depot's rule for discontinued items shows how much sits in one optional segment. Once a discontinue date has been sent in DTM*036, it has to be in every later file for that item. The supplier keeps reporting the remaining quantity, and the item may drop out of the file only after the available quantity has reached zero. Leave the date out one time before that, and the discontinued status is removed. A mapping per partner keeps those rules apart; see EDI mapping and EDI with Walmart. Walmart's set is on its EDI interface page.
What goes wrong and what it costs
- On hand sent as available. The ERP has 120 on hand, 30 of them reserved and 10 kept as safety stock. Sending 120 in
QTY*33oversells by up to 40 units. - Silent zeroing. An item is missing from today's export because of a filter or a failed query. If the partner reads the file as a full list, the item goes off sale; if the integration fills the gap with zero, the same happens by its own doing.
- Stale stock. The feed stops and nobody notices. The partner keeps selling yesterday's 80 units while the warehouse has 12.
- Units. The partner sells eaches and the ERP counts cases of 12. Ten cases sent as
QTY*33*10*EAhides 110 sellable units. - Locations. Warehouse 100 plus showroom 10 is sent as 110, and the showroom cannot ship parcel orders.
The cost arrives on the next documents. An order for stock that is not there becomes an 855 with a rejected line or a cancelled drop-ship order, and retailers score cancellations and fill rate. Those scorecards are covered under EDI compliance.
Handling the 846 on the ERP side
The 846 is built from the item availability per location, and four rules decide the number in QTY02:
| Rule | Example |
|---|---|
| Which quantity | Available: 120 on hand minus 30 reserved minus 10 safety stock is 80 |
| Which locations | Only the warehouses that ship this partner's orders |
| Which unit | The partner's selling unit: 10 cases of 12 is 120 each |
| Which items | The partner's assortment, each mapped to the buyer's SKU |
Expected receipts come from open purchase orders: the quantity and the expected date fill SCH. A discontinued flag on the item fills DTM*036 for the partners that use it. The stock and availability integration page covers the same rules for store platforms, and safety stock the buffer per channel.
We build the 846 as part of an EDI integration to your systems. The feed runs on the partner's schedule, each run is compared with the previous one before it is sent, and a run in which a large share of the items would drop to zero is held for approval instead of going out. Every file and its 997 are logged, and a feed that has not been acknowledged raises an alert. Tell us which partners need your stock.
Frequently asked questions
How often is an EDI 846 sent?
On a schedule the trading partner sets, not per order. The 846 is a recurring feed: the same list of items goes out again with fresh quantities, and the partner overwrites what it had. How stale the partner's figure can get is the interval between two files, so the interval is chosen against how fast the stock moves.
What does QTY*33 mean in an 846?
QTY01 is the quantity qualifier and 33 stands for quantity available for sale, the stock quantity. QTY02 is the number. Other qualifiers in partner guides are 20 for unusable quantity, 63 for on order quantity and IQ for in-transit quantity. One item can carry several QTY segments, one per qualifier.
Is the 846 a full list or only the changes?
That is agreed per partner. BIA01 says what the file is: 00 for an original, 04 for a change. With a full list, an item that is missing from the file is ambiguous, so the rule for a missing item has to be written down. The Home Depot's guide, for example, lets a discontinued item drop out of the file only after its available quantity has reached zero.
What is the EDIFACT equivalent of the 846?
The INVRPT message, the inventory report. The pairing is industry convention and consistent across sources; neither standards body publishes an official crosswalk between X12 and EDIFACT.
Does the 846 only go from supplier to buyer?
No. X12 defines it for a seller informing a buyer, for a seller's representative, for one location informing another, and for an inquiry. Drop-ship programs use the supplier-to-retailer direction. Best Buy publishes a guide titled Outbound Inventory Advice, an 846 sent by the retailer with quantities per warehouse and store in the SDQ segment.
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