Skip to content
EDI 945 — EDI TransactionPublished May 8, 2026 · Updated Nov 4, 2026

EDI 945 Warehouse Shipping Advice Guide

EDI 945 explained: W06, W27, MAN, W12 and W03 segments, short-ship and backorder codes, three live 3PL examples, and how to reconcile 945s to the 940.

The EDI 945 is the warehouse telling you what actually left the building. You sent your 3PL a 940 shipping order for twelve shirts and four cases. The 945 comes back with what really shipped: twelve shirts, three cases, one case short with no backorder, four cartons, four tracking numbers. Everything downstream (the customer's shipping email, the retailer's ASN, the invoice, your inventory balance) runs on those numbers, not on the 940.

This guide covers what the 945 carries, where it sits in the 3PL document set, every segment you will map, three live examples (a parcel order with a short line, a carton-level LTL shipment and a daily batch), the W12 status codes that explain short shipments, and the errors that break reconciliation.

What Is an EDI 945?

An EDI 945 is the Warehouse Shipping Advice transaction set defined by the ASC X12 standards body. A warehouse (the custodian of the goods) sends it to the depositor (the owner of the goods) to confirm that a shipment was made, with the shipment's identifiers, carrier and line-by-line quantities.

Authoritative references for 945 work:

  • The X12 transaction set catalog defines the 945 and the rest of the warehouse series (940, 943, 944, 945, 947)
  • The Stedi X12 004010 reference for the 945 shows the segment order, loops and usage, and links to each segment's elements and code lists
  • Published 3PL mapping guides, such as Infoplus's 945 specification, show how much warehouses differ in where they put tracking numbers, item IDs and totals
  • Your warehouse's own 945 implementation guide governs. It sets the required segments, the qualifiers and the timing

Who sends it? The warehouse: a 3PL, a fulfillment center, or your own warehouse if it runs a separate warehouse management system.

Who receives it? The depositor: the brand, manufacturer or distributor that owns the stock and sent the 940.

When is it sent? After the order is picked, packed and handed to the carrier, usually once per order. Some warehouses send one file per order, others send a batch at the end of each shipping day.

Why does it matter? Until the 945 arrives you do not know what shipped. It is the source for tracking numbers, the 856 you owe a retail customer, the invoice quantity and the inventory you still have at the warehouse.

The 3PL Document Set

The 945 is one of five warehouse transaction sets. Each travels in its own functional group, with its own code in GS01.

SetNameDirectionGS01What it says
940Warehouse Shipping OrderDepositor to warehouseOWShip this order
945Warehouse Shipping AdviceWarehouse to depositorSWThis is what we shipped
943Warehouse Stock Transfer Shipment AdviceDepositor to warehouseARStock is on its way to you
944Warehouse Stock Transfer Receipt AdviceWarehouse to depositorREThis is what we received
947Warehouse Inventory Adjustment AdviceWarehouse to depositorAWYour stock changed for another reason

The 940 and 945 close the outbound loop. The 943 and 944 close the inbound loop. The 947 covers everything else. Your inventory at the warehouse should equal yesterday's balance plus 944 receipts, minus 945 shipments, plus or minus 947 adjustments, and an 846 inventory report from the warehouse is the check.

The 943 and the 945 share their header segment, W06. On the 943 it identifies an inbound transfer; on the 945 it identifies an outbound shipment.

How the 940 to 945 Loop Works

  1. Order arrives. A customer order reaches you as an EDI 850, a marketplace order, an email or a PDF, and lands in your ERP or order system.
  2. 940 goes out. You send the 940 to the warehouse with your order number in W0502, the ship-to, the requested ship date and the lines.
  3. Warehouse ships. The warehouse picks, packs, labels each carton with an SSCC-18, books the carrier and gets tracking numbers or a bill of lading.
  4. 945 comes back. The W06 header echoes your order number, the ship date and the warehouse's shipment ID. Each line reports ordered, shipped and the difference, with a status code.
  5. You acknowledge it. Your translator returns a 997 for the SW group.
  6. You act on it. Update the order, send the tracking to the customer, build the 856 ship notice and the 810 invoice if the customer is a retailer, and post the shipment against your inventory.

Step 6 is where the 945 earns its keep. If the 856 and invoice are built from the 940 instead, every short shipment becomes a retailer chargeback or a short-pay.

Interactive Example: Parcel Order With a Short Line

This 945 answers the 940 in our 940 guide: order ORD-78901234, twelve black tees and four cases of white tees, to Acme Customer in Austin. W06*F reports full detail, G62*11 gives the ship date and W27*U*UPSN names UPS parcel service, freight prepaid. Line 1 shipped complete (W12*CC) in one carton. Line 2 shipped 3 of 4 cases (W12*CP, a partial shipment with no backorder), each case its own carton. Every carton has a MAN segment carrying its SSCC-18 and, in the second qualifier pair, its carrier tracking number. W03 totals 15 units, 61.5 pounds and 4 cartons.

Use the Plain English tab for a readable summary, or click any segment to break it down element by element.

Live example3PL WarehouseEDI 945

3PL 945 Warehouse Shipping Advice (Parcel, One Short Line)

The 3PL confirms order ORD-78901234 from the 940 sample: W06 full detail, UPS parcel in W27, one SSCC-18 and tracking number per carton in MAN, line 1 shipped complete (W12 CC) and line 2 shipped 3 of 4 cases with no backorder (W12 CP)

