EDI 940 and 945: How Brands and 3PLs Exchange Warehouse Orders

Last updated: October 7, 2026 · Independent buyer’s guide · We do not sell rankings or coverage.

An EDI 940 warehouse shipping order is the X12 message a brand (the “depositor”) sends to its warehouse or 3PL to tell it what to ship, to whom, how and when. The warehouse answers with an EDI 945 warehouse shipping advice that confirms what actually left the building, which X12 says is used to reconcile order quantities with shipment quantities. Together they replace emailed pick tickets between your ERP and the 3PL’s warehouse management system (WMS).

Key takeaways

  • The 940 goes from brand to warehouse; the 945 comes back from warehouse to brand. Your ERP should post the shipment and invoice from the 945, not from the 940.
  • Common 940/945 failures include mismatched item identifiers and PO numbers between your ERP and the 3PL’s WMS.
  • A full 3PL setup can also include the 846, 943, 944, 947 and 997.
  • For retail orders, 945 data feeds your 856 ASN and 810 invoice, so an incomplete 945 can lead to chargebacks.
  • Published pricing is rare: Rand Group lists $135 per 3PL partner per month for Business Central, Orderful lists integrated plans from $399 per month, and SPS Commerce and Cleo quote on request.

What the 940 and 945 are

X12, the body that maintains the standard, describes the 940 as a transaction set that lets “the depositor or other business party to advise a warehouse to make a shipment, confirm a shipment, or modify or cancel a previously transmitted shipping order.” It describes the 945 as the warehouse’s way to advise the depositor that a shipment was made, adding that “it is used to reconcile order quantities with shipment quantities” (X12, no date shown).

The 940 is not a purchase order. Orderful, an EDI vendor, describes the chain: the supplier receives an 850, generates a 940 for the 3PL, receives a 945 after shipment and then uses the 945 data to build the 856 ASN and 810 invoice for the retailer (Orderful, March 2, 2026).

The full brand-to-3PL document set

A 3PL connection can involve several more documents. Extensiv, which sells the 3PL Warehouse Manager WMS, lists the 832, 846, 940, 943, 944, 945 and 997 as the transaction sets it handles for EDI clients, and says it also accepts CSV, tab-delimited, XML and API formats (Extensiv, May 21, 2026). The table summarizes X12’s descriptions.

Transaction set Usual direction What it does
940 Warehouse Shipping Order Brand to 3PL Orders, changes or cancels a shipment
945 Warehouse Shipping Advice 3PL to brand Confirms shipment; reconciles ordered and shipped quantities
943 Warehouse Stock Transfer Shipment Advice Brand to 3PL Advises the warehouse of inbound stock
944 Warehouse Stock Transfer Receipt Advice 3PL to brand Confirms what was received
846 Inventory Inquiry/Advice 3PL to brand Reports inventory held at a location
947 Warehouse Inventory Adjustment Advice 3PL to brand Reports quantity or status changes to inventory
997 Functional Acknowledgment Both ways Reports the results of syntax checks on a file

X12 states that the 997 “does not cover the semantic meaning” of the documents it acknowledges. A 997 proves the 3PL’s translator accepted your 940, not that the WMS created an order, so you still need to watch for orders with no 945.

What is inside a 940

In the X12 008020 release as published by Stedi, the 940 heading starts with the W05 Shipping Order Identification segment. W05-01 is the mandatory order status code, and W05-02 is the mandatory depositor order number, which is your order reference in the 3PL’s system. W05-03 carries the customer’s purchase order number (Stedi, no date shown). The status code values include N for original, R for change and F for cancel (Stedi, no date shown).

The N1 loop names the parties and G62 carries requested dates. W66 carries transportation instructions: the mandatory payment and transportation method codes, plus routing and the carrier’s SCAC (Stedi, no date shown). Each line holds a W01 segment with the mandatory quantity and unit of measure, item identifiers and an optional lot number (Stedi, no date shown).

What is inside a 945

The 945 opens with W06 Warehouse Shipment Identification. Only W06-01, the reporting code, is mandatory in the standard, so check which of the depositor order number, ship date, shipment ID and PO number your 3PL’s guide makes mandatory (Stedi, no date shown). W27 confirms the carrier and routing used (Stedi, no date shown).

The detail area is where reconciliation happens. Each line can carry MAN marks and numbers, typically the SSCC from the label, and a W12 segment with a mandatory status code, quantity ordered, units shipped, quantity difference and lot number (Stedi, no date shown). Status codes include CC for shipment complete, CP for a partial shipment with no backorder, BP for a partial shipment with the balance backordered and IC for an item canceled (Stedi, no date shown).

Field requirements vary by 3PL. Orderful advises that each trading partner’s implementation guide is the primary source of truth, because what one warehouse treats as mandatory another treats as optional (Orderful, March 2, 2026).

