EDI 945 Guide: Stop Chargebacks With Accurate Ship Advice

What Is EDI 945? Understanding the 945 EDI Document Type
In plain language, the EDI 945 is a shipping confirmation. It tells the owner of the goods (the depositor, in X12 terms) that the warehouse has shipped an order, and it details what went out: which items, how many, in which cartons, on which carrier, and on what date.
Technically, this document is ANSI X12 Transaction Set 945, Warehouse Shipping Advice. It travels inside a functional group identified by GS01 code SW and almost always answers a specific 940 Warehouse Shipping Order (GS01 code OW). Because it carries the depositor's order number back, the depositor's enterprise resource planning (ERP) system can match confirmation to request, close the order, adjust inventory, and trigger billing.
Think of it as the warehouse's proof of performance. The brand never touched the product, so this transaction is its only structured record of what actually happened on the dock. Everything the brand sends its customer next, including the ASN and invoice, depends on that record being correct.
Who Sends and Who Receives an EDI 945?
The warehouse sends it and the depositor receives it. Usually the sender is a 3PL, though a manufacturer's own distribution center or a public warehouse can fill the same role. The receiver is whichever brand, distributor, or manufacturer owns the inventory and issued the original 940.
Retailers and end customers generally never see a 945. That distinction shapes the comparison with the 856 covered later: one document handles warehouse-to-depositor communication, while the 856 ASN typically handles shipper-to-customer communication. Some depositors do contract their 3PL to send ASNs on their behalf, but that is a separate transaction under its own agreement.
When Is a 945 Triggered?
The trigger should be a confirmed ship event in the WMS, not order release or pick completion. In practice that means load closure or bill of lading (BOL) confirmation for less-than-truckload (LTL) and truckload freight, or manifest close for parcel, once tracking numbers exist.
Timing rules come from the trading partner agreement. Many depositors expect confirmation within a set window, often the same day or a few hours after departure, so they can build an ASN before freight reaches the retailer. Treat your partner's implementation guide as the authority and confirm the exact window during onboarding instead of assuming a default.
Why Do 945 Accuracy and Timing Matter for Retailer Compliance?
Retailers compare each incoming ASN against the physical cartons, often by scanning every Serial Shipping Container Code (SSCC) label. When the depositor built that ASN from a late or inaccurate 945, the retailer sees a mismatch or a missing notice, and its vendor compliance program may issue chargebacks.
Consider a common scenario. The warehouse short-ships one SKU by 12 units yet reports the full ordered quantity. The depositor bills and notifies for everything, the retailer receives fewer units, and the brand faces a shortage deduction, a compliance fee, and a reconciliation dispute. A confirmation that reports the short ship honestly prevents all three, which makes 945 quality an operations metric rather than just an IT task.