Document
945 Warehouse Shipping Advice
From / to
WAREHOUSE456 → BRAND123
Segments
23
Ship To
ACME CUSTOMER INC
123 MAIN STREET, AUSTIN, TX, 78701
Interchange date
May 10, 2026

Raw EDI (X12)

1
ISA*00* *00* *ZZ*WAREHOUSE456 *ZZ*BRAND123 *260510*1430*U*00401*000000021*0*P*:~
2
GS*SW*WAREHOUSE456*BRAND123*20260510*1430*21*X*004010~
3
ST*945*0021~
4
W06*F*ORD-78901234*20260510*WHSE-SHIP-99821~
5
N1*ST*ACME CUSTOMER INC~
6
N3*123 MAIN STREET~
7
N4*AUSTIN*TX*78701*US~
8
G62*11*20260510~
9
W27*U*UPSN*UPS GROUND*PP~
10
LX*1~
11
MAN*GM*00008123456000001015**CP*1Z999AA10123456784~
12
W12*CC*12*12**EA**VN*BRAND-SKU-001~
13
G69*PERFORMANCE TEE BLACK MEDIUM~
14
LX*2~
15
MAN*GM*00008123456000001022**CP*1Z999AA10123456795~
16
MAN*GM*00008123456000001039**CP*1Z999AA10123456806~
17
MAN*GM*00008123456000001046**CP*1Z999AA10123456817~
18
W12*CP*4*3*1*CA*012345678912*VN*BRAND-SKU-002~
19
G69*PERFORMANCE TEE WHITE LARGE CASE OF 12~
20
W03*15*61.5*LB***4*CT~
21
SE*19*0021~
22
GE*1*21~
23
IEA*1*000000021~

Human-Readable

Interchange

Sender ID(ZZ)WAREHOUSE456
Receiver ID(ZZ)BRAND123
Date260510
Time1430
Standards IDU
Version00401
Control Number000000021
Acknowledgment RequestedNo
UsageProduction
Included Groups (IEA01)1

Functional Group

Functional IDSWSW
SenderWAREHOUSE456
ReceiverBRAND123
Date20260510
Time1430
Control Number21
Agency CodeX
Version004010
Transactions1
Reported Transaction Count (GE01)1

Transaction 945

Warehouse Shipping Advice
Transaction Type945
Control Number0021
Segments, ST to SE19
Count in SE0119 (matches)

Segment Detail

W06Warehouse Shipment Identification
W0601Reporting CodeF
W0602Depositor Order NumberORD-78901234
W0603Date20260510
W0604Shipment Identification NumberWHSE-SHIP-99821
N1Party Identification
N101Entity CodeST
N102NameACME CUSTOMER INC
N3Party Location
N301Address123 MAIN STREET
N4Geographic Location
N401CityAUSTIN
N402State/ProvinceTX
N403Postal Code78701
N404CountryUS
G62Date/Time
G6201Date Qualifier11
G6202Date20260510
W27Carrier Detail
W2701Transportation Method/Type CodeU
W2702Carrier SCACUPSN
W2703RoutingUPS GROUND
W2704Shipment Method of PaymentPP
LXAssigned Number
LX01Assigned Number1
MANMarks and Numbers
MAN01Marks QualifierGM
MAN02Marks and Numbers00008123456000001015
MAN04CP
MAN051Z999AA10123456784
W12Warehouse Item Detail
W1201Shipment/Order Status CodeCC
W1202Quantity Ordered12
W1203Number of Units Shipped12
W1205Unit of MeasureEA
W1207Product/Service ID QualifierVN
W1208Product/Service IDBRAND-SKU-001
G69Line Item Detail (Description)
G6901Item DescriptionPERFORMANCE TEE BLACK MEDIUM
LXAssigned Number
LX01Assigned Number2
MANMarks and Numbers
MAN01Marks QualifierGM
MAN02Marks and Numbers00008123456000001022
MAN04CP
MAN051Z999AA10123456795
MANMarks and Numbers
MAN01Marks QualifierGM
MAN02Marks and Numbers00008123456000001039
MAN04CP
MAN051Z999AA10123456806
MANMarks and Numbers
MAN01Marks QualifierGM
MAN02Marks and Numbers00008123456000001046
MAN04CP
MAN051Z999AA10123456817
W12Warehouse Item Detail
W1201Shipment/Order Status CodeCP
W1202Quantity Ordered4
W1203Number of Units Shipped3
W1204Quantity Difference1
W1205Unit of MeasureCA
W1206UPC Case Code012345678912
W1207Product/Service ID QualifierVN
W1208Product/Service IDBRAND-SKU-002
G69Line Item Detail (Description)
G6901Item DescriptionPERFORMANCE TEE WHITE LARGE CASE OF 12
W03Total Shipment Information
W0301Number of Units Shipped15
W0302Weight61.5
W0303Unit of MeasureLB
W03064
W0307CT
1 functional group1 transactionControl #000000021Valid

945 Structure at a Glance

The 945 in release 004010 has a header, a detail loop per shipped group, and one summary segment.

