
The EDI 846 is the X12 transaction set for inventory information. A supplier, warehouse, or 3PL uses it to tell a trading partner how much of each item is available, and a buyer can use it to ask. In retail, the most common flow is a brand sending an 846 to a retailer or marketplace so the partner knows what it can sell, especially for drop ship programs where the retailer takes the customer's order before you ship it.
The quick version: an 846 is a list of items (LIN segments) with one or more quantities for each (QTY segments), stamped with a date and time so the receiver knows how fresh the numbers are. The details of which quantities, which identifiers, and how often are set by each partner's implementation guide. For the document summary, see our EDI 846 reference page.
Who sends an 846, and to whom
Sender | Receiver | What it is for |
|---|---|---|
Brand or supplier | Retailer (drop ship or DSV program) | Tells the retailer what it can sell on its site so it stops taking orders you cannot fill |
Brand or supplier | Marketplace or distributor | Keeps listings and available-to-sell counts current |
3PL or warehouse | Brand (the depositor) | Reports stock on hand at the warehouse so the brand's ERP matches |
Buyer | Supplier | An inquiry asking what the supplier has available, with no obligation on either side |
That last row is where the "inquiry" half of the name comes from. In practice, most 846s in retail are advice: the supplier pushes numbers on a schedule without being asked.
The structure of an 846
An 846 sits inside the usual ISA/GS envelope and follows a header, detail, and summary pattern. These are the segments you will see in nearly every implementation guide.
Segment | Name | What it carries |
|---|---|---|
ST | Transaction Set Header | Identifies the document as an 846 and gives it a control number |
BIA | Beginning Segment for Inventory Inquiry/Advice | Purpose code (original, replace), the report type, a reference number, and the report date |
DTM | Date/Time Reference | When the inventory snapshot was taken; can also carry availability dates |
REF | Reference Identification | Partner-specific references such as a vendor number or department |
N1 | Name | Identifies parties or locations, such as the warehouse the stock sits in |
LIN | Item Identification | The item, by UPC, GTIN, vendor part number, buyer part number, or several of these |
PID | Product/Item Description | Optional free-text or coded item description |
QTY | Quantity | A quantity qualifier, the quantity, and the unit of measure; repeats for each quantity type |
CTT | Transaction Totals | The number of LIN segments, and often a hash total of the quantities |
SE | Transaction Set Trailer | Segment count and the matching control number |
Two segments do most of the work. The BIA tells the receiver what kind of report this is. Walmart's supplier guide, for example, uses report type code SI, Seller Inventory Report, in BIA02. The QTY loop carries the numbers, and it can repeat under each LIN so one item can report several quantities at once.
QTY qualifiers
QTY01 is a code that says what kind of quantity follows. Partners pick different codes for what sounds like the same idea, so read the guide closely. Two you will see often:
33, quantity available for sale. Common in drop ship and marketplace feeds.
17, quantity on hand. Walmart's supplier 846 sample uses this qualifier.
Some partners also want on-order quantities, committed quantities, or a next-available date for out-of-stock items. If a partner asks for more than one quantity per item, each gets its own QTY segment under the same LIN.
The CTT hash total
Many guides define CTT01 as the count of LIN segments and CTT02 as the sum of the QTY02 values. Simplot's published 846 spec, for one, describes the hash total that way. If your partner validates it, a mismatch rejects the whole file, so let the translator calculate it instead of hardcoding anything.
A sample EDI 846
Here is a simplified 846 advice for two items at one warehouse. Envelope segments are left out, and real files follow each partner's required segments and qualifiers.
ST*846*0001~BIA*00*SI*INV20261005*20261005~DTM*405*20261005*0600~N1*WH*EAST DC*92*0001~LIN**UP*012345678905*VN*SKU-1001~PID*F****ORGANIC GRANOLA 12OZ~QTY*33*480*EA~LIN**UP*012345678912*VN*SKU-1002~PID*F****ORGANIC GRANOLA 24OZ~QTY*33*0*EA~CTT*2*480~SE*12*0001~
Reading it top to bottom: the BIA says this is an original (00) seller inventory report (SI) with a reference number and date. The DTM stamps the snapshot time. The N1 names the warehouse. Each LIN identifies an item by UPC and vendor SKU, and the QTY reports 480 eaches available for the first item and zero for the second. The CTT says there are two line items and the quantities add up to 480.
Note the explicit zero on the second item. Sending zero tells the partner to stop selling. Leaving the item out may mean "no change" to one partner and "unavailable" to another, which is why you should confirm how each partner treats missing items.
846 vs 852 vs 947
These three are easy to mix up because all of them involve inventory.
Document | Usually sent by | What it reports |
|---|---|---|
846 Inventory Inquiry/Advice | Supplier, warehouse, or 3PL | What is available or on hand, by item and location |
Retailer | Sales, on-hand, and on-order at the retailer's stores or DCs, so the supplier can see sell-through | |
947 Warehouse Inventory Adjustment Advice | 3PL or warehouse | Changes to inventory such as damages, cycle count corrections, or status changes |
A brand that ships through a 3PL might receive 846s and 947s from the warehouse, receive 852s from its retail customers, and send its own 846s to drop ship partners. The 944 and 945 round out the warehouse side by confirming receipts and shipments; our 944 guide covers how receipts change on-hand counts.
Where the numbers come from
The 846 is only as accurate as the system that feeds it. Decide which system is the source of truth for available quantity before you build the feed:
If your ERP holds inventory and allocates orders, it usually knows available-to-sell better than anything else. Our post on inventory allocation methods explains how ERP and WMS allocation differ.
If a WMS or 3PL holds the physical count, on-hand comes from there, but committed orders may still live in the ERP. Subtract them before you report available.
If several channels draw from the same stock, decide whether each partner sees the full available quantity or an allocated share.
Cycle counts help keep the source honest. The inventory accuracy calculator is a quick way to measure where you stand.
Mapping mistakes that cause oversells
Sending on-hand when the partner expects available. Stock already committed to other orders gets sold twice.
Unit of measure mismatches. Reporting 40 cases when the partner reads eaches tells them you have 40 units.
Stale snapshots. If the DTM says 6 a.m. and the file arrives at noon, a partner may reject it, or worse, trust it.
Missing items treated differently than you expect. Confirm whether the partner wants a full feed of every item every time, or changes only.
No safety buffer. Many brands hold back a few units per SKU on fast movers so timing gaps do not turn into cancellations.
Negative quantities. Some systems go negative during receiving or adjustments. Floor the reported quantity at zero.
Partners track the cost of these mistakes. Cancellations from oversells count against your scorecard, and some retailers charge back for them. Our guide to retailer performance ratings covers how that scoring works, and the order fill rate calculator shows the metric most affected.
How often to send an 846
The partner's guide sets the minimum. Drop ship and marketplace programs tend to want updates several times a day, while some traditional retail programs accept a daily feed. If your system can send on change (after receipts, shipments, and adjustments) as well as on a schedule, partners see fewer surprises. For strategy on keeping stock visible across many retailers and 3PLs, see our 846 guide for CPG brands.
Frequently asked questions
What is an EDI 846?
The EDI 846 Inventory Inquiry/Advice is an X12 transaction set used to report or request inventory levels between trading partners. It lists items and their quantities at a point in time.
Who sends the EDI 846?
Usually the party that holds the stock: a supplier reporting to a retailer or marketplace, or a 3PL reporting to the brand that owns the goods. A buyer can also send an 846 as an inquiry.
What are the main segments in an 846?
BIA starts the report, DTM dates it, LIN identifies each item, QTY carries the quantities, and CTT totals the line items. N1, REF, and PID add locations, references, and descriptions when the partner requires them.
What does QTY*33 mean in an EDI 846?
Qualifier 33 indicates quantity available for sale. Partners choose their own qualifiers, so always confirm against the implementation guide.
What is the difference between the EDI 846 and 852?
The 846 reports the supplier's or warehouse's inventory. The 852 is sent by a retailer and reports product activity at its locations, such as sales and on-hand stock, so the supplier can plan replenishment.
Is the EDI 846 required?
It depends on the partner. Drop ship, marketplace, and vendor-managed inventory programs commonly require it, while some traditional wholesale relationships do not.
Can one 846 cover multiple warehouses?
Yes, if the partner's guide allows it. Each location is identified (often with an N1 loop) and the items for that location follow with their own quantities.
What is the EDIFACT equivalent of the 846?
The closest EDIFACT message is INVRPT, the inventory report.
Send cleaner inventory feeds
Surpass builds and monitors 846 feeds from your ERP, WMS, or 3PL to every partner that needs one, with each partner's qualifiers and timing handled. Talk to our team about your inventory flows, or see our integrations.
More articles
Our platform is designed to empower businesses of all sizes to work smarter and achieve their goals with confidence.