Retail & Supply Chain EDI, Simplified
Meet retailer compliance requirements effortlessly with automated EDI for purchase orders, invoices, ASNs, and more.
Request a Call
How Do EDI 940 and 945 Work Together in the Order-to-Ship Workflow?
The 940 and 945 are two halves of one conversation. The depositor sends a 940 telling the warehouse what to ship, to whom, and by when. The warehouse answers with a 945 reporting what actually left the dock. Acknowledgment, picking, packing, and carrier pickup all happen between those two messages.
The order identifier holds the pair together. The depositor order number in the 940 W05 segment must return unchanged in the 945 W06 segment. If your WMS drops or reformats that key, the depositor's system cannot match the confirmation to its order, and the transaction may be rejected or sit unprocessed.
The return message also carries reality back upstream. A 940 states intent (48 units requested), while the 945 records outcome (36 shipped, 12 short). That gap is exactly why comparing the two documents matters.
What Does the Step-by-Step 940-to-945 Flow Look Like?
Here is one order traced from start to finish, with each step labeled by the side that performs it:
- Translate and validate (warehouse): The depositor's ERP transmits the 940, and the warehouse translator checks required fields such as ship-to address and SKU.
- Acknowledge (warehouse): A 997 Functional Acknowledgment goes back to the depositor (or a 999 Implementation Acknowledgment in some 5010 environments) confirming the syntax was valid.
- Create and allocate (warehouse): The WMS builds the order and reserves inventory against it.
- Pick (warehouse): Associates pick each line and record any short picks as they occur.
- Pack (warehouse): Every carton gets an SSCC label tied to its contents.
- Ship (warehouse): The load receives a BOL and PRO number, or parcel cartons receive tracking numbers.
- Confirm (warehouse): The WMS generates the 945 from the ship confirmation and transmits it.
- Close the loop (depositor): The depositor returns its own 997 or 999 for the 945.
Steps 3 through 6 are physical events on the floor, and each captures data needed later. Step 7 assembles that data into the ship advice, and step 8 closes the loop. Segment rules for both transaction sets are maintained by ASC X12, the standards body behind them.
EDI 940 vs 945: How Do They Compare?
Putting the two documents next to each other makes the relationship clear:
- X12 name: The 940 is the Warehouse Shipping Order; the 945 is the Warehouse Shipping Advice.
- GS01 functional ID: OW for the order, SW for the advice.
- Direction: The depositor sends the 940 to the warehouse or 3PL, and the warehouse sends the 945 back.
- Purpose: One instructs a shipment; the other confirms it.
- Header segment: W05 in the order, W06 in the confirmation.
- Line detail: W01 carries the ordered quantity, while W12 carries ordered, shipped, and the difference.
- Totals: W76 on the inbound side, W03 on the outbound side.
- Timing: The order arrives before picking starts; the advice leaves after ship confirmation.
- Carrier data: Requested routing sits in W66, while actual carrier, SCAC, and BOL/PRO details sit in W27 and N9.
The short version: the 940 describes what should happen, and the 945 describes what did happen. During implementation, map them side by side so every field that must round-trip has a home in the outbound confirmation. Writing those expectations into your trading partner agreements keeps both sides working from the same spec.
Where Do the 850, 856, 943/944, 947, 846, and 810 Fit?
The pair sits inside a larger 3PL document cycle:
- 850 Purchase Order: The retailer orders from the depositor, which often converts the 850 into a 940.
- 943 Stock Transfer Shipment Advice / 944 Stock Transfer Receipt Advice: The depositor announces inbound inventory, and the warehouse confirms receipt.
- 846 Inventory Inquiry/Advice: The warehouse reports on-hand stock levels.
- 947 Warehouse Inventory Adjustment Advice: The warehouse reports damages, cycle-count variances, and other adjustments.
- 856 Ship Notice/Manifest (ASN): The depositor, or the 3PL on its behalf, notifies the retailer of the shipment, often built from 945 data.
- 810 Invoice: The depositor bills the retailer based on quantities shipped.
That makes the EDI 945 the hinge between warehouse execution and the depositor's customer-facing documents. An error in it flows straight into the 856 and 810, which is where retailer chargebacks tend to start.

