EDI 945 EDI TransactionPublished May 9, 2026

EDI 945 Warehouse Shipping Advice Guide

How the EDI 945 Warehouse Shipping Advice works. Learn key segments, 3PL workflows, and how to reconcile 945s against the original 940 shipping order.

The EDI 945 Warehouse Shipping Advice is the X12 transaction set a third-party warehouse or 3PL sends back to the depositor to confirm a shipment that was instructed via an inbound EDI 940. It carries the actual ship date, the carrier and tracking numbers, the actual quantities shipped, and any short-shipped or substituted lines.

What Is an EDI 945?

An EDI 945 is a structured shipping confirmation document defined by the ASC X12 standards body that the warehouse (custodian) returns to the depositor (inventory owner) once an order has actually shipped, providing line-by-line reconciliation against the original 940 Warehouse Shipping Order.

The 945 is the response half of the 940/945 pair. Without it, a depositor has no programmatic confirmation that an order shipped, no tracking number to pass to the customer, and no way to detect short shipments before the customer complains.

EDI 945 Format and Key Segments

A 945 mirrors the structure of the 940 but adds shipping confirmation data:

SegmentPurposeExample
W06Header — depositor order number, warehouse shipment ID, ship dateW06*N*ORD123456*20260509*WHSE-78901
N1 / N3 / N4Ship-to and other party addressesN1*ST*Acme Customer Inc
N9Reference numbers (BOL, PRO, tracking)N9*CN*1Z9999W90123456789 (UPS tracking)
G62Date qualifiers (actual ship date, requested arrival date)G62*11*20260509
LXLine group — assigns line numbers within the shipmentLX*1
MANMarks/cartons — SSCC-18 carton labels for traceabilityMAN*UC*00012345600000000123
W12Item detail — quantity ordered, quantity shipped, quantity short, item identifiersW12*CL*12*12*0*EA*UPC*012345678905
W03Total quantity summary — closes the loop on what shippedW03*16*120

Quantity codes in W12

The W12 segment is where the 945 reports the difference between what was instructed and what actually shipped:

  • W1201 — disposition code (CL = closed/complete, BO = backordered, SH = short-ship)
  • W1202 — quantity ordered (from the original 940)
  • W1203 — quantity shipped
  • W1204 — quantity backordered or short-shipped

When W1203 < W1202, the depositor's system needs to either backorder the missing quantity, cancel it, or substitute.

Common Use Cases

Tracking number capture for customer notifications

The 945's N9*CN segments carry carrier tracking numbers. Brands feed these into their order management system to send "your order has shipped" emails to customers and to update Shopify, Amazon, or marketplace order status.

Inventory reconciliation against the 940

The W12 segment's quantity-shipped vs quantity-ordered fields let the depositor's system reconcile expected vs actual fulfillment. This catches partial shipments, substitutions, and backorders programmatically rather than waiting for customer complaints.

Triggering downstream EDI 856 ASN to the retailer

For drop-ship vendors, the 945 from the 3PL is what triggers the outbound 856 ASN to the retailer. The carton SSCC-18 codes from the 945's MAN segments populate the 856's HL packing hierarchy.

Closing the loop on 3PL chargebacks

Late 945s indicate fulfillment SLA breaches. Brands track 945 timing against the 940 ship-by date to monitor 3PL performance and dispute chargebacks back through their 3PL contracts.

EDI 945 vs EDI 940

These are tightly paired:

  • EDI 940 is the instruction (depositor → warehouse): "ship this order, by this date, to this address."
  • EDI 945 is the confirmation (warehouse → depositor): "we shipped this on this date, in these cartons, via this carrier, with these tracking numbers, and here's what was short."

Every 940 should generate a 945 within the agreed SLA window (typically same-day or next-business-day). Missing 945s indicate either a transmission failure or a fulfillment problem that needs investigation.

Interactive Example: 3PL 945 Shipping Advice

This is a real warehouse-to-brand 945 shape, including a UPS tracking number, two SSCC-18 carton labels, and a short-shipped second line. Use the Plain English tab for a translation or Split View to compare raw vs parsed.

Live example3PL WarehouseEDI 945

3PL 945 Warehouse Shipping Advice

Warehouse-to-brand confirmation with carrier tracking, SSCC-18 carton labels, and one short-shipped line