PositionSegmentNameUsageNotes
HeaderSTTransaction Set HeaderMandatoryST01 = 945
HeaderW06Warehouse Shipment IdentificationMandatoryReporting code, your order number, ship date, shipment ID, PO
Header loopN1 / N2 / N3 / N4 / PERName, address, contactMandatory, up to 10 loopsShip-to, warehouse, depositor, bill-to
HeaderN9Reference IdentificationOptional, up to 10Bill of lading, PRO, load, customer references
HeaderG62Date/TimeOptional, up to 511 shipped date; others as the guide requires
HeaderNTENote/Special InstructionOptionalFree text
HeaderW27Carrier DetailOptionalTransport mode, SCAC, routing, freight payment
HeaderW10Warehouse Additional Carrier InformationOptionalExtra carrier detail some guides use
HeaderG72Allowance or ChargeOptionalWarehouse charges, where the guide uses them
Detail loopLXAssigned NumberMandatory per loopStarts each group: a carton, a pallet or an order line, by guide
Detail loopMANMarks and NumbersOptional, repeatsSSCC-18, carrier package IDs
Detail loopPALPallet InformationOptionalPallet type and dimensions
Detail loopN9Reference IdentificationOptional, up to 5Group-level references such as tracking
Item loopW12Warehouse Item DetailMandatory per itemStatus, ordered, shipped, difference, unit, item IDs
Item loopG69Line Item Detail, DescriptionOptionalItem description
Item loopN9 / G62 / QTY / MEAReferences, dates, quantities, measurementsOptionalLot, serial, expiry and similar
SummaryW03Total Shipment InformationOptionalTotal units, weight, volume, lading quantity
SummarySETransaction Set TrailerMandatorySegment count and control number

Two things are not in that table. The 945 has no HL hierarchical loop: pallet-to-carton-to-item nesting belongs on the 856. And the 945 has no prices: it is a custody report, not an invoice.

Key Segments Explained

W06: Warehouse Shipment Identification

W06*F*ORD-78901234*20260510*WHSE-SHIP-99821~
ElementNameExampleWhat it means
W0601Reporting CodeFThe basis of the report. F = full detail
W0602Depositor Order NumberORD-78901234Your order number from W0502 on the 940. This is the matching key
W0603Date20260510The ship date, as CCYYMMDD
W0604Shipment Identification NumberWHSE-SHIP-99821The warehouse's shipment ID
W0605Agent Shipment ID NumberAn agent's or forwarder's reference, when there is one
W0606Purchase Order NumberThe end customer's PO, which you need for the 856 and invoice
W0607 / W0608Master Reference (Link) Number, Link Sequence NumberA master reference and sequence number, sent as a pair, when the warehouse's guide uses them to link related transactions

F (Full Detail) is the reporting code most 945 guides specify: every shipped line is reported. The 004010 list for this element also includes N (No Exceptions), X (Exceptions Only) and C (Customer Return, Full Detail), among others. Use the code your warehouse's guide names. If a guide lists N, ask whether the warehouse really sends a 945 with no line detail when nothing is short, because your reconciliation has to handle it.

N1 Loop: Parties

N1*ST*ACME CUSTOMER INC~
N3*123 MAIN STREET~
N4*AUSTIN*TX*78701*US~

At least one N1 is required. Most guides ask for the ship-to (ST), and many also want the warehouse (WH), the ship-from (SF) or the depositor (DE). For retail shipments the ship-to often carries a DC or store number in N103/N104, which you will need on the 856.

N9: References

N9*BM*BOL-22455013~
N9*CN*PRO-71530288~

N9 carries references at the header (up to 10), at each LX group and on each item. Common qualifiers on a 945:

QualifierNameTypical use
BMBill of Lading NumberLTL and truckload shipments
CNCarrier's Reference Number (PRO/Invoice)The LTL carrier's PRO number
2ITracking NumberParcel tracking, when the guide puts it in N9
08Carrier Assigned Package Identification NumberAnother place guides put parcel tracking
POPurchase Order NumberCustomer PO, when not in W0606
LTLot NumberAt item level, for lot-controlled goods

There is no single standard home for parcel tracking numbers. Some warehouses send them in N9 at the header or LX level, some in MAN against each carton (as in our examples), and some in both. Your warehouse's guide decides, and your map has to read from the right place.

G62: Date/Time

G62*11*20260510~

G6201 = 11 means "shipped on this date". Some guides add a time, an estimated delivery date (17) or an actual pickup date (86).

W27: Carrier Detail

W27*U*UPSN*UPS GROUND*PP~
ElementNameExampleWhat it means
W2701Transportation Method/Type CodeUU private parcel service, M motor (common carrier), LT less than trailer load, H customer pickup, A air
W2702Standard Carrier Alpha CodeUPSNThe carrier's SCAC. Required for most modes
W2703RoutingUPS GROUNDService level or routing text
W2704Shipment Method of PaymentPPPP prepaid, CC collect, TP third party
W2705 to W2707Equipment description, initial and numberTrailer details for truckload

Compare W27 with what the 940 asked for. A shipment that went out on a different carrier or service than the customer's routing guide required is a chargeback risk, and the 945 is your first chance to catch it.

LX and MAN: Shipped Groups and Carton Labels

LX*1~
MAN*GM*00008123456000001015**CP*1Z999AA10123456784~

LX starts each detail group. The standard does not say what a group is; the warehouse's guide does. One LX per carton (the most useful for building an 856), one per order line, or one per pallet are all common.

MAN carries the marks on the container. It has two qualifier and value pairs, so one segment can describe one physical carton two ways:

ElementNameExampleWhat it means
MAN01Marks and Numbers QualifierGMGM = SSCC-18 and application identifier, so the value starts with 00
MAN02Marks and Numbers00008123456000001015The carton's SSCC-18 with its 00 prefix
MAN03Marks and NumbersEnd of a range, when a range is sent
MAN04Marks and Numbers QualifierCPCP = carrier-assigned package ID
MAN05Marks and Numbers1Z999AA10123456784The tracking number for that carton

If you ship to retailers, these SSCC-18s are the ones printed on the GS1-128 labels, and the retailer's 856 must carry the same numbers. Taking them from the 945 instead of generating new ones keeps the labels and the ASN in step. Our SSCC label generator shows how the number and its check digit are built.

W12: Warehouse Item Detail

W12*CP*4*3*1*CA*012345678912*VN*BRAND-SKU-002~
ElementNameExampleWhat it means
W1201Shipment/Order Status CodeCPWhat happened to this line (codes below)
W1202Quantity Ordered4The quantity from the 940
W1203Number of Units Shipped3What actually shipped
W1204Quantity Difference1Ordered minus shipped
W1205Unit of MeasureCAEA each, CA case, and other X12 unit codes
W1206U.P.C. Case Code012345678912The 12-digit case code, when the line is identified by it
W1207 / W1208Product/Service ID Qualifier, IDVN, BRAND-SKU-002Your item number (VN), or another ID such as UP for a consumer UPC
W1209Warehouse Lot NumberThe lot shipped, for lot-controlled goods
W1210 to W1215WeightsLine weights with qualifier and unit, when the guide asks
W1216 to W1218UPC case code and a second product ID pairWhen W1201 is IS, these identify the original item ordered
W1219Line Item Change Reason CodeWhy the line changed, where the guide uses it

The standard requires either W1206 or the W1207/W1208 pair, so every line carries at least one item identifier. Make sure it is one your 940 sent, or the line cannot be matched.

W1201 status codes you will see on a 945

CodeNameRead it as
CCShipment Complete on (Date)Shipped in full
CLCompleteShipped in full (some guides use this instead of CC)
CPPartial Shipment on (Date), Considered No BackorderShort, and the balance is not coming
BPShipment Partial, Back Order to Ship on (Date)Short, and the balance will follow on a later 945
PRPartial ShipmentShort; the guide says what happens to the balance
BOBack OrderedNothing shipped yet; the line is backordered
ICItem CanceledNot shipped and canceled
DSOut Of Stock ConditionNot shipped because there was no stock
ISItem Represents Substitution from Original OrderA substitute shipped; the original item is in W1216 to W1218
CSShipment Complete with SubstitutionShipped in full, partly with a substitute
SSSplit ShipmentPart of a line shipped separately

Element 368 has over a hundred codes in total. Your warehouse's guide lists the handful it uses; map those and alert on anything else.

G69: Description

G69*PERFORMANCE TEE WHITE LARGE CASE OF 12~

A free-text description of the item. Useful for people reading the file; never match on it.

W03: Total Shipment Information

W03*15*61.5*LB***4*CT~
ElementNameExampleWhat it means
W0301Number of Units Shipped15Sum of W1203 across the transaction set
W0302 / W0303Weight, Unit of Measure61.5, LBTotal shipped weight
W0304 / W0305Volume, Unit of MeasureTotal volume, when sent
W0306 / W0307Lading Quantity, Unit of Measure4, CTNumber of handling units: cartons, pallets

W0301 adds up units across lines whatever their unit of measure, so a 945 with eaches and cases has a total that mixes both. Reconcile on the lines, and use W03 as a check that you received every line.

Short Shipments, Backorders and Substitutions

The difference between the 940 and the 945 is where the money is. Three cases cover almost every exception:

Short, no backorder (CP, or PR where the guide says so). The warehouse shipped what it had and the rest is closed. Cancel the balance in your order system, ship-confirm the shipped quantity, and tell the customer before their receiving dock does. For retail orders, the 856 and the invoice must show the shipped quantity, not the ordered one.

Short, backordered (BP or BO). The balance stays open and a later 945 will report it. Keep the order line open for the difference in W1204, and expect a second 945 with the same W0602 and a different W0604 shipment ID. Some warehouses do not backorder at all and want a new 940 for the balance; the guide says which.

Substituted (IS or CS). A different item shipped. Under IS, W1216 to W1218 identify the item originally ordered, so you can match the line back to the 940 and still invoice the item that really shipped. Substitutions you did not authorize are worth raising with the warehouse the same day.

Whatever the code, alert on every line where W1203 does not equal W1202. Status codes vary by warehouse; the arithmetic does not.

Interactive Example: Carton-Level Detail to a Retail DC

A less-than-truckload shipment to a retailer's distribution center. W0606 carries the retailer's PO, N9*BM the bill of lading and N9*CN the carrier's PRO number, and W27*M*SRLX the LTL carrier's SCAC. Each LX is one carton with its SSCC-18 in MAN*GM, followed by the W12 for the item inside it. W03 totals 96 units, 38 pounds and 2 cartons.