What Is Inside the 945 EDI Document Type? Segment Structure and Annotated Sample
Every EDI 945 has three parts: a header that identifies the shipment and parties, a detail area organized by line or carton, and a summary with totals. Each segment is one line of data. Its elements are separated by a delimiter (usually an asterisk), and a terminator (usually a tilde) closes it.
The X12 standard defines what is possible. Each depositor's implementation guide defines what is required. One partner may demand an SSCC-18 for every carton, while another only wants line quantities. Build to the partner's guide and use the standard to understand your options. The examples below reflect common 4010 usage. Qualifiers and status codes differ from one relationship to the next, so confirm them before mapping.
Which Warehouse Event Populates Each 945 Segment?
Each segment draws its content from a specific moment in warehouse execution:
- ST / SE (header and trailer): Set ID, control number, and segment count, written by the translator when the file is built.
- W06 (Warehouse Shipment Identification): The depositor order number echoed from W05, plus ship date, shipment ID, and PO, drawn from stored order keys and the confirmation timestamp.
- N1 / N3 / N4 (name and address loop): Ship-to, ship-from, and bill-to parties, carried from the inbound N1 loop, with ship-from pulled from the facility master.
- N9 (Reference Identification): BOL, PRO, and load ID, captured when the BOL is generated or a carrier is assigned.
- G62 (Date/Time): Actual ship date and time, stamped at load or manifest close.
- W27 (Carrier Detail): Mode, SCAC, routing, and payment terms, set during carrier selection.
- LX (Assigned Number): The detail loop counter, created at pack, with one loop per carton or line depending on the guide.
- MAN (Marks and Numbers): SSCC-18 or tracking number, recorded at label print or taken from the parcel manifest.
- W12 (Warehouse Item Detail): Status, ordered, shipped, difference, UOM, UPC/SKU, lot, and weight, filled by pick and pack confirmation.
- W03 (Total Shipment Information): Total units, weight, and volume, summed when the load ships.
Which 945 Segments Are Required vs Optional?
The standard's backbone is ST, W06, the N1 loop, W03 and SE, and W12 detail is effectively mandatory for any useful confirmation. G62, W27, N9 and MAN are optional on paper. Partner guides often require them anyway, since depositors need those dates, carrier details, BOLs and SSCCs to build a compliant ASN.
A practical rule: depositors selling to retailers with vendor compliance programs will usually require W27, G62, an N9 carrying the BOL, and MAN with SSCCs. Direct-to-consumer parcel accounts typically want tracking numbers in MAN or N9. Lot-controlled goods such as food or health products add lot and weight to W12.
Annotated Sample 945: A Partial Shipment With a Short Ship
Order ORD10045 requested three SKUs. SKU-100 shipped complete (24 units), SKU-200 shipped 36 of 48 because of an inventory shortfall, and SKU-300 shipped zero. Two cartons moved by motor freight.
ST9450001~ W06FORD1004520240315SHP88231**PO778812~ N1STRETAILER DC 04292042~ N3100 COMMERCE DR~ N4COLUMBUSOH43215US~ N1SFEXAMPLE 3PL WAREHOUSE92WH01~ N9BMBOL0098123~ N9CNPRO5543210~ G62112024031581545~ W27MABCDEXAMPLE FREIGHTPP~ LX1~ MANGM001234567890123457~ W12CC24240EA012345678905VNSKU-100~ LX2~ MANGM001234567890123464~ W12CP483612EA012345678912VNSKU-200~ LX3~ W12CP12012EA012345678929VNSKU-300~ W0360540LB~ SE20*0001~
- W06: ORD10045 repeats the value the depositor sent in its order header, so its ERP can match the confirmation.
- N9: BM carries the bill of lading number, and CN carries the carrier PRO.
- G62: Qualifier 11 marks the actual ship date, at 15:45.
- W27: M indicates motor freight, ABCD is the SCAC, and PP means prepaid.
- MAN: GM carries the SSCC-18 printed on each carton.
- W12: CC flags a complete line; CP reports the 12-unit short on SKU-200 and the zero on SKU-300.
- W03: 60 units must equal 24 + 36 + 0.
- SE: 20 counts every segment, including ST and SE, and its control number matches ST.
Some partners want zero-shipped lines like LX 3 reported. Others want them omitted and handled through backorder or cancellation. If a shortfall traces back to stock that arrived differently than planned, review how the EDI 943 stock transfer shipment advice sets receiving expectations.
What Changes Between Version 4010 and 5010?
Many warehouse relationships still run on 004010, while some partners use 005010 or later. The overall structure stays similar, but element lengths, code lists and usage notes can differ, and some 5010 partners request a 999 acknowledgment instead of or alongside the 997. Version details are maintained by ASC X12.
Watch for mismatched GS08 identifiers, elements that exceed allowed lengths, and codes valid in only one version. Keep a separate map per partner and version, set ISA and GS envelopes correctly, and retest whenever a partner announces an upgrade.

