EDI 870 - Order Status Report
The EDI 870 gives buyers proactive visibility into the status of open orders - shipping progress, back-order situations, expected release dates, and partial fulfillment details - without requiring a phone call or portal login.
✦ What It Does
The EDI 870 Order Status Report is a supplier-to-buyer communication that reports the current fulfillment state of one or more open purchase orders. Unlike the 855 (which responds immediately to a new PO) or the 856 (which fires at shipment), the 870 is a mid-cycle document - it communicates what's happening with an order that's been acknowledged but not yet shipped. Common scenarios include back-order updates, partial shipment notifications before the 856 is ready, expected ship date revisions, and confirmations that orders are on track.
The 870 opens with a BSR (Beginning Segment for Order Status Report) that establishes the report date, the referenced PO, and the status type. The body uses a hierarchical structure similar to the 850 - PO1 loops for individual line items, each with status codes (STS segments) that indicate the disposition: OS (open, awaiting shipment), BO (back-ordered), PS (partially shipped), CA (canceled), or SH (shipped, not yet received). For back-ordered lines, DTM segments within the PO1 loop carry the estimated availability or expected ship date.
The 870 is less commonly implemented than documents like the 855 and 856, but it provides significant operational value in specific trading relationships. For buyers managing large catalogs with variable lead times - distributors, online retailers, and specialty retailers - automated 870 reports replace dozens of daily order status inquiries. Suppliers who proactively transmit 870s reduce inbound buyer contacts significantly, as the status information is automatically pushed to the buyer's order management system rather than requiring manual lookup.
⚡ When It's Triggered
- A supplier's inventory system detects that a line item on an open PO is on back-order and auto-generates a 870 with a BO status code and estimated restock date, preventing the buyer from being surprised at the DC.
- A buyer's system sends an 869 (Order Status Inquiry) asking for current status on multiple open POs, and the supplier's system responds with an 870 covering all inquired orders.
- A scheduled daily report job generates 870s for all open orders where the expected ship date is more than 2 days out, providing the buyer's buyer/planner with a consolidated status update.
- A partial shipment is being prepared - the supplier transmits a 870 with PS status for partially-shipped lines and a projected ship date for the remainder, before the 856 for the partial shipment is generated.
- An eCommerce or marketplace buyer needs SKU-level status on drop-ship orders to update consumer-facing estimated delivery dates - the 870 feeds that data into the marketplace's customer communication system.
Who Uses EDI 870
Retail Buyers
Retail buyers managing hundreds of open POs rely on 870s to proactively identify at-risk orders before the delivery window closes. A buyer responsible for 300 SKUs across 50 vendors cannot call each vendor daily for status - the 870 automates that information flow. When integrated into the buyer's OMS, 870 status codes trigger exception workflows: a back-order code on a promotional item may trigger a buyer alert and a 860 cancellation before the event date passes.
eCommerce & Marketplaces
Drop-ship programs depend on 870s for customer experience management. When a marketplace shows a consumer "Ships in 3-5 days" based on a supplier's committed lead time, and the supplier's 870 later indicates the item is back-ordered for 3 weeks, the marketplace needs that update in time to communicate with the consumer and avoid a negative review or cancellation request.
Distribution
Distributors purchasing from manufacturers use 870s to update their downstream customer commitments. If a distributor has promised a hospital system delivery by Friday and a manufacturer's 870 indicates back-order through the following Tuesday, the distributor can source from an alternative supplier or communicate a revised delivery date before the customer escalates to a formal complaint or chargeback.
Manufacturing Buyers
Manufacturers purchasing components use 870s from component suppliers to update their production schedules. A MRP system that receives 870 back-order notifications can reschedule dependent production operations, avoiding a situation where a production line is staffed and set up for an assembly that can't happen because a key component hasn't arrived.
Key Segments & Data Elements
BSR: Beginning Segment for Order Status Report
Opens the 870. BSR01 = status request code: 00 = original report, 01 = status report on specific orders (in response to an 869). BSR02 = reference identification (the report's own reference number). BSR03 = date of report. BSR04 = description (free-form context about this batch of status updates, e.g., "Weekly status report - all open POs as of [date]").
REF: PO Reference
At the order level, REF-PO carries the buyer's PO number being reported on. REF-SI = shipment identification if a partial 856 has already been sent for this order. REF-VR = vendor order number (the supplier's internal sales order number). Including the vendor order number allows the buyer's procurement team to cross-reference the supplier's ERP system during verbal follow-up conversations.
PO1: Line Item Status
One PO1 loop per line being reported. PO101 = original line number from the 850. PO102 = quantity open (not yet shipped). PO103 = UOM. Alternatively, PO102 may carry the shipped quantity when the status is PS or SH, and separate QTY segments break out the open vs. shipped quantities for clarity. PO104/105 carry price information, which should match the 855 acknowledged price.
STS: Status
The core status segment within each PO1 loop. STS01 = industry code qualifier. STS02 = status code: 0S = open order, BO = back-order, PS = partially shipped, CA = canceled, SH = shipped, DL = delivered, HD = hold. STS03 = reason code for BO or HD status. STS04 = status date. Multiple STS segments can appear per PO1 for complex status combinations (e.g., some units shipped and some back-ordered).
DTM: Dates
Critical for back-order and partial shipment scenarios. DTM010 = expected ship date (when will the back-ordered quantity ship). DTM035 = promised delivery date. DTM002 = requested delivery date (echoed from the 850 for reference). When a 870 reports BO status on a line but lacks a DTM010 date, the buyer must follow up manually to get an estimated availability - the 870 without dates is only marginally more useful than a phone call saying "it's back-ordered."
MSG: Status Notes
Free-form text providing context for unusual statuses. Common uses: "Back-ordered due to component shortage - expecting new production run [date]", "Partial ship of 50 units on [BOL number], remaining 25 units on back-order", "Item discontinued - please issue 860 cancellation or confirm acceptable substitute". MSG content feeds the buyer's exception queue for manual review and action.
Related Transaction Sets
Purchase Order
The orders being reported on in the 870. Each 870 references one or more PO numbers via REF-PO at the order level. The buyer's OMS matches incoming 870 status updates to open 850s by PO number and updates the order's status fields, triggering exception workflows for back-orders or anticipated late deliveries.
Purchase Order Acknowledgment
The 855 was the supplier's first response to the 850, confirming acceptance and initial ship date. The 870 is issued when circumstances change after the 855 - when what was acknowledged is no longer on track. Together, they give the buyer a complete picture of order intent (855) and current reality (870).
Ship Notice / Manifest (ASN)
When the 870 reports a back-order, the buyer waits for a future 856 (or a second 870 with SH status) to confirm the goods have shipped. The 856 closes the status loop that the 870 opened. For partial shipments, the sequence is: 870 (PS status) → 856 for partial shipment → 870 (remaining BO or SH) → 856 for remainder.
Need Help with EDI 870?
Better EDI handles 870 mapping, testing, and trading partner certification so you don't have to.
Talk to an EDI Expert