Configure your EDI receiver to accept inbound 945 transactions from your 3PL partner via your agreed transport (AS2, SFTP, VAN); validate the ISA/GS envelope against the partner's ISA sender ID.
Parse the W06 segment (Shipment Identification) for the warehouse order number, shipment date, and carrier PRO/tracking number; cross-reference the warehouse order number against your outbound EDI 940 records.
Iterate the LX/W12 loop to extract line-level shipped quantities and unit of measure for each SKU; compare against the original 940 order quantities to identify short-ships, over-ships, or substitutions.
If shipped quantities differ from ordered quantities, flag the discrepancy in your OMS: short-ships may require backorder creation; over-ships require authorization before charging.
Use the carrier tracking number from the 945 to generate your outbound EDI 856 ASN to the end customer or retail buyer and trigger invoice creation for the shipped quantities.
Send an EDI 997 Functional Acknowledgement back to the 3PL confirming receipt of the 945; retain all 945 records for audit and billing reconciliation.
Known gotchas
The 945 is sent after the warehouse ships — it reflects what was actually dispatched, which may differ from the 940 order due to inventory shortages or picking errors; never invoice based on the 940 alone.
Tracking numbers in the 945 may be the carrier PRO number or a shipper reference depending on the 3PL's configuration; confirm the identifier type with your partner to avoid mismatched tracking lookups.
Some 3PLs send a 945 per shipment rather than per order line — a single 940 may generate multiple 945 transactions if the order ships in multiple cartons or from different warehouse zones.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp