Overview

Orderful for NetSuite is a native SuiteApp that connects NetSuite to the Orderful EDI platform for automated, bidirectional EDI document exchange. It runs entirely inside NetSuite — no middleware, no external servers, no manual file transfers.

The SuiteApp receives inbound EDI documents (like purchase orders) and automatically creates the corresponding NetSuite records. For outbound, it generates EDI documents (like invoices and ship notices) directly from your existing NetSuite workflows. Configuration is per-customer, so each trading partner can have its own EDI setup without affecting others.

How It Works

The SuiteApp communicates with Orderful via a Poller Communication Channel that syncs data every 15 minutes.

  • Inbound: The poller retrieves new EDI documents from Orderful, stages them as Orderful Transaction records, and processes them through the mapping and record-creation pipeline
  • Outbound: When NetSuite records reach the appropriate state (e.g., a sales order is approved, an item is fulfilled, an invoice is created), the SuiteApp generates the corresponding EDI document and sends it to Orderful

The SuiteApp supports both Orderful JSON and Mosaic data formats for supported transactions. For custom field mapping beyond the standard configuration, the SuiteApp includes a JSONata mapping engine that supports per-customer, self-service transformations.

Supported Transaction Types

Order-to-Cash

TypeDirectionDescriptionNetSuite Record
850 Purchase OrderInboundCreates sales orders from EDI purchase orders with item/UOM resolution, order splitting, and pricing optionsSales Order
875 Grocery Purchase OrderInboundGrocery-format purchase orders, same processing pipeline as 850Sales Order
855 PO AcknowledgmentOutboundAcknowledges received orders, with auto-send on approval or workflow triggerSales Order
856 Advance Ship NoticeOutboundGenerates ASNs with manual or auto packing, SSCC18 labels, and hierarchical packagingItem Fulfillment
810 InvoiceOutboundCreates EDI invoices with allowances, charges, and shipping data cross-referencesInvoice
880 Grocery InvoiceOutboundGrocery-format invoicesInvoice

Warehouse & 3PL

TypeDirectionDescriptionNetSuite Record
940 Warehouse Shipping OrderOutboundSends fulfillment instructions to 3PL warehouses from sales or transfer ordersSales Order / Transfer Order
945 Warehouse Shipping AdviceInboundReceives fulfillment confirmations from 3PLs and creates item fulfillmentsItem Fulfillment
943 Stock Transfer Shipment AdviceOutboundSends transfer order shipment details to 3PL partnersItem Fulfillment
944 Stock Transfer Receipt AdviceInboundReceives transfer order receipt confirmations from 3PLsItem Receipt
947 Inventory Adjustment AdviceInboundReceives inventory adjustments from 3PL warehouses with configurable reason codesInventory Adjustment

Other

TypeDirectionDescriptionNetSuite Record
846 Inventory AdviceOutboundReports inventory availability using NetSuite Saved Searches or Datasets
860 Change Order (Buyer Initiated)InboundApplies buyer-requested changes (quantity, pricing, dates) to existing sales ordersSales Order
864 Text MessageInboundReceives text-based EDI messages and creates notes on the associated entityNote

Simplified Formats

For trading partners that don't use X12, the SuiteApp also supports simplified (non-X12) versions of core transactions:

TypeDirectionNetSuite RecordX12 Equivalent
Simplified Purchase OrderInboundSales Order850
Simplified PO AcknowledgmentOutboundSales Order855
Simplified ASNOutboundItem Fulfillment856
Simplified InvoiceOutboundInvoice810
📘

Custom Process Mode

Any transaction type can be configured to "process as custom" on a per-customer basis. In this mode, the SuiteApp stages the EDI data as an Orderful Transaction record but skips native processing, allowing developers to build custom handling via SuiteScript. See the Developer Extensibility Guide for details.

Key Capabilities

  • Per-customer configuration: Each trading partner gets its own EDI setup — enabled transaction types, handling preferences, item cross-references, and mapping rules
  • Order splitting: Inbound purchase orders can be automatically split by ship-to address, store location, or SDQ segment
  • Packing application: Built-in interface for manual carton/pallet packing with SSCC18 barcode generation, or auto-pack using item dimensions
  • Shipping labels: Generate and print SSCC18 shipping labels with GS1 barcodes directly from NetSuite
  • Handling preferences: Configure whether outbound transactions are sent automatically (on approval, on shipment, on invoice creation) or via custom workflow
  • Multi-subsidiary support: ISA IDs can be configured at the subsidiary level for organizations with multiple business units
  • JSONata mapping engine: Per-customer custom field mapping for both inbound and outbound transactions
  • Developer extensibility: Extend native functionality with custom SuiteScript, JSONata mapping, and custom process mode

For the full feature breakdown, see Features.