How the 940 and 945 flow between ERP and WMS

  1. Order capture. An 850, web order or keyed order becomes a sales order in your ERP.
  2. Release. The ERP creates a fulfillment record and your EDI provider maps it to a 940.
  3. Acknowledgment. The 3PL returns a 997 and the WMS imports and allocates the order.
  4. Pick, pack and ship. The warehouse picks, labels and hands freight to the carrier.
  5. Confirmation. The WMS sends a 945 with shipped quantities, tracking or BOL numbers, lots and container IDs.
  6. Posting. Your ERP matches the 945 to the order, posts the shipment (relieving inventory and recording cost of goods sold) and triggers the 856 and 810.
  7. Inventory sync. 846 snapshots and 947 adjustments keep ERP on-hand in line with the warehouse.

Step 6 is the accounting point. If your ERP invoices or relieves inventory when the 940 is sent, every short shipment overbills the customer.

Where 940 and 945 exchanges go wrong

Item and unit mismatches

Orderful notes that if the 850 uses UPCs but the warehouse expects vendor item numbers or GTINs, the 940 must carry the identifier the warehouse recognizes (Orderful, March 2, 2026). Units of measure cause the same error, since 10 cases read as 10 eaches ships 10 eaches.

Routing and PO number gaps

Orderful lists missing routing and missing PO numbers among common 940 validation failures, and says the PO number must match the 850 exactly, including leading zeros (Orderful, March 2, 2026). Routing that ignores a retailer’s routing guide leads to the fines covered in our guide to retail chargebacks.

Changes and cancellations after release

The standard allows a 940 with status R (change) or F (cancel), but a WMS that has started picking may reject it. Agree in writing how late changes are accepted and who pays to restock a picked order.

Incomplete 945 data

Orderful states that if the SSCC in the 945 is missing or does not match the physical label, the 856 fails at the retailer, and that lot numbers may arrive in W12 or N9 depending on the warehouse (Orderful, March 2, 2026). Our guide to the EDI 856 advance ship notice explains why the label and ASN must match.

Inventory drift

If 947 adjustments or 846 snapshots are not imported, your ERP shows stock the warehouse does not have, and orders come back short on the 945. A weekly comparison of the 846 against ERP on-hand, by SKU and lot, catches this early.

Worked example

Illustration (invented figures): a brand sends its 3PL a retailer order for 1,200 units across three SKUs.

  • The 940 carries W05-01 = N, the brand’s order number, the retailer PO and W01 lines of 600, 400 and 200 eaches.
  • The 3PL finds only 350 of the second SKU. Its 945 reports lines one and three as CC and line two as CP with 350 shipped and a difference of 50. Total shipped: 1,150.
  • Posting from the 945, the ERP invoices 1,150 units at an illustrative $8.00, or $9,200, and the 856 lists 1,150.
  • Invoicing from the 940 would bill 1,200 units ($9,600) for 1,150 received, and the $400 gap would likely return as a deduction.
  • The 50-unit gap also means the ERP believed in stock the WMS did not have, which points to a missed 947 or 944 discrepancy.

How software handles the 940 and 945

Three systems are involved: your ERP, an EDI translator or network, and the 3PL’s WMS. In the options we reviewed, an EDI app or provider does the X12 mapping, not the ERP itself.

Full-service EDI networks

SPS Commerce sells a brand-side 940/945 service and a separate 3PL offering covering EDI, APIs, portals and labels, with WMS partners including Deposco, Softeon, Extensiv and Logiwa (SPS Commerce, September 8, 2025; SPS Commerce, February 26, 2026). Its strength is pre-built connections; pricing is quote-only.

Cleo sells Cleo Integration Cloud with self-service, managed or blended service models, offers a 3PL Central connector and does not publish prices (Cleo, no date shown).

Orderful is an API-based EDI platform. Its NetSuite documentation covers 940s sent to the 3PL and 945s returned with tracking (Orderful, updated January 29, 2026).

ERP apps

For Microsoft Dynamics 365 Business Central, EDI 365 (listed by Rand Group, a Microsoft partner) supports the 940, 945 and 947 for 3PLs and cross-docks (Rand Group, page modified September 17, 2026). Documents stay inside Business Central workflows, but the app serves only that ERP.

3PL-side WMS

Extensiv 3PL Warehouse Manager receives 940s and sends 945s. Extensiv says prebuilt connections take about 6 to 8 weeks and custom ones 10 to 12 weeks including testing, and that pricing depends on complexity and document types (Extensiv, May 21, 2026). If you are a 3PL, ask each WMS vendor whether EDI is native or partner-delivered and how it is billed. Our warehouse management software research center covers WMS selection.

What it costs

Provider Published price Notes
EDI 365 for Business Central (Rand Group) $135 per 3PL trading partner per month; $2,000 one-time setup Unlimited 3PL document volume; 3PL onboarding priced per project
Orderful Web EDI $189 per partner per month; integrated from $399 per month Enterprise pricing for more than 20 partners
Zenbridge From $450 per month for 1,000 transactions and 3 partners $15 per extra partner per month; VAN costs extra if needed
Extensiv Integration Manager (with SPS) $900 to $1,500 setup per retailer connection Excludes SPS Commerce fees
SPS Commerce, Cleo Not published Quote on request

