Send an EDI 940 (Warehouse Shipping Order) to the 3PL's EDI endpoint, populating Segment W05 (Order identification), N1/N3/N4 loops (ship-to address), W27 (carrier and service level), and W12 loops (item detail with UPC, quantity, and unit of measure).
Include the B/L or PRO number placeholder in W27 if required by the 3PL's mapping, and confirm the ANSI X12 version (commonly 4010 or 5010) and ISA/GS envelope parameters with the 3PL before go-live.
After the 3PL ships, receive the EDI 945 (Warehouse Shipping Advice) which confirms what was actually shipped — compare W12 lines to the originating 940 to detect short-ships, substitutions, or backordered lines.
Reconcile the tracking number(s) returned in the 945 W07 segment against your order management system and trigger downstream order-status updates.
Implement a functional acknowledgment loop: send an EDI 997 FA back to the 3PL for each received 945 within the agreed SLA window to confirm receipt.
Log the full interchange envelopes (ISA/GS/ST segments) for audit purposes; re-send the 940 with a revised control number if the 3PL returns a rejection in the 997.
Known gotchas
3PLs frequently have custom segment requirements beyond the standard X12 spec — always request the 3PL's EDI mapping guide and test in a sandbox before production, as undocumented required segments cause silent rejections.
Quantity units of measure (EA, CS, PL) must match the 3PL's item master exactly; a mismatch causes fulfillment of the wrong quantity and is not always caught before shipment.
The 945 is the authoritative shipped record, not the 940 — billing, inventory, and order closure must be driven by 945 receipt, not by the assumption that the 940 was fulfilled in full.
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