940 Warehouse Shipping Order

Send fulfillment instructions to your 3PL from Sales Orders or Transfer Orders

The 940 Warehouse Shipping Order is an outbound EDI transaction that instructs your 3PL to pick, pack, and ship inventory. The connector generates a 940 from a Sales Order or Transfer Order in NetSuite and sends it to the 3PL vendor associated with the order's location.

When Is a 940 Generated?

A 940 is generated when a Sales Order or Transfer Order is approved and the order's location is linked to a 3PL vendor with 940 enabled. Depending on your configuration, this can happen:

  • Automatically — on Sales Order approval (when the order moves to "Pending Fulfillment" status), if the vendor's handling preference is set to "On Sales Order Approval" and auto-send is enabled
  • Manually — via the Generate & Send 940 button on the Sales Order or Transfer Order record

Auto-Send vs. Manual

ModeBehavior
Auto-send enabled940 is generated AND dispatched to Orderful automatically on order approval
Auto-send disabled940 is generated and saved to the Orderful Transaction record, but not sent until you manually trigger it
Manual (button)Generates and sends the 940 immediately, regardless of auto-send settings

Data Flow

From a Sales Order

Sales Order approved in NetSuite
  → Connector checks: location has a vendor? Vendor has 940 enabled?
  → 940 message generated from Sales Order data
  → Sent to Orderful → routed to 3PL vendor
  → 3PL receives shipping instructions

From a Transfer Order

Transfer Order created in NetSuite
  → Connector checks: transfer location has a vendor? Vendor has 940 enabled?
  → 940 message generated from Transfer Order data
  → Sent to Orderful → routed to 3PL vendor
  → 3PL receives transfer/shipping instructions

The Transfer Order path works the same as the Sales Order path. The connector resolves the vendor from the order's location — whichever 3PL vendor is assigned to that location in NetSuite receives the 940.

Configuration

Vendor Setup

The 940 is configured on the Vendor record (your 3PL), not the Customer record.

  1. Open the 3PL Vendor record
  2. Go to the Orderful subtab > Enabled Transaction Types
  3. Add a line for 940 - Warehouse Shipping Order
  4. Configure:
    • Test Mode — use Orderful TEST stream (for development/testing)
    • Auto-Send — automatically dispatch 940 on order approval
    • Handling Preference — set to "On Sales Order Approval" for automatic generation
    • Company ISA ID — your company's ISA identifier (sender)

Location Setup

The location on the Sales Order or Transfer Order must have a Vendor assigned:

  1. Navigate to Lists > Site > Locations
  2. Open the warehouse location
  3. Set the Vendor field to the 3PL vendor

This is how the connector knows which 3PL to send the 940 to.

Item Requirements

Items on the order should have identifiers that your 3PL can use to locate and ship the correct products:

  • UPC Code — primary product identifier
  • Vendor Item Number — alternate identifier (your 3PL's internal part number)
  • Case UPC — case-level UPC (if applicable)
  • Case Pack Size — units per case (if applicable)

Message Structure

The 940 message contains the following data from the Sales Order or Transfer Order:

Header

NetSuite Field940 ElementNotes
Sales Order NumberDepositor Order NumberThe warehouse ordering party's reference
Purchase Order NumberPurchase Order NumberThe buyer's PO number
Order StatusOrder Status CodeDefaults to "Original"

Ship-To Information (N1 Loop)

The ship-to address from the order, sent as the N1 party loop:

NetSuite Field940 ElementNotes
DC NumberIdentification CodePrimary. Falls back to Store Number, then Address ID
Address Line 1Address InformationStreet address
CityCity Name
StateState/Province Code
ZIPPostal Code
CountryCountry Code

Reference Information

Additional identifiers included when present on the order:

NetSuite FieldReference QualifierIncluded When
Purchase Order Number06 (Purchase Order)PO number exists
Vendor Internal IDIA (Internal Vendor Number)Vendor resolved
Department NumberDP (Department)Department exists on order
Customer Display NameZZ (Mutually Defined)Customer exists
Customer Internal ID23 (Internal Customer Number)Customer exists

Dates

NetSuite FieldDate QualifierNotes
Ship Date10 (Promised Delivery)Requested ship date
Transaction Date04 (Invoice Date)Order creation date
Earliest Delivery Date37 (Earliest Delivery)If populated
Latest Delivery Date38 (Latest Delivery)If populated

Shipment Defaults

FieldDefault Value
Shipment Method of PaymentPrepaid by Seller
Transportation MethodMotor (Common Carrier)

Line Items (LX / W01 Loop)

Each line item on the order becomes an entry in the LX loop:

NetSuite Field940 ElementNotes
Ordered QuantityQuantity
UnitsUnit of MeasureDefaults to "Each" if not set
UPC CodeProduct Service ID (UPC qualifier)Primary item identifier
Item IDProduct Service ID (Vendor Number qualifier)Secondary identifier
Case UPCUPC Case CodeCase-level identifier
DescriptionFree-Form DescriptionLine item description
Case Pack SizePackUnits per case
PO Line ReferenceSeller's Line Item IdentifierLinks back to original PO line

Each line item also includes extended reference information with three entries linking back to the original PO line: Seller's Line Item Identifier (LI), Contract Line Item Number (C7), and Vendor Product Number (VP).

Product Service ID Qualifiers: Each line item can include up to three product identifiers. By default, the connector sends UPC as the primary and Vendor Number as the secondary. If custom qualifiers are configured on the line item, they take precedence.

EDI Notes

If the Sales Order has a value in the EDI Notes field, it is included in the 940 as a note with qualifier code DEL (delivery instructions).

Troubleshooting

940 Not Generating

CheckHow to Fix
Location has no vendor assignedOpen the Location record and set the Vendor field to your 3PL
940 not enabled on vendorOpen the Vendor record > Orderful subtab > add 940 to Enabled Transaction Types
Handling preference not setSet the vendor's 940 handling preference to "On Sales Order Approval"
Order not approved940 auto-generation triggers on approval. Ensure the Sales Order status moves to "Pending Fulfillment"

940 Generated but Not Sent

CheckHow to Fix
Auto-send disabledEither enable auto-send on the vendor's 940 configuration, or manually send via the button
ISA ID mismatchVerify the Company ISA ID and Vendor ISA ID match what's configured in Orderful
Test mode routingIf in test mode, the 940 routes to the TEST stream — verify your 3PL is listening on the test channel

Error Messages

ErrorMeaningSolution
"Could not find related Sales Order / Transfer Order"The Orderful Transaction record has no linked NetSuite orderVerify the order exists and is linked to the Orderful transaction
"No location found for order"The Sales Order or Transfer Order has no location setSet a location on the order that is linked to a 3PL vendor
No vendor found for location {id}The location exists but has no vendor assignedOpen the Location record and assign a vendor
"Outbound config not found"940 is not enabled on the resolved vendorEnable 940 on the vendor's Enabled Transaction Types

What's Next