EDI documents
EDI 945 Warehouse Shipping Advice
The EDI 945 is the warehouse's report back to the company that owns the goods: which order shipped, on which date and truck, and how many units per line. It answers the 940 shipping order, and it is the data the supplier's 856 ship notice is built from. This page covers the segments, a sample with its counts, the envelope and how two published guides differ.
Updated
What is an EDI 945?
The EDI 945 is the X12 transaction set Warehouse Shipping Advice. The X12 purpose statement says it "can be used by the warehouse to advise the depositor that shipment was made" and that "it is used to reconcile order quantities with shipment quantities." The depositor is the company that owns the stock: a manufacturer or brand that stores its goods at a third-party logistics warehouse (3PL) or at its own outside warehouse. There is no established EDIFACT equivalent.
The 945 answers the 940 Warehouse Shipping Order. The depositor sends the 940 to say what to ship and where; the warehouse sends the 945 once the truck is loaded. Its functional group code in GS01 is SW. It is one of the EDI documents that never reach the retailer, yet a retailer's ship notice depends on it.
Where the 945 sits in the order-to-cash flow
The example order used on our document pages, PO 4500018236, shows the chain. The retailer ordered 24 and 16 units, the supplier confirmed 24 and 12, and a 3PL ships the goods.
| Step | Document | From, to | What it carries for PO 4500018236 |
|---|---|---|---|
| 1 | 850 purchase order | Retailer to supplier | 24 and 16 units ordered |
| 2 | 855 acknowledgment | Supplier to retailer | 24 and 12 confirmed |
| 3 | 940 shipping order | Supplier to 3PL | Depositor order SO-77120, 24 and 12 units |
| 4 | 945 shipping advice | 3PL to supplier | Both lines shipped complete, one carton, its SSCC |
| 5 | 856 ship notice | Supplier to retailer | 36 units in one carton, built from the 945 |
| 6 | 810 invoice | Supplier to retailer | Bills the 36 units the 856 reported |
Each of these files is answered by a 997 functional acknowledgment, so the 945 adds two transaction sets to the order: the 945 itself and its 997.
The segments of a 945
In X12 004010 the 945 has two mandatory segments after ST: W06 in the heading and the N1 name loop, which repeats up to 10 times. Everything about the goods sits in the detail loop LX, with W12 lines under it, and W03 carries the totals.
| Segment | Name | What it carries | What goes wrong |
|---|---|---|---|
| W06 | Warehouse Shipment Identification | W0601 reporting code (F full detail), W0602 depositor order number (1 to 22), W0603 actual ship date, W0604 shipment ID (1 to 30), W0606 PO number | A W0602 that is not an open 940 order, so the shipment cannot be matched |
| N1 | Name | Ship from, ship to, warehouse or depositor, with a code | Ship-to code from the warehouse's table instead of the depositor's |
| N9 | Reference Identification | BM bill of lading, SN seal number | The bill of lading is missing, so the 856 goes out without REF*BM |
| G62 | Date/Time | 11 shipped on this date, with a time and a time zone code | A time without a zone, read as the depositor's local time |
| W27 | Carrier Detail | W2701 transport method, W2702 SCAC, W2703 routing or trailer | A SCAC that differs from the routed carrier |
| LX | Assigned Number | Starts a detail loop, one per carton or pallet | Lines of two pallets merged under one LX |
| MAN | Marks and Numbers | GM plus application identifier 00 and the SSCC | An SSCC that is not on the label of that carton |
| W12 | Warehouse Item Detail | W1201 status, W1202 ordered, W1203 shipped, W1204 difference, W1205 unit, item ID | Units in another unit of measure than the 940 |
| W03 | Total Shipment Information | W0301 units shipped, W0302 weight, W0303 unit | A total that is not the sum of the W12 lines |
W1201 is a code from the X12 list of 102 shipment and order statuses. CC is "Shipment Complete on (Date)", PR is "Partial Shipment", CP is "Partial Shipment on (Date), Considered No Backorder". At least one of W1206 (a 12-character U.P.C. case code) or W1207 (a product ID qualifier with the ID in W1208) has to be present.
A sample 945, with delimiters
This is the 945 the 3PL sends for depositor order SO-77120: one carton with two items, 24 units of item 10482 and 12 of item 10499. Elements are separated by *, segments end with ~.
ST*945*0001~
W06*F*SO-77120*20261003*SH0004821**4500018236~
N1*SF*LAKESIDE LOGISTICS*91*WH02~
N1*ST*HARBOR RETAIL DC 07*92*0007~
N9*BM*BOL7730042~
G62*11*20261003*A*0915*ET~
W27*M*ABCD*TRL5521~
LX*1~
MAN*GM*00006141410000482917~
W12*CC*24*24*0*EA**VN*10482*********PL*000001~
W12*CC*12*12*0*EA**VN*10499*********PL*000002~
W03*36*18.4*LB~
SE*13*0001~
W03 holds 24 plus 12, which is 36 units, at 18.4 pounds. From ST to SE there are 13 segments, so SE01 is 13, and SE02 repeats the control number 0001. In each W12 the item is the supplier's number (W1207 VN), and nine element separators after W1208 skip W1209 to W1216 to reach W1217 PL with the six-digit line number of the 940. W1204 is 0 on both lines, so no reason code is needed.
Every value the 856 needs is here: the shipment ID SH0004821 becomes BSN02, the bill of lading becomes REF*BM, the SCAC goes to TD5, the SSCC to MAN at the pack level and the quantities to SN1. The 856 page carries the same order as an 856 sample.
The envelope around it
ISA*00* *00* *ZZ*LAKESIDE3PL *ZZ*NORTHFIELD *261003*0920*U*00401*000000731*0*P*>~
GS*SW*LAKESIDE3PL*NORTHFIELD*20261003*0920*731*X*004010~
ST*945*0001~
SE*13*0001~
GE*1*731~
IEA*1*000000731~
The sender is the warehouse and the receiver is the depositor. ISA06 is padded with spaces to 15 characters, the interchange control number 000000731 comes back in IEA02, and the group control number 731 in GE02. GE01 counts 1 transaction set and IEA01 counts 1 group. ISA15 is P for production and T for test. W06 holds one depositor order number, so each order gets its own ST to SE inside the group.
Who asks for the 945, and how the guides differ
The 945 is asked for by the depositor, not by the retailer. Manufacturers publish guides for the warehouses that ship for them. Two public ones, both X12 004010, checked on 3 October 2026:
| Element | Hershey, published 2/7/2023 | Simplot, modified 6/7/2022 |
|---|---|---|
| Parties | N1 SF and ST, qualifier 91 | N1 WH and DE, the depositor by DUNS+4 |
| Carrier | W27 with SCAC, trailer number in W2703 | W27 SCAC and routing not used; equipment initial and number mandatory |
| Item | W1207 VN, a 13-digit material number, and the 940 line in W1217 PL | W1207 UK, the 14-digit case GTIN, lot in W1209 |
| Pallets and lots | MAN*GM only for customers that require carton marking |
N9*LV per pallet with its SSCC, N9*PC production code, N9*LI line |
| Short shipment | W1219 required when W1204 is not 0; 10 reason codes | W1219 with 2 codes: 01 out of stock, 02 cut due to cube or weight |
A warehouse that ships for both writes two maps for the same transaction set. Kroger shows the other direction: its own 940 map (version 5010, modified 3/17/2025) sends orders to consolidation warehouses, with the depositor order number in W0502 and parties by DUNS+4.
What goes wrong and what it costs
The retailer never receives the 945, so no retailer schedule names it. The cost arrives one step later, in the 856 and the 810 that are built from it.
- A late 945. Kroger requires the ASN at least 90 minutes before the truck arrives. A truck that leaves at 10:05 for a 2-hour drive arrives at 12:05, so the 856 is due at 10:35. A warehouse that sends its 945s in an hourly batch at 11:00 makes the 856 25 minutes late before anything is mapped.
- A short line without a reason. Line 2 ships 10 of 12: W1203 is 10, W1204 is 2, and Hershey's guide requires W1219, for example 01. The 856 then reports 34 units and the 810 bills 34, not the 36 confirmed in the 855.
- Another unit of measure. The 940 orders line 1 as 24 eaches. A 945 that returns 24 with W1205
CAinstead ofEAreads as 24 cases; at 12 per case that is 288 units. Hershey's guide states the rule: the same unit of measure as received on the 940. - Lots split over lines. Simplot's sample ships its line 1000 from two production codes as two W12 loops of 72 cases. Summed per line that is 144, plus 96 on line 2000, and W03 shows 240. A parser that keeps one W12 per line keeps 72.
- Data in a nonstandard place. Simplot carries the quantity per pallet in N903, which X12 defines as a free-form description. A generic parser drops it.
- A missing separator. In the second W12 of Simplot's own sample the empty W1204 is missing, which moves
CAinto W1204 and every element after it one place to the left. A file built that way fails validation or is mis-read. - The same 945 twice. A resend for SO-77120 that is posted again ships the order a second time in the ERP. The pair of W0602 and W0604 identifies the shipment and has to be checked before posting.
Handling the 945 on the ERP side
The 945 becomes the shipment record of the sales order. In NetSuite that is the item fulfillment, created from the sales order with the shipped quantity per line. In Business Central it is a posted sales shipment; the standard API v2.0 reads posted shipments but has no call that posts a shipment alone, because the one bound action on a sales order, shipAndInvoice, ships and invoices together. The NetSuite EDI integration page has the record mapping for NetSuite.
We build the 940 and 945 as part of an EDI integration to your ERP and your warehouse: the 940 goes out with the line numbers the 945 has to return, the 945 is checked against it per line, unit and lot, and the 856 is built from the checked 945 the moment it arrives. A 945 with an unknown order, a quantity above the order or a unit that does not match is held and shown in the dashboard with the reason, before a ship notice is built from it. Tell us which warehouse and partners you work with.
Frequently asked questions
What is the difference between the EDI 945 and the EDI 856?
The 945 goes from the warehouse to the depositor, the company that owns the goods, and reports what the warehouse shipped against a 940. The 856 goes from the supplier to its customer and announces what is on the way against the customer's purchase order. When a 3PL ships, the 945 is the source of the 856: the cartons, quantities and SSCCs in the ship notice come from it.
Is the 945 a response to the 940?
Yes. The 940 Warehouse Shipping Order asks the warehouse to ship, and the 945 reports that it did. The depositor order number from W0502 of the 940 comes back in W0602 of the 945, and a published guide such as Hershey's also asks for the 940 line number on every W12 line, so each shipped line can be matched to the line that was ordered.
Is there an EDIFACT equivalent of the 945?
There is no established one. Pairings between X12 numbers and EDIFACT messages are industry convention, not an official crosswalk, and for the 945 none is settled. The EDIFACT message that is paired with the 856 is the DESADV.
What happens when the warehouse ships less than the 940 asked for?
The W12 line carries the shipped quantity in W1203 and the shortfall in W1204, and guides that care about the reason ask for a line item change reason code in W1219, such as 01 for out of stock. The supplier then has to send an 856 and an 810 for the quantity that shipped, not for the quantity it confirmed in the 855.
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