Live example3PL WarehouseEDI 945

3PL 945 Carton-Level Detail (LTL to a Retail DC)

A carton-level 945 for a less-than-truckload shipment to a retailer DC: customer PO in W0606, bill of lading and PRO in N9, carrier SCAC in W27, and one LX group per carton with its SSCC-18 in MAN. The 945 has no HL hierarchy; pallet-to-carton nesting goes on the 856

Document
945 Warehouse Shipping Advice
From / to
WAREHOUSE456 → BRAND123
Segments
23
Ship To
ACME RETAIL DC 001
500 LOGISTICS PARKWAY, COLUMBUS, OH, 43219
Interchange date
May 10, 2026

Raw EDI (X12)

1
ISA*00* *00* *ZZ*WAREHOUSE456 *ZZ*BRAND123 *260510*1500*U*00401*000000026*0*P*:~
2
GS*SW*WAREHOUSE456*BRAND123*20260510*1500*26*X*004010~
3
ST*945*0026~
4
W06*F*ORD-78901240*20260510*WHSE-SHIP-99822**PO-4471882~
5
N1*ST*ACME RETAIL DC 001*92*001~
6
N3*500 LOGISTICS PARKWAY~
7
N4*COLUMBUS*OH*43219*US~
8
N9*BM*BOL-22455013~
9
N9*CN*PRO-71530288~
10
G62*11*20260510~
11
W27*M*SRLX*SUMMIT RIDGE FREIGHT*PP~
12
LX*1~
13
MAN*GM*00008123456000002012~
14
W12*CC*48*48**EA**VN*BRAND-SKU-001~
15
G69*PERFORMANCE TEE BLACK MEDIUM~
16
LX*2~
17
MAN*GM*00008123456000002029~
18
W12*CC*48*48**EA**VN*BRAND-SKU-002~
19
G69*PERFORMANCE TEE WHITE LARGE~
20
W03*96*38*LB***2*CT~
21
SE*19*0026~
22
GE*1*26~
23
IEA*1*000000026~

Human-Readable

Interchange

Sender ID(ZZ)WAREHOUSE456
Receiver ID(ZZ)BRAND123
Date260510
Time1500
Standards IDU
Version00401
Control Number000000026
Acknowledgment RequestedNo
UsageProduction
Included Groups (IEA01)1

Functional Group

Functional IDSWSW
SenderWAREHOUSE456
ReceiverBRAND123
Date20260510
Time1500
Control Number26
Agency CodeX
Version004010
Transactions1
Reported Transaction Count (GE01)1

Transaction 945

Warehouse Shipping Advice
Transaction Type945
Control Number0026
Segments, ST to SE19
Count in SE0119 (matches)

Segment Detail

W06Warehouse Shipment Identification
W0601Reporting CodeF
W0602Depositor Order NumberORD-78901240
W0603Date20260510
W0604Shipment Identification NumberWHSE-SHIP-99822
W0606Purchase Order NumberPO-4471882
N1Party Identification
N101Entity CodeST
N102NameACME RETAIL DC 001
N103ID Qualifier92
N104ID Code001
N3Party Location
N301Address500 LOGISTICS PARKWAY
N4Geographic Location
N401CityCOLUMBUS
N402State/ProvinceOH
N403Postal Code43219
N404CountryUS
N9Reference Identification
N901Reference Identification QualifierBM
N902Reference IdentificationBOL-22455013
N9Reference Identification
N901Reference Identification QualifierCN
N902Reference IdentificationPRO-71530288
G62Date/Time
G6201Date Qualifier11
G6202Date20260510
W27Carrier Detail
W2701Transportation Method/Type CodeM
W2702Carrier SCACSRLX
W2703RoutingSUMMIT RIDGE FREIGHT
W2704Shipment Method of PaymentPP
LXAssigned Number
LX01Assigned Number1
MANMarks and Numbers
MAN01Marks QualifierGM
MAN02Marks and Numbers00008123456000002012
W12Warehouse Item Detail
W1201Shipment/Order Status CodeCC
W1202Quantity Ordered48
W1203Number of Units Shipped48
W1205Unit of MeasureEA
W1207Product/Service ID QualifierVN
W1208Product/Service IDBRAND-SKU-001
G69Line Item Detail (Description)
G6901Item DescriptionPERFORMANCE TEE BLACK MEDIUM
LXAssigned Number
LX01Assigned Number2
MANMarks and Numbers
MAN01Marks QualifierGM
MAN02Marks and Numbers00008123456000002029
W12Warehouse Item Detail
W1201Shipment/Order Status CodeCC
W1202Quantity Ordered48
W1203Number of Units Shipped48
W1205Unit of MeasureEA
W1207Product/Service ID QualifierVN
W1208Product/Service IDBRAND-SKU-002
G69Line Item Detail (Description)
G6901Item DescriptionPERFORMANCE TEE WHITE LARGE
W03Total Shipment Information
W0301Number of Units Shipped96
W0302Weight38
W0303Unit of MeasureLB
W03062
W0307CT
1 functional group1 transactionControl #000000026Valid