Transaction Type
945 Transaction 945
Trading Partners
WAREHOUSE456 → BRAND123
Segments
21 segments
Validation
All checks passed
Ship To
ACME CUSTOMER INC
123 MAIN STREET, AUSTIN, TX, 78701
Key Dates
Interchange: 2026-05-10
/ search navigateesc close

Raw EDI (X12)

1
ISA*00* *00* *ZZ*WAREHOUSE456 *ZZ*BRAND123 *260510*1430*U*00401*000000021*0*P*:~
2
GS*RA*WAREHOUSE456*BRAND123*20260510*1430*21*X*004010~
3
ST*945*0021~
4
W06*N*ORD-78901234*20260510*WHSE-SHIP-99821~
5
N1*ST*ACME CUSTOMER INC~
6
N3*123 MAIN STREET~
7
N4*AUSTIN*TX*78701*US~
8
N9*CN*1Z9999W90123456789~
9
G62*11*20260510~
10
LX*1~
11
MAN*UC*00012345600000000123~
12
W12*CL*12*12*0*EA*UPC*012345678905***VN*BRAND-SKU-001~
13
G69*Performance Tee Black Medium~
14
LX*2~
15
MAN*UC*00012345600000000124~
16
W12*SH*4*3*1*CA*UPC*012345678912***VN*BRAND-SKU-002~
17
G69*Performance Tee White Large Case Short 1~
18
W03*15*120~
19
SE*16*0021~
20
GE*1*21~
21
IEA*1*000000021~

Human-Readable

Interchange

Sender ID(ZZ)WAREHOUSE456
Receiver ID(ZZ)BRAND123
Date260510
Time1430
Control Number000000021
Acknowledgment RequestedNo

Functional Group

Functional IDRARA
SenderWAREHOUSE456
ReceiverBRAND123
Date20260510
Time1430
Control Number21
Transactions1

Transaction 945

Transaction 945
Transaction Type945
Control Number0021
Segments15
W06W06
N1Party Identification
N3Party Location
N4Geographic Location
N9N9
G62G62
LXLX
MANMAN
W12W12
G69G69
LXLX
MANMAN
W12W12
G69G69
W03W03
1 functional group1 transactionControl #000000021Valid

In the example above, order ORD-78901234 shipped on 2026-05-10 from warehouse WHSE-SHIP-99821 to Acme Customer in Austin TX via UPS tracking 1Z9999W90123456789. Line 1 shipped complete (12 of 12 eaches). Line 2 short-shipped one case (3 of 4 cases). Two cartons total, both labeled with SSCC-18.

Interactive Example: Hierarchical Carton Detail 945

When a 945 needs to communicate pallet → carton → item nesting (typical for retailer DC shipments), it uses HL hierarchical loops similar to a 856 ASN. Each pallet carries its own SSCC-18, and each carton inside the pallet carries its own SSCC-18.

Live example3PL WarehouseEDI 945

3PL 945 Hierarchical Carton Detail

Carton-level 945 with HL pallet-pack-item hierarchy, SSCC-18 labels at pallet and carton levels, and full carrier detail

Transaction Type
945 Transaction 945
Trading Partners
WAREHOUSE456 → BRAND123
Segments
26 segments
Validation
All checks passed
Ship To
ACME RETAIL DC
500 LOGISTICS PARKWAY, COLUMBUS, OH, 43219
Key Dates
Interchange: 2026-05-10
/ search navigateesc close

Raw EDI (X12)

1
ISA*00* *00* *ZZ*WAREHOUSE456 *ZZ*BRAND123 *260510*1500*U*00401*000000026*0*P*:~
2
GS*RA*WAREHOUSE456*BRAND123*20260510*1500*26*X*004010~
3
ST*945*0026~
4
W06*N*ORD-78901234*20260510*WHSE-SHIP-99822~
5
N1*ST*ACME RETAIL DC*92*001~
6
N3*500 LOGISTICS PARKWAY~
7
N4*COLUMBUS*OH*43219~
8
N9*BM*FXFE-BOL-22455~
9
N9*CN*123456789012~
10
G62*11*20260510~
11
HL*1**P~
12
MAN*GM*00012345600000099001~
13
HL*2*1*K~
14
MAN*UC*00012345600000088001~
15
LX*1~
16
W12*CL*48*48*0*EA*UPC*012345678905***VN*BRAND-SKU-001~
17
G69*Performance Tee Black Medium~
18
HL*3*1*K~
19
MAN*UC*00012345600000088002~
20
LX*2~
21
W12*CL*48*48*0*EA*UPC*012345678912***VN*BRAND-SKU-002~
22
G69*Performance Tee White Large~
23
W03*96*240~
24
SE*19*0026~
25
GE*1*26~
26
IEA*1*000000026~