EDI 945 vs 856 ASN: Which One Do You Send and When?
Both documents describe a shipment, so teams mix them up constantly. What separates them is who reads the message and why. The 945 reports warehouse execution back to the depositor, the brand that owns the inventory. The 856 Ship Notice/Manifest tells the receiving customer, usually a retailer, what is on its way so the dock can plan labor and scan cartons against the notice.
In a common 3PL arrangement, the warehouse transmits its confirmation to the depositor, which then converts that data into an 856 for the retailer. Think of the 945 as the source record and the 856 as the customer-facing output built from it. Any error in the source flows straight into the ASN. For a refresher on the order that starts this chain, see our EDI 940 guide.
How Do the 945 and 856 Compare Side by Side?
Here is how the two documents differ on the points that matter most:
- Typical sender: The warehouse or 3PL sends the 945; the depositor, or a 3PL acting for it, sends the 856.
- Typical receiver: The depositor gets the 945, while a retailer or end customer gets the 856.
- Responds to: A 940 versus an 850 Purchase Order.
- Purpose: Confirm what actually left the building versus announce what is about to arrive.
- Structure: Order-centric W06 and W12 segments versus hierarchical HL loops for shipment, order, pack, and item.
- Timing: After ship confirmation versus after departure but before arrival.
- Compliance risk: The 945 feeds the accuracy of the depositor's ASN and invoice, while the 856 ties directly to retailer receiving and chargebacks.
When Must a 3PL Send Both a 945 and an 856?
A 3PL ends up sending both when the depositor asks it to transmit ASNs to retailers directly. Brands request this when they lack in-house EDI capability or want to shorten the gap between truck departure and ASN delivery. Under that setup, the shipping advice still returns to the brand for order closure and billing, while the 856 goes to the retailer to support receiving.
The two transactions have to agree. Carton SSCCs, quantities, the BOL number, and ship dates on the ASN should match the 945 for the same load. The dependable way to guarantee that is to generate both messages from a single ship confirmation record in your WMS rather than keying either one separately.
Clearing Up Common 945 vs 856 Confusion
Three misunderstandings show up again and again:
- The 945 does not substitute for an ASN. A retailer that mandates 856s will reject a 945 sent in its place.
- The 856 is not reserved for retailers. Some depositors ask their 3PL for an 856 instead of a 945, so the trading partner's implementation guide makes the call.
- Sending an ASN does not excuse a sloppy 945. If the depositor relies on the shipping advice to update inventory and invoice customers, it still needs to be right.
When requirements are unclear, put three questions to every partner: which document do you expect, who should send it, and within what time window?
How Do You Implement and Troubleshoot EDI 940 and 945 in Your WMS?
A working 940/945 setup depends less on translation software than on data discipline inside the WMS. The inbound order must land in the right fields, the floor must capture accurate events, and ship advice must be assembled from those events without anyone retyping it.
When the WMS and EDI layers are disconnected, teams often export shipment data, rekey it into a separate EDI tool, and send files in batches hours later. That workaround is how quantity mismatches, missing tracking numbers, and late transmissions creep in, and each of those can produce rejections and chargebacks. The subsections below cover mapping, automation, testing, and error handling. If you are standing up a new connection from scratch, our overview of how to set up EDI walks through the broader onboarding steps.
How Should 940 Orders Map Into WMS Fields?
Build a field-by-field map before the first test file. W05 order and PO numbers go into header fields that stay intact for the life of the order. N1 loops become ship-to and bill-to records, including store or DC identifiers. G62 requested dates set ship-by or cancel-after deadlines. W66 routing feeds carrier and service fields. Each W01 line becomes a WMS order line with SKU, UPC, quantity, and unit of measure.
Also store values the floor never uses but the outbound document must echo, such as the depositor's line numbers or custom N9 references. Dropping those on the way in is one of the most frequent reasons a confirmation fails validation weeks later, because nobody notices the missing field until the partner rejects the file.
How Do You Auto-Generate a 945 From Ship Confirmation?
The most dependable trigger is ship confirmation itself. When a load closes or a parcel manifest is finalized, the WMS already holds everything the file needs: shipped quantities per line, SSCCs per carton, the carrier SCAC, BOL and PRO numbers or tracking numbers, weights, and the actual departure timestamp.
Configure generation rules per trading partner. Decide whether to send one document per order or per shipment, whether to include zero-shipped lines, whether to loop by carton or by line, and which N9 qualifiers to include. Then add a pre-send validation step: compare W03 totals against the sum of W12 shipped quantities, confirm every carton has an SSCC, and block transmission whenever a required field is empty. A file that never leaves is far cheaper than one the depositor rejects.
How Should You Test With Trading Partners, and VAN or AS2?
Testing usually moves through three stages. Connectivity testing confirms the connection works and test files flow both ways. Document testing sends confirmations built from real scenarios. A parallel or pilot phase then runs production volume under close monitoring. Build your test set around edge cases: a complete shipment, a partial shipment, a short ship, a multi-carton parcel order, and a cancellation.
For transport, a value-added network (VAN) acts as a mailbox between partners. It is simple to onboard and often bills per transaction or per kilocharacter. Applicability Statement 2 (AS2) sends files directly over the internet with encryption and signed receipts, as defined in IETF RFC 4130, and usually takes more setup. Many warehouses support both, since different partners require different methods.
What Are the Most Common 945 Errors and How Do You Fix Them?
Work through this checklist when a confirmation is rejected, late, or disputed:
- Order number mismatch: W06 does not match the inbound W05 exactly, often because leading zeros were stripped. Store the inbound value verbatim and never reformat it.
- Quantity gaps: W03 totals disagree with the W12 sum, or a W12 shipped quantity differs from the cartons actually scanned. Validate before sending.
- Missing SSCC or tracking: MAN is empty because labels were printed outside the WMS. Tie label printing to pack confirmation.
- Unit of measure conflicts: The order came in cases (CA) but the confirmation reports eaches (EA). Convert consistently in one place.
- 997/999 rejections: Syntax problems such as invalid qualifiers, element length violations, a wrong segment count in SE, or ST/SE control numbers that don't match. Read the AK/IK error codes in the acknowledgment to find the exact segment and element.
- Version mismatch: GS08 says 004010 while the partner expects 005010.
- Late transmission: Batch schedules miss the partner's window. Trigger on the ship event instead.
- Missing acknowledgment: Monitor for overdue 997s and alert when one has not arrived within the expected time. Errors that fail quietly are covered in more depth in our piece on silent EDI failures.
How Should You Handle Backorders and Cancellations?
Short ships and backorders need an agreed rule before go-live. Some depositors want the confirmation to report the shortage and close the line, then send a new 940 for the balance. Others want the warehouse to hold the balance as a backorder and send a second confirmation when it ships. A few expect a zero-quantity W12 line to signal that nothing went out.
Cancellations usually arrive as a 940 with a cancel purpose or status code, or through a separate process the partner defines. Make sure the WMS can stop an order before pick, confirm the cancellation back if required, and never transmit ship advice for an order that was cancelled and never left the building.
How Does Comparatio's Integrated WMS and EDI Approach Help?
Comparatio approaches 940 and 945 exchange from the warehouse floor outward. Because the WMS and EDI layers work together, inbound order data maps straight into order fields, floor events such as picks, SSCC label prints, and load closures are recorded as they happen, and the 945 is generated from ship confirmation instead of being rekeyed from an export.
Teams can configure partner-specific rules, such as zero-line reporting, carton-level looping, or required N9 qualifiers, and validate totals and mandatory elements before anything is transmitted. The aim is practical: accurate, on-time confirmations that give depositors what they need for compliant ASNs, invoices, and downstream EDI 820 remittance advice.
Reviewing a new trading partner guide or chasing rejected 945s? Talk to a Comparatio EDI/WMS specialist to walk through your 940/945 requirements and see where your current process may be exposing you to chargebacks.
EDI 945 FAQs
These short answers cover the questions warehouse and EDI teams raise most often about the 945. When a specific partner's rules differ, that partner's own guide overrides general practice.
What Triggers an EDI 945?
A confirmed ship event in the WMS triggers it. In most operations, that means load closure, bill of lading (BOL) confirmation, or the close of a parcel manifest. Each of these marks the point where cartons, quantities, and carrier details are final.
Sending the document earlier, for example at pick completion, is tempting because it gets data out faster. The problem is that orders still change after picking. A carton gets repacked, a pallet is pulled for damage, or a line is shorted at the dock. If the document has already gone out, the depositor now holds numbers that don't match the truck, and that mismatch is exactly what produces retailer chargebacks.
How Fast Must a 945 Be Sent?
The trading partner agreement sets the window. Many depositors want the confirmation on the day of shipment, often within a few hours. They need it to build and send their own ASN to the retailer before freight arrives at the destination.
Pin down the exact requirement during onboarding and write it into your internal procedures. Then track it as a service level agreement (SLA) metric by measuring the gap between ship confirmation and transmission. A daily report of late or missing documents lets you catch problems before the depositor does.
Can a 945 Report Partial Shipments?
Yes. The W12 segment carries quantity ordered, quantity shipped, and the difference between them, along with a line status code. One document can therefore show complete lines, partial lines, and lines that shipped short, all on a single order.
The unshipped balance is a separate question. Some depositors treat it as a backorder and expect a follow-up shipment against the original order. Others cancel it outright. Their rules decide, so confirm the expected handling for each client rather than assuming one approach fits all.
What Happens When a 945 Is Rejected?
The depositor's translator usually returns a 997 or 999 functional acknowledgment. It flags the rejection and points to the segment or element that failed. Until a valid version is accepted, the order remains open on the depositor's side, which can hold up both their ASN and their invoice.
To recover, fix the underlying data and resend using a new control number if the partner requires one. Then verify that a positive acknowledgment comes back. Alerts for rejected or unacknowledged transmissions keep these errors from sitting unnoticed overnight.
Does Every Depositor Require a 945?
Not always. Some ask for an 856 or a proprietary flat file instead, and smaller clients sometimes confirm shipments through a web portal. Still, most depositors that send you 940s expect a 945 back. It closes the order-to-ship loop inside their ERP and lets them move the order to invoicing.
Frequently Asked Questions
What is an EDI 945 document?
An EDI 945 is the ANSI X12 Warehouse Shipping Advice, a confirmation the warehouse sends to the depositor after an order ships. It reports which items, quantities, cartons, carrier, and ship date actually left the dock. It usually answers a specific 940 Warehouse Shipping Order, and the order number from the 940 must return unchanged in the 945 W06 segment.
What is the difference between an EDI 945 and an 856 ASN?
A 945 goes from the warehouse to the depositor that owns the inventory, while an 856 ASN typically goes from the depositor to the retailer. The 945 confirms what left the building, and the 856 announces what is about to arrive. In many 3PL setups, the depositor builds its 856 from 945 data, so errors in the confirmation flow straight into the ASN.
When should a warehouse send a 945?
Send it after a confirmed ship event in the WMS, such as load closure, bill of lading confirmation, or parcel manifest close. Sending at pick completion is risky because cartons get repacked or lines shorted at the dock. Many depositors expect the file the same day, often within a few hours, so they can transmit their own ASN before freight arrives.
Can a 945 report a partial or short shipment?
Yes. The W12 segment carries quantity ordered, quantity shipped, and the difference, plus a line status code such as CC for complete or CP for partial. For example, a line ordered at 48 units that ships 36 would report a difference of 12. Whether the unshipped balance becomes a backorder or a cancellation depends on each depositor's rules.
Why do 945 files get rejected?
Common causes include an order number in W06 that doesn't match the 940 W05 (often lost leading zeros), W03 totals that disagree with W12 lines, unit of measure conflicts, and wrong SE segment counts. Version mismatches, such as GS08 showing 004010 when the partner expects 005010, also trigger rejections. The returned 997 or 999 acknowledgment points to the failing segment or element.
Table of Contents
Subscribe to the Blog
Get the latest EDI insights delivered to your inbox.

Transform Your Supply Chain Today!
Ready to revolutionize your supply chain management? Our advanced software solutions are designed to streamline your operations, enhance efficiency, and boost your bottom line. Don't miss out on the opportunity to elevate your business.
Request a call