The EDI 945 is the warehouse's confirmation that a 940 shipped, carton by carton with tracking and the SSCC on each label. AIMS360 imports it from any 3PL by XML or API and builds the retailer 856 from it.
The 945 warehouse shipping advice is the warehouse's report that a 940 has shipped: what went in which carton, the tracking number on each one, weights, freight and the SSCC on every label. It is the most valuable message in a 3PL integration, because it is the raw material for the retailer's 856 advance ship notice. AIMS360 imports it from any 3PL as XML or as an API response, automatically on a schedule you set, and turns it into a finalized shipment, an invoice, and for EDI orders the 856, without the warehouse ever being an EDI trading partner.
The EDI 945 is the transaction set a warehouse or 3PL sends back to a brand to confirm that a shipping order has shipped. It references the 940 it answers, then reports the shipment as it left the dock: quantities shipped against quantities ordered per line, the cartons and what each contains, the tracking number per carton, weights, the carrier and SCAC, the freight charge, and the SSCC printed on each carton label.
Everything downstream depends on it. The pick ticket in your ERP cannot close without it. The invoice to the customer needs the shipped quantities, tracking and freight from it. And the 856 the retailer requires cannot be built from anything else, because the 856 is a nested structure of shipment, order, carton and item, and the only place the carton level lives is the 945. A warehouse that returns "shipped, 24 units, one tracking number" has sent you a 945 that closes the order and nothing more.
The 945 pairs with the 940 the way the 944 pairs with the 943: the outbound instruction, then the warehouse's account of what it did. In AIMS360 the two are one loop, and the automation that sends 940s is the same automation that watches for 945s.
A simplified shipping advice for one pick ticket, two lines, two cartons.
ST*945*0001 / W06*F*PT100234*20260910*SHP55821**4500123456 / N1*ST*Retailer DC 14*92*DC14 / N1*DE*Your Brand*92*BRAND1 / N9*BM*BOL77821 / N9*CN*1Z999AA10123456784 / G62*11*20260910 / W27*M*UPSN*UPS GROUND / LX*1 / MAN*GM*00012345678000000012 / W12*CC*12*12*0*EA**UP*012345678905 / LX*2 / MAN*GM*00012345678000000029 / W12*CC*12*12*0*EA**UP*012345678912 / W03*24*18*LB / SE*15*0001| ST | Opens the transaction set and names it as a 945. |
| W06 | Warehouse shipment identification. The reporting code (F full, P partial), the depositor order or pick ticket number from the 940, the ship date, the warehouse's shipment identifier, and the customer PO. |
| N1 | Party loops. ST is where it went, DE is the depositor, WH the warehouse. |
| N9 | References. BM for the bill of lading, CN for the carrier's tracking or PRO number, and others the retailer or carrier needs quoted. |
| G62 | Dates. Qualifier 11 is the ship date. |
| W27 | Carrier detail. Transportation method, the SCAC, and the routing or service level. The minimum AIMS360 needs to process the file is a SCAC or a carrier name. |
| LX / MAN | One LX per carton. MAN with a GM qualifier carries the SSCC-18 on that carton's GS1-128 label. This is the segment the whole 856 depends on. |
| W12 | Item detail per carton. Status, quantity ordered, quantity shipped, the difference, unit of measure and the item identifier, usually the UPC. |
| W03 | Totals. Units, weight and volume across the shipment. |
| SE | Closes the transaction set with a segment count. |
In the example the warehouse shipped both lines in full, one carton each, by UPS Ground, and returned the SSCC on each carton. From that AIMS360 can build the retailer's 856 with a pack level that matches the physical labels, which is what a receiving dock scans. Take the MAN segment out and the same file still closes the pick ticket and invoices the customer, but it can no longer produce a compliant notice.
Every warehouse says it supports the 945. The question that separates them is which of these fields come back on it, and whether they come back per carton rather than per order.
| Field on the 945 | What it lets you do |
|---|---|
| Carton structure | Build a nested 856. Without which units are in which carton there is no compliant advance ship notice, whatever the ERP can do |
| SSCC per carton | Let the retailer's dock scan one label and receive the whole carton against the notice. Mismatches here are where chargebacks come from |
| Tracking per carton | Give the customer and the retailer a tracking number that resolves, and let AIMS360 update the pick ticket and the invoice automatically |
| Shipped versus ordered per line | Catch shorts and overs at import rather than at the customer's dock, and decide by policy whether an overship processes or stops |
| Carrier and SCAC | Required for AIMS360 to process the file at all, and required on the 856 by every retailer routing guide |
| Weight, dimensions, unit of measure | Check dimensional weight against the carrier bill, and stop a case of twelve being received as one unit |
| Freight charge | Flow the shipping cost straight to the customer invoice and to the cost of the shipment |
| Pro number, trailer, load | Match a freight invoice to a shipment and prove what was on a load when a retailer disputes receipt. The Emeristar page carries the fullest published spec on our list |
XML in the AIMS360 standard schema from the warehouse's FTP, from OneDrive or Dropbox, or as an API response on API connected warehouses such as Bergen Logistics. Several files can be taken in one pass.
The 945 creates the shipment in Shipment Processing carton by carton, updates the pick ticket with tracking, carton count, weight and freight, and carries the shipped quantities through to the invoice. Batch invoicing then closes the orders in one step.
For an EDI order the shipment is finalized and passed to the ASN module with every label detail the warehouse returned. The 856 is generated from it and synced to the retailer, followed by the 810 invoice.
Drop ship orders have been fully automated for years. Since version 24.10.15.02, EDI wholesale and regular wholesale orders can auto import too: when the warehouse's file lands on the FTP, the workflow runs, the shipment appears in Shipment Processing, and a person reviews it only if it fails.
Two controls are worth knowing about. An overship setting decides whether a 945 whose shipped quantity exceeds the picked quantity processes with a warning or stops as failed until someone resolves it; it applies to Shopify and EDI drop ship orders together. And the import module keeps separate views for pending, pending excluding automation, imported and failed shipments, so a brand running automation can see at a glance what still needs a hand. Files that download but cannot be processed wait in an unprocessed folder rather than disappearing, and checking it daily is part of the standard procedure.
No. The warehouse sends the 945 as an XML file dropped on an FTP, or answers an API call, and AIMS360 does the rest. The warehouse is not an EDI trading partner, there is no VAN in the path, no 997, and no per document charge, and the retailer still receives a fully conformant 856 because AIMS360 builds it. The formats, transports and cost comparison are laid out on the EDI 940 page and apply to the 945 identically.
The 945 is where this matters most, because it is the highest volume message on a DTC account and the one a conventional EDI setup would bill twice for, once at the warehouse's provider and once at yours. It is also the message where "we support EDI" tells you least. What decides whether your retailer notices will be right is not whether the 945 arrived as X12 or as XML. It is whether the carton detail and the SSCC were on it.
Missing carrier data stops the import. At minimum the file must carry a SCAC code, a carrier name or both. A file with neither will not process, and the fix is a corrected file from the warehouse.
Unknown identifiers stop the line. Each shipped item must carry a valid UPC or a valid AIMS360 SKU made of style, color code and size. A UPC the warehouse has but AIMS360 does not is the most common cause; add it to the style and reprocess.
A voided or already invoiced pick ticket cannot take a 945. The import will fail rather than create a second shipment. The 940 to 945 loop assumes the pick ticket is still open.
Overships are a policy decision, not a default. If shipped exceeds picked, the shipment processes with a fatal warning or stops as failed depending on the setting, and the setting covers Shopify and EDI drop ship orders together.
A 945 without carton detail closes the order and nothing else. It cannot produce an 856. That is a warehouse capability question, and it belongs in the evaluation, not in the go live.
It is the warehouse's confirmation that a shipping order has shipped. It references the 940, reports shipped versus ordered quantities per line, the cartons and their contents, tracking per carton, weights, carrier and freight, and the SSCC on each carton label. In AIMS360 it creates the shipment, updates the pick ticket, flows to the invoice and, for EDI orders, becomes the 856 to the retailer.
The 945 goes from your warehouse to you. The 856 goes from you to the retailer. The 856 has to meet the retailer's routing guide carton by carton, and the carton detail it needs only exists in the 945, so the 945 is the raw material and the 856 is the finished document. AIMS360 builds one from the other so the SSCC the dock scans matches the SSCC in the notice.
Carton structure, meaning which units are in which carton, and the SSCC on each carton. Tracking per carton, carrier and SCAC, weights and shipped quantities per line are needed alongside. Dimensions, unit of measure, pro number, trailer and load are useful for freight reconciliation and disputes. A 945 that returns only a shipped total can close the order but cannot produce a compliant notice. The Emeristar page lists the fullest published field spec on our partner list.
No. The warehouse drops an XML file in the AIMS360 standard schema on an FTP, or answers an API call, and AIMS360 imports it. The warehouse is never set up as an EDI trading partner, so there is no VAN, no 997 and no per document fee, and AIMS360 charges no per document or per kilocharacter fees of its own. The retailer still gets a conformant 856 because AIMS360 builds it. The full explanation is on the EDI 940 page.
Yes. Drop ship orders auto import as part of the EDI drop ship automation. Since version 24.10.15.02, EDI wholesale and regular wholesale orders can auto import too, each switched on separately under the 3PL integration settings. When the warehouse's file lands on the FTP the workflow runs and the shipment appears in Shipment Processing. On API connected warehouses the pull runs on a schedule you set, as often as every five minutes. See DTC and 3PL fulfillment automation.
A setting decides. With overships allowed, the shipment processes and a fatal warning is logged so someone reviews it. With overships not allowed, the shipment stops as failed until the error is resolved, and the same message shows if a user processes it by hand. The setting applies to Shopify and EDI drop ship orders together. Retailers that permit a tolerance are the usual reason to allow it. The retailer side of that tolerance is on the EDI 856 page.
Three causes cover most failures: no SCAC or carrier on the file, an item identifier AIMS360 does not recognize (add the missing UPC to the style and reprocess), or a pick ticket that was voided or already invoiced. Failed shipments sit in their own view in the import module and files that could not be processed wait in an unprocessed folder, so nothing is lost. Partner specific quirks are on each partner page.
It depends on the warehouse's transport. On API connections such as Bergen Logistics, AIMS360 pulls shipped pick tickets as often as every five minutes. On file connections the warehouse drops the file when its system generates it, typically at ship confirmation or on the warehouse's own batch cycle, and AIMS360's automation picks it up on the next run. Ask the warehouse when its confirmations are generated; it varies more than the transport does.
Last reviewed 4 September 2026 by the AIMS360 integrations team. Segment detail reflects the ANSI ASC X12 945 transaction set and is simplified for reading. AIMS360 mechanics are taken from the AIMS360 support documentation for the 945 import and shipment automation. Warehouse capabilities vary by partner and are stated on each partner page.
Bring a retailer order and a routing guide. We will send the 940, take the 945 back from a live warehouse, and show you the 856 it produces with the SSCC codes matching the labels.