This is the 945 shape to ask for if you sell to retailers through a 3PL. One LX per carton gives you everything the 856's pack level needs: the SSCC-18, the item and the quantity in each carton. What the 945 cannot give you is pallet-to-carton nesting, because it has no HL loop. If the retailer wants a pallet level on the 856, agree with the warehouse how it will report pallet SSCCs (for example, a separate LX per pallet with its own MAN) and build the hierarchy on your side.

Interactive Example: Daily Batch of Three Orders

Many 3PLs send one file per shipping day. The right way to do that in X12 is one 945 transaction set per order, all inside one functional group: three ST/SE pairs between a single GS and GE, with GE01 = 3. Each 945 has its own W06, ship-to, carrier, cartons and W03. The third order shipped 1 of 2 cases with the balance backordered (W12*BP).

Live example3PL WarehouseEDI 945

Daily 945 Batch: Three Orders in One Functional Group

End-of-day file with three 945 transaction sets (one per 940 order) inside one GS/GE group, each with its own W06, ship-to, carton SSCC, tracking number and W03 totals. The third order ships 1 of 2 cases with the balance backordered (W12 BP)

Document
945 Warehouse Shipping Advice
From / to
WAREHOUSE456 → BRAND123
Segments
43
Ship To
CANYON TRAIL SUPPLY
14 FERRY STREET, MOAB, UT, 84532
Interchange date
May 10, 2026

Raw EDI (X12)

1
ISA*00* *00* *ZZ*WAREHOUSE456 *ZZ*BRAND123 *260510*1730*U*00401*000000027*0*P*:~
2
GS*SW*WAREHOUSE456*BRAND123*20260510*1730*27*X*004010~
3
ST*945*0001~
4
W06*F*ORD-78901235*20260510*WHSE-SHIP-99823~
5
N1*ST*BLUE RIVER OUTFITTERS~
6
N3*88 OAK PLAZA~
7
N4*DENVER*CO*80202*US~
8
G62*11*20260510~
9
W27*U*UPSN*UPS GROUND*PP~
10
LX*1~
11
MAN*GM*00008123456000003019**CP*1Z999AA10123456828~
12
W12*CC*6*6**EA**VN*BRAND-SKU-001~
13
G69*PERFORMANCE TEE BLACK MEDIUM~
14
W03*6*4.2*LB***1*CT~
15
SE*13*0001~
16
ST*945*0002~
17
W06*F*ORD-78901236*20260510*WHSE-SHIP-99824~
18
N1*ST*MOUNTAIN GEAR LLC~
19
N3*200 SUMMIT ROAD~
20
N4*BOULDER*CO*80301*US~
21
G62*11*20260510~
22
W27*U*UPSN*UPS GROUND*PP~
23
LX*1~
24
MAN*GM*00008123456000003026**CP*1Z999AA10123456839~
25
W12*CC*12*12**EA**VN*BRAND-SKU-002~
26
G69*PERFORMANCE TEE WHITE LARGE~
27
W03*12*8.1*LB***1*CT~
28
SE*13*0002~
29
ST*945*0003~
30
W06*F*ORD-78901237*20260510*WHSE-SHIP-99825~
31
N1*ST*CANYON TRAIL SUPPLY~
32
N3*14 FERRY STREET~
33
N4*MOAB*UT*84532*US~
34
G62*11*20260510~
35
W27*U*UPSN*UPS GROUND*PP~
36
LX*1~
37
MAN*GM*00008123456000003033**CP*1Z999AA10123456840~
38
W12*BP*2*1*1*CA*012345678929*VN*BRAND-SKU-003~
39
G69*PERFORMANCE HOODIE HEATHER GREY CASE OF 6~
40
W03*1*9.6*LB***1*CT~
41
SE*13*0003~
42
GE*3*27~
43
IEA*1*000000027~

Human-Readable

Interchange

Sender ID(ZZ)WAREHOUSE456
Receiver ID(ZZ)BRAND123
Date260510
Time1730
Standards IDU
Version00401
Control Number000000027
Acknowledgment RequestedNo
UsageProduction
Included Groups (IEA01)1

Functional Group

Functional IDSWSW
SenderWAREHOUSE456
ReceiverBRAND123
Date20260510
Time1730
Control Number27
Agency CodeX
Version004010
Transactions3
Reported Transaction Count (GE01)3

Transaction 945

Warehouse Shipping Advice
Transaction Type945
Control Number0001
Segments, ST to SE13
Count in SE0113 (matches)

Segment Detail

W06Warehouse Shipment Identification
W0601Reporting CodeF
W0602Depositor Order NumberORD-78901235
W0603Date20260510
W0604Shipment Identification NumberWHSE-SHIP-99823
N1Party Identification
N101Entity CodeST
N102NameBLUE RIVER OUTFITTERS
N3Party Location
N301Address88 OAK PLAZA
N4Geographic Location
N401CityDENVER
N402State/ProvinceCO
N403Postal Code80202
N404CountryUS
G62Date/Time
G6201Date Qualifier11
G6202Date20260510
W27Carrier Detail
W2701Transportation Method/Type CodeU
W2702Carrier SCACUPSN
W2703RoutingUPS GROUND
W2704Shipment Method of PaymentPP
LXAssigned Number
LX01Assigned Number1
MANMarks and Numbers
MAN01Marks QualifierGM
MAN02Marks and Numbers00008123456000003019
MAN04CP
MAN051Z999AA10123456828
W12Warehouse Item Detail
W1201Shipment/Order Status CodeCC
W1202Quantity Ordered6
W1203Number of Units Shipped6
W1205Unit of MeasureEA
W1207Product/Service ID QualifierVN
W1208Product/Service IDBRAND-SKU-001
G69Line Item Detail (Description)
G6901Item DescriptionPERFORMANCE TEE BLACK MEDIUM
W03Total Shipment Information
W0301Number of Units Shipped6
W0302Weight4.2
W0303Unit of MeasureLB
W03061
W0307CT