Human-Readable

Interchange

Sender ID(ZZ)WAREHOUSE456
Receiver ID(ZZ)BRAND123
Date260510
Time1500
Control Number000000026
Acknowledgment RequestedNo

Functional Group

Functional IDRARA
SenderWAREHOUSE456
ReceiverBRAND123
Date20260510
Time1500
Control Number26
Transactions1

Transaction 945

Transaction 945
Transaction Type945
Control Number0026
Segments20
W06W06
N1Party Identification
N3Party Location
N4Geographic Location
N9N9
N9N9
G62G62
HLHierarchical Level
MANMAN
HLHierarchical Level
MANMAN
LXLX
W12W12
G69G69
HLHierarchical Level
MANMAN
LXLX
W12W12
G69G69
W03W03
1 functional group1 transactionControl #000000026Valid

The example above ships one pallet (SSCC 00012345600000099001) containing two cartons (SSCC 00012345600000088001 and 00012345600000088002), each holding 48 units of a different SKU. The HL segments establish the parent-child relationships your receiving system uses to scan a pallet label and know what is inside without breaking the pallet down.

Interactive Example: Daily Multi-Order Batch 945

Some 3PLs aggregate their daily shipments into a single 945 file containing multiple W06 headers, each referencing a different upstream 940. This pattern is common for high-volume DTC brands where individual 945s would generate thousands of files per day.

Live example3PL WarehouseEDI 945

Daily 945 Multi-Order Batch

End-of-day 945 batch covering three different upstream 940 orders shipped via the same outbound truck

Transaction Type
945 Transaction 945
Trading Partners
WAREHOUSE456 → BRAND123
Segments
34 segments
Validation
All checks passed
Ship To
MOUNTAIN GEAR LLC
200 SUMMIT ROAD, BOULDER, CO, 80301
Key Dates
Interchange: 2026-05-10
/ search navigateesc close

Raw EDI (X12)

1
ISA*00* *00* *ZZ*WAREHOUSE456 *ZZ*BRAND123 *260510*1730*U*00401*000000027*0*P*:~
2
GS*RA*WAREHOUSE456*BRAND123*20260510*1730*27*X*004010~
3
ST*945*0027~
4
W06*N*ORD-78901234*20260510*WHSE-SHIP-99823~
5
N1*ST*ACME CUSTOMER INC~
6
N3*123 MAIN STREET~
7
N4*AUSTIN*TX*78701~
8
N9*CN*1Z9999W90123456790~
9
G62*11*20260510~
10
LX*1~
11
W12*CL*6*6*0*EA*UPC*012345678905***VN*BRAND-SKU-001~
12
G69*Performance Tee Black Medium~
13
W06*N*ORD-78901235*20260510*WHSE-SHIP-99824~
14
N1*ST*BLUE RIVER OUTFITTERS~
15
N3*88 OAK PLAZA~
16
N4*DENVER*CO*80202~
17
N9*CN*1Z9999W90123456791~
18
G62*11*20260510~
19
LX*2~
20
W12*CL*12*12*0*EA*UPC*012345678912***VN*BRAND-SKU-002~
21
G69*Performance Tee White Large~
22
W06*N*ORD-78901236*20260510*WHSE-SHIP-99825~
23
N1*ST*MOUNTAIN GEAR LLC~
24
N3*200 SUMMIT ROAD~
25
N4*BOULDER*CO*80301~
26
N9*CN*1Z9999W90123456792~
27
G62*11*20260510~
28
LX*3~
29
W12*CL*4*4*0*CA*UPC*012345678929***VN*BRAND-SKU-003~
30
G69*Performance Hoodie Heather Grey Case of 6~
31
W03*22*180~
32
SE*22*0027~
33
GE*1*27~
34
IEA*1*000000027~

Human-Readable

Interchange

