The EDI 846 Inventory Inquiry/Advice is the X12 transaction set suppliers and buyers use to share real-time stock positions electronically, replacing spreadsheets and email updates with structured, automated inventory data. It is the foundation of vendor-managed inventory programs and drop-ship availability checks at retailers like Walmart and Home Depot.
What Is an EDI 846?
An EDI 846 is a structured inventory report defined by the ASC X12 standards body that communicates on-hand, available, committed, and in-transit quantities for each SKU, by location, between trading partners.
Authoritative sources for 846 implementation:
- The X12.org Transaction Sets reference defines the BIA, LIN, QTY, and DTM segment structure used in all 846 implementations
- GS1 US governs the GTIN and UPC identifiers reported in LIN02-LIN03 product identification segments
The EDI 846 can flow in either direction: a supplier sends inventory positions to a buyer, or a buyer requests inventory data from a supplier.
The 846 answers one question: How much product is available, and where?
Common use cases include:
- Inventory visibility: Suppliers share stock levels so buyers can plan orders based on actual availability rather than guessing
- Vendor-managed inventory (VMI): Suppliers monitor buyer stock levels and trigger replenishment automatically
- Drop shipping: Retailers check supplier inventory before accepting customer orders, avoiding backorder situations
- Warehouse transfers: Distribution centers report stock positions across multiple facilities
- Consignment tracking: Tracking inventory that sits at the buyer's location but is still owned by the supplier
For a broader look at how inventory data fits into the purchase order and inventory management workflow, that article covers the end-to-end process.
Key Segments in the EDI 846
The 846 transaction set follows a header-detail-summary structure. Here are the segments you will work with most often:
| Segment | Name | Purpose |
|---|---|---|
| BIA | Beginning Segment for Inventory Inquiry/Advice | Identifies the transaction purpose, report type, date, and reference number |
| N1 | Party Identification | Identifies the sender, receiver, warehouse, or ship-from location |
| LIN | Item Identification | Specifies the product using UPC, vendor part number, GTIN, or SKU |
| QTY | Quantity Information | Reports inventory quantities by type (on-hand, available, committed, etc.) |
| DTM | Date/Time Reference | Indicates the date the inventory snapshot was taken or when it expires |
| REF | Reference Identification | Carries additional reference numbers like warehouse codes or lot numbers |
| PER | Administrative Contact | Contact information for inventory-related questions |
BIA - Beginning Segment
The BIA segment sets the context for the entire transaction:
- BIA01: Transaction Set Purpose Code (00 = Original, 01 = Cancellation, 04 = Change)
- BIA02: Report Type Code (SW = Inventory Inquiry, SI = Inventory Advice)
- BIA03: Reference Identification (your report ID)
- BIA04: Date (report date in CCYYMMDD format)
BIA*00*SI*INV-RPT-20260310*20260310~
LIN - Item Identification
Each LIN segment identifies a product. You can include multiple qualifier/value pairs:
- LIN01: Assigned identification (line number)
- LIN02-LIN03: Product ID qualifier and value (e.g., UP = UPC, VN = Vendor Part Number)
- LIN04-LIN05: Additional product ID qualifier and value
LIN*001*UP*012345678901*VN*WIDGET-500~
QTY - Quantity Information
The QTY segment reports the actual inventory numbers:
- QTY01: Quantity Qualifier (QA = Available, QH = On Hand, QC = Committed, QT = In Transit)
- QTY02: Quantity value
- QTY03: Unit of measure
QTY*QA*1500*EA~
QTY*QH*2000*EA~
QTY*QC*500*EA~
Inventory Types Reported in the 846
A single 846 can report multiple inventory categories for each item. Understanding the differences matters because your buyers will use these numbers to make ordering decisions.
| Qualifier | Type | What It Means |
|---|---|---|
| QH | On-Hand | Total physical inventory in the warehouse right now |
| QA | Available | On-hand minus committed and allocated stock. This is what can actually be ordered. |
| QC | Committed | Reserved for existing orders that have not shipped yet |
| QT | In-Transit | Product currently moving between locations or inbound from a manufacturer |
| QD | Damaged | Inventory flagged as damaged and not available for sale |
| QO | On-Order | Quantity on purchase orders from your upstream suppliers |
The most critical number for your trading partners is QA (Available). If you only send one quantity type, make it this one. Buyers need to know what they can actually order, not just what is sitting on a shelf.
How the 846 Connects with Other EDI Transactions
The 846 does not exist in isolation. It is part of a larger order lifecycle. Here is how it fits:
846 (Inventory Advice)
→ Buyer sees available stock
→ 850 (Purchase Order) placed based on availability
→ 855 (PO Acknowledgment) confirms the order
→ 856 (ASN/Ship Notice) sent at shipment
→ 810 (Invoice) sent after delivery
The 846 sits at the very beginning of this chain. Accurate inventory data means fewer order rejections, fewer backorders, and fewer chargebacks.
If you are already processing EDI 850 Purchase Orders, adding the 846 to your workflow gives your buyers the data they need to send you orders that you can actually fill. That means fewer 855 rejections and smoother fulfillment.
For background on what the EDI 846 is and why it matters in a broader supply chain context, that overview covers the business case.
VMI: Vendor-Managed Inventory with the 846
Vendor-managed inventory is one of the highest-value applications of the 846. In a VMI arrangement:
- The buyer sends an 846 to the supplier showing current stock levels at their warehouses or stores
- The supplier analyzes the data against demand forecasts and reorder points
- The supplier generates an 850 Purchase Order or replenishment shipment automatically
- The cycle repeats on a set schedule (daily, weekly, or triggered by threshold)
VMI programs powered by accurate 846 data typically reduce stockouts by 20-30% while cutting excess inventory. Retailers like Walmart and Home Depot run large VMI programs that depend on timely, accurate 846 transmissions.
VMI 846 Example
Here is what a basic VMI inventory report looks like in raw EDI:
ISA*00* *00* *ZZ*RETAILER *ZZ*SUPPLIER123 *260310*0800*U*00401*000000001*0*P*:~
GS*IB*RETAILER*SUPPLIER123*20260310*0800*1*X*004010~
ST*846*0001~
BIA*00*SI*VMI-RPT-0310*20260310~
N1*WH*DC EAST*92*WHSE-001~
N3*500 COMMERCE DRIVE~
N4*CHARLOTTE*NC*28201~
LIN*001*UP*012345678901*VN*SKU-A100~
QTY*QH*450*EA~
QTY*QA*320*EA~
QTY*QC*130*EA~
DTM*097*20260310~
LIN*002*UP*012345678902*VN*SKU-B200~
QTY*QH*80*EA~
QTY*QA*30*EA~
QTY*QC*50*EA~
DTM*097*20260310~
LIN*003*UP*012345678903*VN*SKU-C300~
QTY*QH*1200*EA~
QTY*QA*900*EA~
QTY*QC*300*EA~
DTM*097*20260310~
CTT*3~
SE*22*0001~
GE*1*1~
IEA*1*000000001~
In this example, SKU-B200 shows only 30 units available. A VMI system would flag this for immediate replenishment.
Best Practices for 846 Accuracy and Frequency
Timing
- Daily updates are the standard for most retail and distribution partners
- Real-time or near-real-time updates matter for drop-ship programs where a customer is waiting on product availability
- Weekly may be acceptable for slow-moving inventory categories, but check your trading partner agreements
Data Quality
- Sync with your WMS: Pull inventory data directly from your warehouse management system, not from a secondary database that might be stale
- Include all locations: If you ship from multiple warehouses, report inventory by location using separate N1*WH segments
- Use the right qualifiers: Do not report on-hand (QH) when your partner needs available (QA). They are not the same number.
- Timestamp everything: Always include DTM segments so your partner knows how fresh the data is
- Validate before sending: Use the EDI Inspector to check your 846 structure and catch formatting errors before they reach your trading partner
Common Mistakes
- Sending stale data: Reporting yesterday's inventory as today's count. Always use current data.
- Missing negative adjustments: Forgetting to deduct pending orders from available quantity.
- Wrong unit of measure: Reporting cases when your partner expects eaches, or vice versa.
- Skipping zero-quantity items: If a product is out of stock, send it with QTYQA0*EA. Do not just omit it. Your partner needs to know it is at zero.
Integrating the 846 with Your Order Management System
The real value of the 846 comes when it connects to your broader supply chain order management workflow. Here is what that looks like in practice:
- Inbound 846 processing: Parse incoming inventory reports from suppliers and update your available-to-promise engine
- Outbound 846 generation: Pull current stock from your WMS and generate 846 documents on a schedule
- Threshold alerts: Trigger purchase orders automatically when a supplier's 846 shows stock dropping below your reorder point
- Multi-partner routing: Different trading partners may require different formats, frequencies, and inventory types
OrderSync handles all of these scenarios. It processes EDI 846 transactions alongside your other order formats and keeps inventory data flowing between your systems and your trading partners without manual intervention.
FAQ
How often should I send an EDI 846?
Most trading partners expect daily inventory updates. For drop-ship or e-commerce fulfillment, you may need to send updates multiple times per day or even in near-real-time. Check your trading partner's implementation guide for their specific requirements. When in doubt, more frequent is better than less frequent.
What is the difference between an 846 Inquiry and an 846 Advice?
The BIA02 element controls this. An Inventory Advice (SI) is a proactive report: you are telling your partner what you have. An Inventory Inquiry (SW) is a request: your partner is asking you to report your stock levels. In practice, most 846 usage is the Advice type, where suppliers push inventory data to buyers on a schedule.
Can I include multiple warehouse locations in one 846?
Yes. Use separate N1*WH (warehouse) loops for each location. Each warehouse section contains its own LIN/QTY segments so your trading partner can see inventory by facility. This is especially important for buyers who need to route orders to the nearest warehouse with available stock.
How does the 846 differ from the 852 Product Activity Data?
The 846 reports current inventory positions (what you have right now). The 852 reports product activity over time, like sales data, transfers, and adjustments. Think of the 846 as a snapshot and the 852 as a history. VMI programs often use both: the 846 for current stock levels and the 852 for demand patterns.
Testing and Validation
Before going live with your 846 implementation, validate your documents thoroughly:
- Upload test 846 files to the EDI Inspector to verify segment structure and element formatting
- Confirm that your quantity qualifiers match what your trading partner expects
- Test with zero-quantity scenarios and multi-location reports
- Verify that DTM dates are current and formatted correctly (CCYYMMDD)
Related Transaction Sets
- 850 Purchase Order - Orders placed based on 846 inventory data
- 856 Ship Notice (ASN) - Advance shipping notification after order fulfillment
- 810 Invoice - Request for payment after delivery
- 997 Functional Acknowledgment - Receipt confirmation for any EDI transaction
Need Help?
Use the EDI Inspector to validate your 846 documents, or visit OrderSync to see how automated inventory reporting fits into your order management workflow.