Transaction 945

Warehouse Shipping Advice
Transaction Type945
Control Number0002
Segments, ST to SE13
Count in SE0113 (matches)

Segment Detail

W06Warehouse Shipment Identification
W0601Reporting CodeF
W0602Depositor Order NumberORD-78901236
W0603Date20260510
W0604Shipment Identification NumberWHSE-SHIP-99824
N1Party Identification
N101Entity CodeST
N102NameMOUNTAIN GEAR LLC
N3Party Location
N301Address200 SUMMIT ROAD
N4Geographic Location
N401CityBOULDER
N402State/ProvinceCO
N403Postal Code80301
N404CountryUS
G62Date/Time
G6201Date Qualifier11
G6202Date20260510
W27Carrier Detail
W2701Transportation Method/Type CodeU
W2702Carrier SCACUPSN
W2703RoutingUPS GROUND
W2704Shipment Method of PaymentPP
LXAssigned Number
LX01Assigned Number1
MANMarks and Numbers
MAN01Marks QualifierGM
MAN02Marks and Numbers00008123456000003026
MAN04CP
MAN051Z999AA10123456839
W12Warehouse Item Detail
W1201Shipment/Order Status CodeCC
W1202Quantity Ordered12
W1203Number of Units Shipped12
W1205Unit of MeasureEA
W1207Product/Service ID QualifierVN
W1208Product/Service IDBRAND-SKU-002
G69Line Item Detail (Description)
G6901Item DescriptionPERFORMANCE TEE WHITE LARGE
W03Total Shipment Information
W0301Number of Units Shipped12
W0302Weight8.1
W0303Unit of MeasureLB
W03061
W0307CT

Transaction 945

Warehouse Shipping Advice
Transaction Type945
Control Number0003
Segments, ST to SE13
Count in SE0113 (matches)

Segment Detail

W06Warehouse Shipment Identification
W0601Reporting CodeF
W0602Depositor Order NumberORD-78901237
W0603Date20260510
W0604Shipment Identification NumberWHSE-SHIP-99825
N1Party Identification
N101Entity CodeST
N102NameCANYON TRAIL SUPPLY
N3Party Location
N301Address14 FERRY STREET
N4Geographic Location
N401CityMOAB
N402State/ProvinceUT
N403Postal Code84532
N404CountryUS
G62Date/Time
G6201Date Qualifier11
G6202Date20260510
W27Carrier Detail
W2701Transportation Method/Type CodeU
W2702Carrier SCACUPSN
W2703RoutingUPS GROUND
W2704Shipment Method of PaymentPP
LXAssigned Number
LX01Assigned Number1
MANMarks and Numbers
MAN01Marks QualifierGM
MAN02Marks and Numbers00008123456000003033
MAN04CP
MAN051Z999AA10123456840
W12Warehouse Item Detail
W1201Shipment/Order Status CodeBP
W1202Quantity Ordered2
W1203Number of Units Shipped1
W1204Quantity Difference1
W1205Unit of MeasureCA
W1206UPC Case Code012345678929
W1207Product/Service ID QualifierVN
W1208Product/Service IDBRAND-SKU-003
G69Line Item Detail (Description)
G6901Item DescriptionPERFORMANCE HOODIE HEATHER GREY CASE OF 6
W03Total Shipment Information
W0301Number of Units Shipped1
W0302Weight9.6
W0303Unit of MeasureLB
W03061
W0307CT
1 functional group3 transactionsControl #000000027Valid

A 945 transaction set has exactly one W06, so one transaction set describes one shipment for one depositor order. A file with several W06 segments inside a single ST to SE is not valid X12, and a validator will reject it.

EDI 945 vs 940, 856, 944 and 810

DocumentSent byToPurpose
940 Warehouse Shipping OrderDepositorWarehouseInstruction to ship an order
945 Warehouse Shipping AdviceWarehouseDepositorConfirmation of what shipped against the 940
856 Ship Notice/ManifestSellerBuyerAdvance notice to the customer of what is arriving, with a full pallet, carton and item hierarchy
944 Receipt AdviceWarehouseDepositorConfirmation of stock received into the warehouse
810 InvoiceSellerBuyerBill for the goods shipped

The 945 and the 856 look alike because both describe a shipment, but they face different directions. The 945 is internal to your supply chain: your warehouse reporting to you. The 856 is external: you reporting to your customer. When a 3PL ships to your retail customer, the 945 comes in first and your 856 goes out built from it.

Where the 945 Sits in the Flow

For a supplier selling to a retailer through a 3PL:

  1. Retailer sends an 850 purchase order to you.
  2. You send a 940 to the 3PL.
  3. The 3PL ships and sends the 945 to you.
  4. You send the 856 to the retailer, built from the 945's cartons, SSCCs and quantities.
  5. You send the 810 for the shipped quantities.
  6. Every document gets a 997 in return.