Sender ID(ZZ)WAREHOUSE456
Receiver ID(ZZ)BRAND123
Date260510
Time1730
Control Number000000027
Acknowledgment RequestedNo

Functional Group

Functional IDRARA
SenderWAREHOUSE456
ReceiverBRAND123
Date20260510
Time1730
Control Number27
Transactions1

Transaction 945

Transaction 945
Transaction Type945
Control Number0027
Segments28
W06W06
N1Party Identification
N3Party Location
N4Geographic Location
N9N9
G62G62
LXLX
W12W12
G69G69
W06W06
N1Party Identification
N3Party Location
N4Geographic Location
N9N9
G62G62
LXLX
W12W12
G69G69
W06W06
N1Party Identification
N3Party Location
N4Geographic Location
N9N9
G62G62
LXLX
W12W12
G69G69
W03W03
1 functional group1 transactionControl #000000027Valid

The example above is one 945 confirming three different orders shipped via UPS on the same day, with a separate W06 segment per upstream 940 order number. Each shipment carries its own ship-to address and tracking number, and the closing W03 sums across all three orders.

Implementation Best Practices

  1. Reconcile every 945 against the originating 940 — the depositor order number in W06 is the primary key. If a 945 arrives with no matching 940, investigate the warehouse system for spurious shipments.
  2. Capture and propagate tracking numbers immediately — customers expect "shipped" emails within minutes of actual shipment, not the next overnight batch run.
  3. Surface short shipments to customer service before customers complain — W12 disposition codes other than CL should generate an internal alert and a proactive customer notification.
  4. Use SSCC-18 carton labels from the 945 in your downstream 856 — for drop-ship workflows, the 945's MAN segments become the 856's HL pack-level identifiers, eliminating any duplicate carton labeling.
  5. Track 945 latency — 940-to-945 elapsed time is one of the cleanest 3PL performance metrics. Monitor weekly and dispute chargebacks for SLA breaches.

Trading Partner Requirements

945 requirements are mostly defined by the warehouse, not the depositor. Common variations:

  • Carton-level vs order-level detail: Some 3PLs send only order-level 945s (one set of W12 segments per order). Larger 3PLs send carton-level detail with HL hierarchical loops similar to a 856 ASN.
  • Tracking number qualifier: UPS uses N9*CN, FedEx uses N9*CT, USPS uses N9*PRO. Map these to your carrier-aware customer notification system.
  • Backorder handling: Some 3PLs send a single 945 with backordered quantities reported and then a follow-up 945 when the backordered quantity ships. Others cancel the original 940 and require a new 940 for the backorder.

Related Transaction Sets

Frequently Asked Questions

What is an EDI 945 used for? The 945 is the warehouse's confirmation that a shipment instructed via 940 has actually shipped. It carries actual quantities, ship date, carrier, tracking numbers, and SSCC-18 carton labels.

What is the difference between EDI 940 and EDI 945? The 940 and 945 are a paired request and response. The 940 Warehouse Shipping Order is the instruction a depositor (the inventory owner) sends to a third-party warehouse: ship this order, by this date, to this address. The 945 Warehouse Shipping Advice is the confirmation the warehouse sends back: we shipped this on this date, in these cartons, via this carrier, with these tracking numbers, and here is what was short. The 940 goes depositor to warehouse; the 945 goes warehouse to depositor. Every 940 should produce a matching 945 within the agreed SLA window.

Why is my 945 reporting fewer items than the 940? Short shipment. The W12 segment's W1204 field reports the short-shipped quantity, and the disposition code (SH, BO) explains whether it's a hard short or a backorder.

Can a 945 reference multiple 940s? Standard practice is one 945 per 940, but some 3PLs aggregate by ship date and send a daily 945 referencing multiple original 940 order numbers in repeating W06 headers.

Do I need to send a 997 acknowledgment back for a 945? Yes. Like any inbound EDI document, a 945 should generate a 997 functional acknowledgment within hours of receipt to confirm syntax validation passed.

Need Help With EDI 945?

OrderSync ingests 945s from any 3PL, reconciles them against the originating 940s, propagates tracking numbers to your customer notification system, and surfaces short shipments and SLA breaches in real time.

Try the free EDI Inspector to parse and validate your 945 samples.

James Darby
Last updated: 5/9/2026