ml-connector
SYSPROOrderful

SYSPRO and Orderful integration

SYSPRO runs manufacturing and distribution operations. Orderful manages EDI communication with trading partners. Connecting the two brings purchase orders and acknowledgments from your partners directly into SYSPRO inventory and purchasing, and sends shipments and order status back to Orderful for partner notification. ml-connector handles the session token and OData authentication on the SYSPRO side and the API Key authentication on Orderful, translating between ERP records and EDI documents on a polling schedule tied to your operations cadence.

How SYSPRO works

SYSPRO exposes purchase orders, supplier records, inventory masters, invoices, and general ledger accounts through three API layers: e.net Business Objects (REST/SOAP with read-write), OData (REST GET only), and a Workflow Service. The cloud product authenticates with a session token obtained by logging in to Utilities/Logon and passing a UserId GUID on all subsequent calls. On-premise sites run SYSPRO Enterprise Edition with the QXtend SOAP framework. Polling is the only option since SYSPRO does not push outbound webhooks, and OData calls filter by timestamp fields to find changed records. Session tokens expire on logoff or timeout, and large payloads should use the SOAP/NetTcp protocol instead of REST due to URL length limits.

How Orderful works

Orderful exposes purchase orders, acknowledgments, invoices, and warehouse documents through a REST/JSON API with versioned endpoints: /v4 for create and inbox operations, /v3 for listing and retrieving records. Requests use a static API Key passed in the orderful-api-key header, not the Authorization header, and there is no token refresh or OAuth grant flow. Orderful can push incoming EDI transactions to your HTTP endpoint via webhooks or be polled every 5 to 10 minutes via GET to a polling bucket, with up to 100 documents per request. Data is region-specific (US or EU) and not synced across regions. Every transaction is routed by sender ISA Id and receiver ISA Id, which must be included in every request.

What moves between them

Purchase orders and acknowledgments flow from Orderful into SYSPRO. ml-connector retrieves EDI documents from Orderful via polling, maps the sender, line items, and quantities to SYSPRO suppliers, purchase orders, and inventory masters via e.net Business Objects, and creates or updates records in SYSPRO. In the reverse direction, ml-connector polls SYSPRO OData for updated purchase order status, receipt confirmations, and shipment notices, translates them into EDI 856 ship notices and 855 acknowledgments, and posts them back to Orderful via the REST API. The polling cadence is tied to your order and receipt cycles, typically every 15 to 30 minutes for inbound orders and every hour for outbound status updates.

How ml-connector handles it

ml-connector stores the SYSPRO session token and refreshes it when a call returns an authentication error, and stores the Orderful API Key in encrypted form. On the Orderful side, ml-connector polls the /v3 endpoint for pending documents and routes them by ISA Id to the correct SYSPRO company code. For inbound orders, it maps Orderful supplier identifiers to SYSPRO ApSupplier records and line items to InvMaster and PorMasterDetail records. For outbound status, it reads SYSPRO OData tables (filtered by PostDate for financial data or InvoiceDate for receipts) and translates the records into EDI format with the correct ISA Ids and stream setting (test or live). SYSPRO OData is read-only, so writes happen through e.net Business Objects using XML over REST or SOAP/NetTcp. EDI documents are validated against X12 or EDIFACT standards before posting. Every record carries a full audit trail, and failed mappings are logged so operators can resolve missing suppliers or inventory codes without losing the inbound order.

A real-world example

A mid-sized manufacturing distributor runs SYSPRO for purchasing, inventory, and finance, and uses Orderful to manage EDI traffic with 20+ upstream suppliers sending purchase order changes and shipping notices. Before the integration, the procurement team received Orderful EDI files via email, manually parsed line items, looked up supplier codes in SYSPRO, and entered purchase orders by hand into the system. When a supplier changed an order quantity or shipping date, the distributor had to re-enter the change and manually send a confirmation EDI message back. With SYSPRO and Orderful connected, incoming purchase orders land directly in SYSPRO with the correct supplier and inventory codes, and shipment confirmations are automatically sent back to Orderful, cutting manual data entry and reducing the cycle time from hours to minutes.

What you can do

  • Map incoming EDI purchase orders from Orderful to SYSPRO suppliers and inventory masters, creating or updating purchase orders with correct line items and quantities.
  • Retrieve purchase order updates and receipt confirmations from SYSPRO OData and post them back to Orderful as EDI acknowledgments and ship notices with correct ISA identifiers.
  • Bridge SYSPRO session-token authentication with Orderful API Key authentication, refreshing SYSPRO tokens and securely storing both credential sets.
  • Poll SYSPRO OData tables on a schedule tied to your operations cycle, validating EDI documents against X12 or EDIFACT standards before posting.
  • Track every record with a full audit trail and log failed supplier or inventory code lookups so operators can resolve issues without losing the inbound order.

Questions

Which direction does data move between SYSPRO and Orderful?
Purchase orders and acknowledgments flow from Orderful into SYSPRO, where they are mapped to suppliers and inventory masters. In the reverse direction, purchase order status, receipt confirmations, and shipment notices flow from SYSPRO back to Orderful as EDI ship notices and acknowledgments. Both directions run on a polling schedule tied to your order and receipt cycles.
How does ml-connector handle SYSPRO session tokens and Orderful API Keys?
ml-connector logs into SYSPRO using Utilities/Logon credentials and maintains the session token, refreshing it when a call returns an authentication error. Orderful API Keys are retrieved once from the Orderful UI and stored encrypted in ml-connector, then passed in the orderful-api-key header on every request. No token refresh is needed for Orderful since API Keys are long-lived.
What happens when a supplier code or inventory master does not exist in SYSPRO?
ml-connector validates that Orderful supplier identifiers map to SYSPRO ApSupplier records and line items map to InvMaster records before posting. If a lookup fails, the record is logged with the missing code or master and is not lost; an operator can resolve the issue and replay the record without re-receiving the inbound order.

Related integrations

Connect SYSPRO and Orderful

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started