For a direct-to-consumer brand the chain is shorter: the 945's tracking numbers go to the shopping platform and the customer's shipping email. Our guide to 3PL EDI integration covers the setup on both sides.

Common 945 Errors and How to Prevent Them

ErrorWhat happensPrevention
W0602 does not match any 940945 cannot be matched; shipment goes unrecordedAgree that the warehouse echoes W0502 exactly, including prefixes and leading zeros
Several W06 in one transaction setFile rejected by your translatorOne 945 per order; batch them as several ST/SE pairs in one group
Invalid W1201 code997 rejection, or a line your map cannot classifyAgree the code list in the guide; alert on anything outside it
Item ID in the wrong W12 positionLine cannot be matched; 997 may reject itUPC case code in W1206, qualifier and ID in W1207/W1208
SSCC-18 sent with MAN*UCDownstream 856 carries the wrong qualifierGM for an SSCC-18 with its 00 prefix; UC is for a 14-digit shipping container code
Tracking numbers in an unexpected placeCustomer never gets a tracking emailMap tracking from where the guide puts it: MAN, N9*2I or N9*08
Short lines with no difference reportedInvoice and 856 overstate the shipmentAlert whenever W1203 and W1202 differ, whatever the status code says
Backorder shipped with no link to the originalOrder stays open, or ships twiceMatch follow-up 945s on W0602, and track quantity open per line
W03 total ignoredMissing lines go unnoticedCompare W0301 with the sum of W1203
945 never arrivesOrder shows as unshipped while the customer has the goodsAlert when a 940 has no 945 by the warehouse's agreed cut-off

945 Implementation Checklist

Before going live with a warehouse:

  • Get the warehouse's 945 guide and confirm release (usually 004010) and GS01 = SW
  • Confirm one 945 per order or per shipment, and whether daily batches arrive as several transaction sets in one group
  • Confirm W0602 echoes your 940 order number exactly, and where the customer PO goes
  • Confirm what one LX represents: a carton, a pallet or an order line
  • Confirm where tracking numbers, bills of lading and PRO numbers are sent
  • Get the list of W1201 status codes the warehouse uses, and its backorder policy
  • Confirm the item identifiers in W12 match the ones on your 940
  • Map lots, serials and expiry dates if you sell regulated or dated goods
  • Build reconciliation: every 940 has a 945, every line's shipped quantity is posted, W03 matches the lines
  • Return a 997 for every 945 group, and test a short line, a backorder and a substitution before go-live

If you are setting up a 3PL connection from scratch, our page on EDI for third-party logistics and the EDI document types reference show which documents each side usually owns.

Getting Orders to Your Warehouse With OrderSync

The 945 can only be as good as the 940 it answers. If the order that went to the warehouse had the wrong item number, unit or ship-to, the 945 confirms the wrong shipment accurately.

OrderSync works on the order side. It reads customer orders in any format, from EDI 850s and 875s to PDFs, emails and spreadsheets, matches customers, items and units to your catalog, and outputs valid X12 or ERP data, so the order your warehouse works from is right the first time. Paste any 945 into the free EDI inspector to see it parsed segment by segment with a plain-English summary, or book a 15-minute walkthrough to see your own orders processed.

Frequently Asked Questions

What is an EDI 945 used for?

A warehouse sends the EDI 945 to confirm that it shipped an order. It carries the depositor's order number, ship date, carrier, tracking or bill of lading, carton labels, and for each line the quantity ordered, shipped and short, with a status code explaining any difference.

What is the difference between EDI 940 and EDI 945?

The 940 is the instruction: the depositor tells the warehouse to ship an order. The 945 is the confirmation: the warehouse tells the depositor what actually shipped. They are matched on the depositor order number, which the 945 carries in W0602.

What is the difference between EDI 945 and 856?

The 945 goes from your warehouse to you and confirms a shipment against your 940. The 856 goes from you to your customer and describes what is arriving, with a pallet, carton and item hierarchy. When a 3PL ships to your retail customer, you build the 856 from the 945.

What does W06 F mean in a 945?

W0601 is the reporting code, and F means Full Detail: the 945 reports every shipped line. It is the code most 945 guides specify. The same element can carry other codes, such as N (No Exceptions) or X (Exceptions Only), when the warehouse's guide calls for them.

How does a 945 report a short shipment?

On the W12 line. W1202 is the quantity ordered, W1203 the quantity shipped and W1204 the difference. W1201 says what happens to the balance: CP for a partial shipment with no backorder, BP or BO when the balance is backordered, IC when the line is canceled.

Can one 945 cover several orders?

One 945 transaction set covers one shipment, because it has a single W06 header. A warehouse that sends one file per day puts several 945 transaction sets, one per order, inside one functional group. Several W06 segments inside one transaction set is not valid X12.

Where does the tracking number go in a 945?

It depends on the warehouse's guide. Common places are MAN at carton level (with qualifier CP), N9 with qualifier 2I or 08 at header or group level, or both. Map from the place your warehouse uses.

Do I need to send a 997 for a 945?

Yes, if the warehouse's guide asks for functional acknowledgments, which most do. Your translator returns a 997 for the functional group with AK101 set to SW.

James Darby
Last updated: 11/4/2026

Related Resources