Workflow Action: Generate 940
Overview
The Generate 940 workflow action allows you to automatically generate Warehouse Shipping Order (940) EDI transactions from Sales Order records using NetSuite workflows. This provides a programmatic alternative to the manual "Generate 940" button.
Use Cases
Use this workflow action to:
- Automatically generate 940 documents when sales orders are ready for warehouse fulfillment
- Trigger EDI warehouse shipping orders for drop-ship or 3PL scenarios
- Eliminate manual steps in your warehouse order process
- Ensure warehouse partners receive shipping instructions immediately
- Communicate order details to third-party warehouses or fulfillment centers
Supported Transaction Types
This workflow action supports:
- 940 (Warehouse Shipping Order)
The workflow action applies to Sales Order records where fulfillment will be handled by a warehouse/vendor.
Prerequisites
- The workflow action script must be deployed to your NetSuite account
- Script ID:
customscript_orderful_generate_940_wa - Deployment ID:
customdeploy_orderful_generate_940_wa - The script must be in RELEASED status
- The Vendor associated with the sales order location must have 940 enabled in their Orderful configuration
- Sales order must have a location with an associated vendor
Setup Instructions
1. Deploy the Script
The workflow action script should be automatically deployed when the Orderful bundle is installed. Verify deployment:
- Navigate to Customization > Scripting > Scripts
- Search for "Orderful | Generate 940 WA"
- Verify the script status is Released
- Check that the deployment is Deployed
2. Create or Edit a Workflow
To add the Generate 940 action to a workflow:
- Navigate to Customization > Workflow > Workflows
- Create a new workflow or edit an existing one
- Set the Record Type to Sales Order
- Add a workflow state where you want the action to execute
3. Add the Workflow Action
Within your workflow state:
- Click Add Action under the appropriate trigger type (e.g., After Field Edit, On Entry, etc.)
- Select Execute Script as the action type
- Configure the action:
- Script: Select "Orderful | Generate 940 WA"
- Deployment: Select "Orderful | Generate 940 WA"
- Optionally add conditions to control when the action executes
4. Set Workflow Conditions (Required)
To ensure the action only runs for appropriate sales orders, add conditions such as:
- Status = Pending Fulfillment (or other appropriate status)
- Location has a vendor assigned
- Vendor has 940 enabled (check via location configuration)
- Order Type = Drop Ship or Warehouse Fulfillment
- Any custom field criteria specific to your business logic
Example Workflow Configuration
Auto-Generate for Drop-Ship Orders
This example automatically generates 940 documents for drop-ship orders:
Workflow Settings:
- Record Type: Sales Order
- Trigger: After Record Submit
- Init On Create: True
Workflow State:
- Name: Auto-Generate 940 for Drop Ship
- Trigger Type: On Entry
Workflow Action:
- Type: Execute Script
- Script: Orderful | Generate 940 WA
- Conditions:
- Status = Pending Fulfillment
- Shipping Method contains "Drop Ship"
- Location is NOT empty
Conditional Generation Based on Field
This example only generates 940 when a custom checkbox is enabled:
Workflow Action Conditions:
- Status ≠ Cancelled
- Use 3PL Fulfillment = True (custom field)
- Location has Vendor assigned
What the Action Does
When executed, the workflow action:
- Loads the Sales Order record
- Sets the
Ready to Process (Warehouse Shipping Order)field totrue - Saves the record
This triggers the standard Orderful 940 processing logic, which:
- Generates the 940 EDI message payload
- Creates an Orderful Transaction record
- Dispatches the transaction to Orderful via API (if autosend is enabled)
Note: Unlike other generate actions, this does NOT set the Force Autosend flag - the 940 follows its own autosend logic.
This is the same functionality as clicking the "Generate 940" button manually.
Error Handling
If the workflow action encounters an error:
- The error is logged to the script execution log (Error level)
- The workflow will halt or continue based on your workflow configuration
- Check Customization > Scripting > Script Execution Log for detailed error information
- Any errors during EDI generation will be captured on the resulting Orderful Transaction record
Troubleshooting
Action Not Executing
- Verify the script deployment is Released and Deployed
- Check workflow conditions are being met
- Review the workflow execution log
- Ensure the user role has permission to execute the script
940 Not Being Generated
- Verify the sales order has a location assigned
- Verify the location has a vendor assigned
- Check that the vendor has 940 enabled in Orderful configuration
- Check that ISA IDs are configured for the vendor
- Verify the sales order has required data (line items, shipping info, etc.)
- Review the Orderful Transaction record for error messages
- Check the script execution log for detailed error information
Duplicate 940 Documents
- Add a condition to prevent re-triggering on already processed sales orders
- Check for existing Orderful Transaction records before executing
- Use workflow state management to prevent multiple executions
- Consider checking order status to avoid processing cancelled orders
Best Practices
- Validate Location/Vendor: Ensure location and vendor are set before triggering
- Add Status Checks: Only trigger on confirmed orders to avoid processing incomplete records
- Check Vendor Configuration: Verify vendor has 940 enabled before generating
- Avoid Duplicate Processing: Ensure workflow doesn't trigger multiple times for the same sales order
- Test in Sandbox: Thoroughly test your workflow in a sandbox environment before deploying to production
- Monitor Execution: Regularly review script execution logs during initial rollout
- Consider Timing: Trigger after inventory allocation and ship date confirmation
- Handle Cancellations: Exclude cancelled orders from automatic processing
Integration with Warehouse/3PL Process
Consider these workflow triggers based on your fulfillment process:
- After Order Created: Trigger immediately after sales order creation for drop-ship
- After Inventory Allocated: Wait until items are allocated before sending to warehouse
- After Manual Review: Require approval before sending to 3PL
- After Ship Date Confirmed: Ensure ship dates are set before sending
- Custom Warehouse Flag: Use a custom field to control when orders are ready for warehouse
940 Use Cases
The 940 is typically used in these scenarios:
- Drop-Ship: Vendor ships directly to customer
- 3PL Fulfillment: Third-party logistics provider handles fulfillment
- Warehouse Transfer: Shipping order to external warehouse
- Cross-Dock: Items shipped through a warehouse without storage
Location and Vendor Configuration
For 940 to work properly:
- Location Setup: Sales order must have a location assigned
- Vendor Assignment: The location must have a vendor assigned in NetSuite
- Vendor as Entity: The vendor must be configured as an Orderful Entity
- 940 Enabled: The vendor entity must have 940 enabled with ISA IDs configured
Updated 3 months ago