Sources: Rand Group, September 17, 2026; Orderful, no date shown; Zenbridge, no date shown; Extensiv, September 11, 2025. Every provider listed sells the product described. Ask your 3PL whether it adds its own EDI setup or per-document fees to the warehouse rate sheet.

Our independent take

The X12 segments are stable and well documented, so translation is rarely the hard part. The work that decides whether your 940/945 link runs cleanly is agreeing item identifiers, units of measure, ship-to codes, change and cancel rules, and which 945 fields carry lots and SSCCs before testing starts. Choose a provider that can show a 945 with a partial shipment posting correctly into your own ERP test company. We do not name an overall winner: Business Central users have a priced, embedded option, retail-heavy brands benefit from a large pre-built network, and API-first teams may prefer a platform that publishes its pricing.

Three buyer scenarios

A $12 million DTC and wholesale brand on Business Central moving to its first 3PL. An embedded app such as EDI 365 keeps 940s and 945s inside your ERP at a published cost. Require 846 and 947 support from day one.

A $70 million consumer goods supplier on NetSuite shipping to big-box retailers from two 3PLs. Your 945 must carry SSCCs and lots good enough to build compliant 856s. Test how each provider passes 945 container data into the ASN without retyping.

A regional 3PL onboarding ten new brand clients a year. Your cost driver is onboarding time per client. Ask your WMS and EDI partners for per-connection pricing and realistic timelines; Extensiv cites 6 to 8 weeks for a prebuilt connection.

When you do not need dedicated software for this

If you ship a few dozen orders a month and your 3PL offers a portal or CSV upload, EDI may cost more than it saves. Extensiv, for example, accepts flat files and APIs as well as X12. EDI becomes worth it when volume, retail compliance or multiple warehouses make manual uploads a daily source of errors.

How we researched this

We read X12’s transaction set descriptions and Stedi’s X12 008020 reference. We reviewed implementation and pricing documentation from Orderful, Extensiv, SPS Commerce, Cleo, Rand Group and Zenbridge. We also read the top search results for “EDI 940 warehouse shipping order,” mostly vendor glossary pages, and focused on the posting logic, errors and costs they leave out.

Related guides

Frequently asked questions

What is the difference between an EDI 940 and an EDI 850?

An 850 is a purchase order from a buyer to a seller. A 940 is an instruction from the owner of the goods to its warehouse to ship them.

Who sends the 945, and when?

The warehouse or 3PL sends the 945 to the brand after the order ships. Your ERP should post the shipment and invoice from it.

Is a 945 the same as an 856 ASN?

No. The 945 goes from the warehouse to the brand, while the 856 goes from the brand (or its warehouse acting for it) to the customer. Brands often build the 856 from 945 data.

How do I cancel or change a 940 after sending it?

Send a new 940 with order status code F to cancel or R to change in W05-01, using the same depositor order number. Confirm with your 3PL how late it accepts changes, because a WMS that has started picking may reject them.

Does my 3PL have to send an 846?

Only if your agreement says so. The 846 reports inventory at the warehouse, and the 947 reports adjustments. Without them, ERP stock drifts from the warehouse.

Sources

  • X12, Transaction sets (940, 943, 944, 945, 846, 947, 997), no date shown. x12.org
  • Stedi (EDI vendor), X12 008020 940 Warehouse Shipping Order, no date shown. stedi.com
  • Stedi, X12 008020 945 Warehouse Shipping Advice, no date shown. stedi.com
  • Stedi, segments W05, W06, W01, W12 and W66 and elements 473 and 368, no date shown. W05, W06, W01, W12, W66, 473, 368
  • Orderful (EDI vendor), 940 and 945 validation errors and field requirements, updated March 2, 2026. support.orderful.com
  • Orderful (EDI vendor), 3PLs and 900-series transactions, updated January 29, 2026. docs.orderful.com
  • Orderful (EDI vendor), Pricing, no date shown. orderful.com
  • Extensiv (WMS vendor), Getting started with an EDI integration, May 21, 2026. help.extensiv.com
  • Extensiv (WMS vendor), SPS Commerce project pricing, September 11, 2025. help.extensiv.com
  • SPS Commerce (EDI vendor), Warehouse services, page modified September 8, 2025. spscommerce.com
  • SPS Commerce (EDI vendor), SPS for 3PLs, page modified February 26, 2026. spscommerce.com
  • Cleo (EDI vendor), EDI pricing, no date shown. cleo.com
  • Cleo (EDI vendor), 3PL Central EDI integration, no date shown. cleo.com
  • Rand Group (Microsoft partner selling the app), EDI 365 for Business Central, page modified September 17, 2026. randgroup.com
  • Zenbridge (EDI vendor), EDI pricing, no date shown. zenbridge.io
Sherman Hsieh: Sherman Hsieh is the founder, CEO, and editor-in-chief of Business-Software.com. He leads the site's independent, buyer-focused coverage of ERP, CRM, and other business systems, including vendor-neutral comparisons, pricing analysis, and implementation guidance. Before founding Business-Software.com, Sherman was an executive at Siebel Systems. He has firsthand experience with how enterprise software is sold and implemented. He attended UC Berkeley.