Back to Transactions Library

    EDI 940 - Warehouse Shipping Order

    The EDI 940 Warehouse Shipping Order tells a 3PL or warehouse exactly what to pick, pack, and ship - the trigger that turns an ecommerce or wholesale order into a real outbound shipment.

    What Is an EDI 940?

    The EDI 940 Warehouse Shipping Order is an electronic document a depositor (the brand or seller that owns the inventory) sends to a warehouse or 3PL to authorize an outbound shipment. It tells the warehouse what to pick from stock, how to pack it, where to send it, which carrier to use, and any special handling rules. In a typical fulfillment stack, a 940 is generated automatically whenever a sales order is released in the depositor's EDI TMS, ERP, or order management system.

    EDI 940 vs. 945: The Warehouse Shipping Workflow

    The 940 and 945 are a matched pair. The 940 is the instruction; the 945 is the confirmation. Together they replace the phone calls, spreadsheets, and emailed pick tickets that used to move between a brand and its 3PL.

    • 940 (Warehouse Shipping Order) - depositor to warehouse: "ship this order."
    • 945 (Warehouse Shipping Advice) - warehouse to depositor: "here is exactly what shipped."
    • 944 (Warehouse Stock Transfer Receipt Advice) - warehouse confirms inbound stock against a 943.
    • 947 (Warehouse Inventory Adjustment Advice) - warehouse reports inventory changes.
    • 846 (Inventory Inquiry/Advice) - warehouse pushes on-hand inventory back to the depositor.

    Key Data Elements in an EDI 940

    An X12 940 is built from the W05 shipment header down through line-item LX/W01 loops. The segments that matter most in production:

    • W05 - depositor order number, purpose code (original, change, cancel), and shipment reference.
    • N1/N3/N4 - ship-from warehouse, ship-to consignee, and bill-to addresses.
    • N9 - reference numbers tying the 940 back to the original PO (850), sales order, or customer ID.
    • G62/DTM - requested ship date, must-arrive-by date, and pickup windows.
    • LX + W01 - each line: product ID (UPC/GTIN/SKU), quantity, unit of measure, lot, and serial.
    • W66 - carrier SCAC, service level, freight terms, and special routing.
    • W76 - total weight, total units, and shipment totals for validation.

    How 3PLs Use the EDI 940

    When a 3PL receives a 940, their WMS validates it against on-hand inventory, allocates stock, generates pick lists, and routes the shipment to a carrier. Most modern 3PLs (ShipBob, DHL Supply Chain, GEODIS, NFI, ShipMonk) treat the 940 as the canonical order of record - meaning anything that is not on the 940 will not ship, and anything on the 940 that cannot be allocated triggers a backorder or rejection back to the depositor.

    EDI 940 Timing and SLAs

    Most 3PL contracts include service-level agreements tied to the 940. Typical patterns:

    • Same-day shipping if the 940 arrives before a cutoff (often 11am or 2pm local warehouse time).
    • Next-day shipping for 940s received after cutoff.
    • Acknowledgment via 997 within minutes - silence usually means the 940 was rejected or never received.
    • 945 returned within 24 hours of physical shipment, with carrier and tracking data.

    Common EDI 940 Errors

    These are the issues Yoke sees most often when onboarding a new 3PL or retailer:

    • Product IDs on the 940 do not match the warehouse item master (UPC vs. SKU vs. internal part number).
    • Ship-to address is missing a required field (suite number, country code, contact phone).
    • Quantities exceed on-hand inventory and no backorder rule is set.
    • Carrier SCAC on W66 is not in the 3PL's approved carrier list.
    • Change or cancel 940s arrive after the order is already in pick - the warehouse cannot recall it.
    • Missing or wrong 997 acknowledgment, so the depositor never knows the 940 was received.

    How Yoke Handles EDI 940 for You

    Yoke maps your ERP, OMS, or ecommerce platform into a compliant 940 for every 3PL or warehouse in your network, validates inventory and address data before transmission, monitors 997 and 945 acknowledgments in real time, and alerts you the moment a shipment falls out of SLA. When a 3PL changes their 940 spec (new fields, new cutoffs, new carrier list), we update the map - you do not.

    Frequently Asked Questions

    Quick answers to the questions buyers and suppliers ask most about this transaction.

    • What is an EDI 940? An EDI 940 is the Warehouse Shipping Order: an X12 transaction set a brand or depositor sends to a 3PL or warehouse to instruct them to pick, pack, and ship a specific outbound order.
    • What is the difference between an EDI 940 and an EDI 945? The 940 is the instruction from the depositor to the warehouse to ship an order. The 945 is the warehouse's response back to the depositor confirming exactly what shipped, when, with which carrier and tracking number.
    • Who sends the EDI 940? The depositor (the company that owns the inventory) sends the 940 to the warehouse or 3PL that physically holds and ships the goods. It is typically generated automatically by an ERP, OMS, or ecommerce platform when a sales order is released.
    • How quickly does a 3PL need to act on an EDI 940? Most 3PL contracts require same-day shipping for 940s received before a daily cutoff (often 11am or 2pm local time) and next-day shipping after that. The 3PL should send a 997 acknowledgment within minutes and a 945 confirmation within 24 hours of shipment.
    • What happens if the EDI 940 has errors? Bad product IDs, missing address fields, or quantities above on-hand inventory cause the 3PL's WMS to reject the 940 or hold the order. Without monitoring, the depositor often does not learn about the failure until a customer complains about a missing shipment.
    X12 4010 Specification

    EDI 940 Warehouse Shipping Order - Full Segment Dictionary

    The complete segment map and data element reference for the X12 940 transaction set, version 4010. Use it to build maps, validate trading partner specs, and answer implementation questions in seconds.

    Header Area

    PosSeg IDNameLoopMax UseUsage
    10W05Shipping Order Identification-1Mandatory
    20N1NameN1>1Optional
    30N2Additional Name InformationN1>1Optional
    40N3Address InformationN1>1Optional
    50N4Geographic LocationN11Optional
    60PERAdministrative Communications ContactN1>1Optional
    70N9Reference IdentificationN1>1Optional
    80G61ContactN1>1Optional
    90G62Date/TimeN1>1Optional
    100NTENote/Special InstructionN1>1Optional
    110W09Equipment and TemperatureN11Optional
    120W66Warehouse Carrier InformationN11Optional
    130W6Special Handling InformationN11Optional
    140R2Route InformationN1>1Optional
    150BNXRail Shipment InformationN11Optional
    160LMCode Source InformationLM>1Optional
    170LQIndustry CodeLM>1Mandatory

    Detail Area

    PosSeg IDNameLoopMax UseUsage
    180LXAssigned NumberLX>1Optional
    190MANMarks and NumbersLX>1Optional
    200SDQDestination QuantityLX>1Optional
    210N1NameLX1Optional
    220G62Date/TimeLX>1Optional
    230W01Line Item Detail - WarehouseW01>1Optional
    240G69Line Item Detail - DescriptionW01>1Optional
    250N9Reference IdentificationW01>1Optional
    260NTENote/Special InstructionW01>1Optional
    270W20Line-Item Detail - MiscellaneousW01>1Optional
    280QTYQuantityW01>1Optional
    290AMTMonetary AmountW011Optional
    300G62Date/TimeW01>1Optional
    310G66Transportation InstructionsW011Optional
    320N1NameW01>1Optional
    330PERAdministrative Communications ContactW01>1Optional
    340LH2Hazardous Classification InformationW01>1Optional
    350LHRHazardous Material Identifying Reference NumbersW011Optional
    360LH6Hazardous CertificationW01>1Optional
    370LMCode Source InformationLM>1Optional
    380LQIndustry CodeLM>1Mandatory
    390LSLoop HeaderLM1Optional
    400LXAssigned NumberLX>1Optional
    410N9Reference IdentificationLX>1Optional
    420G62Date/TimeLX>1Optional
    430N1NameLX1Optional
    440SDQDestination QuantityLX>1Optional
    450LMCode Source InformationLM>1Optional
    460LQIndustry CodeLM>1Mandatory
    470LH1Hazardous Identification InformationLH1>1Optional
    480LH2Hazardous Classification InformationLH1>1Optional
    490LH3Hazardous Material Shipping NameLH1>1Optional
    500LFHFreeform Hazardous Material InformationLH1>1Optional
    510LEPEPA Required DataLH1>1Optional
    520LH4Canadian Dangerous RequirementsLH11Optional
    530LHTTransborder Hazardous RequirementsLH1>1Optional
    540LHRHazardous Material Identifying Reference NumbersLH1>1Optional
    550PERAdministrative Communications ContactLH1>1Optional
    560LELoop TrailerLH11Optional
    570FA1Type of Financial Accounting DataFA1>1Optional
    580FA2Accounting DataFA1>1Mandatory

    Summary Area

    PosSeg IDNameLoopMax UseUsage
    590W76Total Shipping Order-1Optional

    Segment & Data Element Reference

    Click any segment to view its data elements, reference designators, and attribute specifications.

    Need Help with EDI 940 Integration?

    Let Yoke handle your 940 Warehouse Shipping Order mapping, testing, and compliance monitoring.

    Book a Consultation