3PLs and 900-Series Transactions

Overview of 900-series EDI transactions for 3PL warehouse communication

Orderful for NetSuite supports the full suite of 900-series EDI transactions for communicating with third-party logistics (3PL) providers. These transactions automate the exchange of shipping orders, shipment confirmations, stock transfers, and inventory adjustments between your NetSuite environment and your warehouse partners.

Supported Transaction Types

TransactionNameDirectionWhat It Does
940Warehouse Shipping OrderOutboundInstructs your 3PL to pick, pack, and ship inventory for a Sales Order or Transfer Order
943Warehouse Stock Transfer Shipment AdviceOutboundNotifies your 3PL that a stock transfer shipment has been fulfilled
944Warehouse Stock Transfer Receipt AdviceInboundConfirms that transferred stock has been received, creating an Item Receipt in NetSuite
945Warehouse Shipping AdviceInboundConfirms a shipment from your 3PL, creating an Item Fulfillment with carton and tracking details
947Warehouse Inventory Adjustment AdviceInboundRecords inventory adjustments (damage, shrinkage, returns) from your 3PL as Inventory Adjustment records

Each transaction type has its own dedicated documentation page — see the links in the sidebar or the "What's Next" section below.


Common Workflows

900-series transactions are used in three main workflows. Each workflow pairs outbound instructions with inbound confirmations.

Workflow 1: Sales Order Fulfillment (940 + 945)

The most common 3PL workflow. You create a Sales Order in NetSuite, and the connector sends a 940 to your 3PL with shipping instructions. When the 3PL ships the order, they send a 945 back, and the connector automatically creates an Item Fulfillment with tracking numbers and carton details.

Sales Order (NetSuite)
  → 940 Warehouse Shipping Order (to 3PL)
  → 3PL picks, packs, ships
  → 945 Warehouse Shipping Advice (from 3PL)
  → Item Fulfillment created (NetSuite)

Get started: 940 Warehouse Shipping Order | 945 Warehouse Shipping Advice

Workflow 2: Stock Transfers (940 + 943 / 944)

Used when transferring inventory between locations via a 3PL. A Transfer Order triggers a 940 to ship from one warehouse. When the transfer ships, a 943 is generated. When the receiving warehouse confirms receipt, an inbound 944 creates an Item Receipt.

Transfer Order (NetSuite)
  → 940 Warehouse Shipping Order (to source 3PL)
  → 3PL ships transfer
  → 943 Stock Transfer Shipment Advice (outbound confirmation)
  → Receiving warehouse confirms
  → 944 Stock Transfer Receipt Advice (from receiving 3PL)
  → Item Receipt created (NetSuite)

Get started: 943 Stock Transfer Shipment | 944 Stock Transfer Receipt

Workflow 3: Inventory Adjustments (947)

Used when your 3PL reports inventory changes — damage, shrinkage, cycle count corrections, or returns. The 3PL sends a 947, and the connector creates an Inventory Adjustment record with the correct GL account based on configurable reason codes.

3PL performs inventory adjustment
  → 947 Inventory Adjustment Advice (from 3PL)
  → Inventory Adjustment created (NetSuite)

Get started: 947 Inventory Adjustment Advice


Shared Configuration

All 900-series transactions share a common configuration foundation. Individual transaction pages cover type-specific settings, but the following setup is required for all of them.

Prerequisites

Before using any 900-series transaction, ensure:

  • Orderful for NetSuite is installed and configured (see Orderful for NetSuite)
  • Your Orderful account is active with 3PL trading partner connections established
  • ISA IDs are configured for both your company and your 3PL vendor(s)
  • Items have UPC codes and/or vendor item numbers assigned (used for line item matching)

Vendor Configuration

Your 3PL providers must be set up as Vendors in NetSuite with EDI identifiers.

  1. Navigate to Lists > Relationships > Vendors and open your 3PL vendor record
  2. On the Orderful subtab, configure:
    • Production ISA ID — your 3PL's production EDI identifier
    • Test ISA ID — your 3PL's test EDI identifier (for testing mode)

Location Configuration

Each warehouse/distribution center managed by a 3PL must have its Vendor field set, linking the location to the 3PL vendor who operates it.

  1. Navigate to Lists > Site > Locations and open the warehouse location
  2. Set the Vendor field to the 3PL vendor who manages this location

This link is how the connector determines which 3PL to communicate with — when a Sales Order or Transfer Order uses this location, the connector routes 940s to the associated vendor and expects inbound 945s/944s/947s from them.

Enabling Transaction Types

Transaction types are enabled per Customer or Vendor record, depending on the direction:

  • Outbound (940, 943): Enabled on the Vendor record (the 3PL receiving the message)
  • Inbound (944, 945, 947): Enabled on the Customer record (the trading partner whose orders are being fulfilled) or the Vendor record

To enable a transaction type:

  1. Open the Customer or Vendor record
  2. Go to the Orderful subtab > Enabled Transaction Types
  3. Add a new line for each transaction type you want to enable
  4. Configure per-type settings (test mode, auto-send, etc.)

Item Configuration

Items used in 900-series transactions need identifiers for line-item matching between EDI messages and NetSuite records. The connector matches items using these fields (in priority order):

  1. Vendor Item Number — the vendor's part number for this item
  2. UPC Code — Universal Product Code
  3. Purchase Order Line Reference — line number from the original PO

Additionally, these optional fields improve mapping accuracy:

  • Case UPC — UPC for the case/carton packaging
  • Case Pack Size — number of units per case

Company Preferences

Global settings that apply across all 900-series transactions:

  • Company ISA ID — your company's EDI identifier (sender for outbound, receiver for inbound)
  • Test Mode — routes transactions through the Orderful TEST stream instead of LIVE

Troubleshooting

For transaction-specific troubleshooting, see each transaction type's dedicated page. The following issues are common across all 900-series transactions.

ISA ID Mismatch

Symptom: Transactions fail to send or are not received by the correct partner.

Check: Verify that the ISA IDs on the Vendor record match the ISA IDs configured in Orderful for that trading partner. Production and test ISA IDs are separate — make sure you're using the right pair for your current mode.

Location Not Linked to Vendor

Symptom: 940 generation fails with "No vendor found for location."

Check: Open the Location record and verify the Vendor field is set to your 3PL vendor. Every location used in 900-series transactions must have this link.

Transaction Type Not Enabled

Symptom: Transactions are not generated or not processed when received.

Check: Open the relevant Customer or Vendor record and verify the transaction type is listed under Enabled Transaction Types on the Orderful subtab.

Item Matching Failures

Symptom: Inbound transactions (944, 945, 947) fail with "No matching line items" or create records with zero quantities.

Check: Ensure items in NetSuite have UPC codes and/or vendor item numbers that match the identifiers your 3PL sends in their EDI messages. The connector tries to match by vendor number first, then UPC, then PO line reference.


What's Next