ml-connector
SYSPROAdobe Commerce

SYSPRO and Adobe Commerce integration

SYSPRO runs manufacturing finance and fulfillment. Adobe Commerce runs your online storefront. Connecting them keeps your order-to-cash cycle seamless. New orders and invoices from Adobe Commerce flow into SYSPRO as AR transactions, mapped to the correct customers and GL accounts, so your financial records stay current without manual re-entry. ml-connector bridges the very different APIs on each side and moves the data on a schedule tied to your order volume.

How SYSPRO works

SYSPRO Adaptive ERP exposes suppliers, purchase orders, invoices, GL accounts, customers, and inventory through e.net Business Objects (REST and SOAP) and OData (read-only REST). Authentication uses a session token obtained by logging in to Utilities/Logon with an operator code and password, or HTTP Basic Auth with auto-generated OData credentials. SYSPRO cloud customers use https URLs with the server path and company identifier included in each request. SYSPRO publishes no webhooks, so order and invoice data is read by polling OData tables with filters on timestamp fields like PostDate and InvoiceDate at 5 to 15 minute intervals.

How Adobe Commerce works

Adobe Commerce exposes orders, invoices, customers, and products through REST and GraphQL APIs, with webhooks (synchronous, v2.4.4+) available for events like order placement and invoice creation. Authentication on PaaS uses OAuth 1.0a integration credentials, while SaaS uses IMS OAuth 2.0 client credentials with 24-hour token expiry. GL accounts are not exposed as an API resource, so the ERP applies its own accounting rules to map order line items and totals. Order and invoice data includes amounts, line items, customer information, and shipment status.

What moves between them

The main flow runs from Adobe Commerce into SYSPRO. After each order or invoice is created in Adobe Commerce, ml-connector reads the order and invoice data and creates matching AR invoices and GL postings in SYSPRO, allocated to the customer and GL accounts you have mapped. Customer records are synced so SYSPRO headcount reflects Adobe Commerce customer registrations. Reference data such as customers and product-to-GL-account mappings are configured in both directions so revenue lines land on valid SYSPRO dimensions. Because SYSPRO does not push webhooks, ml-connector polls Adobe Commerce on a regular schedule and detects new and updated orders and invoices.

How ml-connector handles it

ml-connector stores both Adobe Commerce OAuth credentials and SYSPRO operator credentials encrypted and uses them to obtain fresh authentication tokens on each poll cycle. On the SYSPRO side, it accepts the full server URL and company identifier per customer, since SYSPRO publishes no shared base URL, and validates GL accounts against that instance. Because SYSPRO cloud is pull-only, ml-connector polls Adobe Commerce orders and invoices on a schedule you define rather than waiting for a webhook push, though it can also receive Adobe Commerce webhook notifications if your version supports them. Customers and GL accounts are mapped first, so every order line references a GL account and customer that already exists in SYSPRO. Adobe Commerce rate limits return HTTP 429, so ml-connector backs off and retries, and it tracks SYSPRO session token expiry so a refresh does not turn into an outage. Every record carries a full audit trail and can be replayed if a downstream GL posting fails.

A real-world example

A mid-sized online retailer uses Adobe Commerce for their storefront across three sales channels and SYSPRO Adaptive ERP for inventory, fulfillment, and accounting. Before the integration, the finance team exported order reports from Adobe Commerce daily and manually created AR invoices in SYSPRO, matching each order to the correct customer and revenue GL account. This process took two hours daily and introduced errors when customers or products were renamed. With Adobe Commerce and SYSPRO connected, each order automatically flows into SYSPRO as an AR invoice and GL posting within minutes of checkout, mapped to the correct customer and product revenue account. Month-end close is faster because the sales ledger is already complete, and the manual order-to-cash step is gone.

What you can do

  • Automatically create AR invoices in SYSPRO for each order or invoice from Adobe Commerce, mapped to the correct customer and GL account.
  • Sync customer records from Adobe Commerce into SYSPRO so order fulfillment always references the current customer data.
  • Map Adobe Commerce products and line items to SYSPRO GL accounts so revenue postings land on the correct accounts without manual re-keying.
  • Authenticate Adobe Commerce with OAuth 1.0a or OAuth 2.0 credentials and SYSPRO with session tokens or HTTP Basic Auth.
  • Poll Adobe Commerce on a schedule you control, with retries and a full audit trail on every order and invoice.

Questions

Which direction does data move between Adobe Commerce and SYSPRO?
The main flow is Adobe Commerce into SYSPRO. Orders and invoices move from Adobe Commerce into SYSPRO as AR transactions and GL postings, while customer records are synced in both directions. SYSPRO GL accounts are read-only through the API, so ml-connector applies your configured mappings and creates new GL postings rather than updating accounts directly.
How does the integration handle SYSPRO's session token authentication and polling-only design?
ml-connector stores SYSPRO operator credentials encrypted and obtains a fresh session token at the start of each poll cycle, tracking token expiry to prevent authentication failures. Because SYSPRO cloud does not support outbound webhooks, ml-connector polls Adobe Commerce on a regular schedule tied to your order volume and detects new and updated orders and invoices.
What happens when a customer or GL account in Adobe Commerce does not have a matching record in SYSPRO?
ml-connector halts processing for that order and logs it as an audit record so you can review the mismatch. You map the missing customer or GL account, then replay the order through ml-connector's audit interface. This prevents orphaned AR transactions and ensures every posting lands on a valid GL account.

Related integrations

Connect SYSPRO and Adobe Commerce

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

Get started