ml-connector
Oracle JD EdwardsCin7

Oracle JD Edwards and Cin7 integration

Oracle JD Edwards runs your on-premises financials and procurement. Cin7 Core manages your cloud inventory and accounting. Connecting the two keeps your supplier master, purchase orders, and general ledger aligned across both systems. New suppliers and purchase orders in Oracle JD Edwards sync into Cin7 without manual re-entry, and your chart of accounts stays synchronized so cost allocations are always valid.

How Oracle JD Edwards works

Oracle JD Edwards EnterpriseOne exposes the address book (vendors and customers), supplier master, purchase orders (header and detail), GL accounts, account ledger, and item master through REST APIs via an Application Interface Services (AIS) Server running at your infrastructure on a customer-specific host and port. Authentication uses a session token obtained by posting username and password to the tokenrequest endpoint, with the token returned in a jde-AIS-Auth header on all subsequent requests. Sessions typically last 30 to 60 minutes before requiring re-authentication. Oracle JD Edwards has no native outbound webhooks, so data is read by polling the data service tables with date filters to retrieve only changed records. Pagination returns up to 100 records per page by default, with a moreRecords flag and a next endpoint for continuation. Results vary based on the customer's Tools Release version.

How Cin7 works

Cin7 Core exposes suppliers, purchases, sales, customers, products, and the chart of accounts through a REST API over HTTPS with JSON request and response bodies. Authentication uses custom API key headers (api-auth-accountid and api-auth-applicationkey) rather than OAuth or Basic Auth. The API supports outbound webhooks through the Automation module for events like sale, purchase, supplier, and customer changes, though webhook payloads are not HMAC-signed and must be secured with mTLS or a query parameter token. The chart of accounts is read-only via API, so accounting records cannot be modified once posted. Purchases in Cin7 cover the full procure-to-pay lifecycle and can represent orders, invoices, or receipts depending on the Approach field value.

What moves between them

The main data flow runs from Oracle JD Edwards into Cin7. Suppliers (vendor master from address book and supplier master records) sync into Cin7 as new suppliers or updates to existing ones. Purchase orders in Oracle JD Edwards map into Cin7 as purchases, with order detail lines preserved. GL accounts from Oracle JD Edwards' account master sync into Cin7's chart of accounts so that cost allocations reference valid dimensions. The frequency is controlled by your sync schedule, typically daily or after each procurement cycle. Because Oracle JD Edwards runs on your servers with no fixed public hostname, the full AIS Server URL and credential are part of the connection setup. Cin7's chart of accounts is read-only, so accounting records cannot be written back to Cin7 from Oracle JD Edwards; only reads and mappings move in that direction.

How ml-connector handles it

ml-connector stores both credential sets encrypted: the AIS Server URL and JD Edwards user credentials on the Oracle JD Edwards side, and the Cin7 API keys on the Cin7 side. On each poll, it sends the username and password to the Oracle JD Edwards tokenrequest endpoint, receives a session token, and uses that token in the jde-AIS-Auth header for all subsequent reads. If a request returns HTTP 444, ml-connector re-authenticates immediately, since 444 signals an invalid or expired token. It queries the vendor and supplier tables with a date filter on the UPMJ (date updated) field to fetch only records changed since the last poll, then paginates through large result sets using the moreRecords flag and the next endpoint. On the Cin7 side, it creates or updates suppliers by posting to the supplier endpoint with the mapped address book and vendor data, and creates purchases by posting order lines as purchase line items. GL account mappings are maintained in a reference table so that Oracle JD Edwards account codes map to Cin7 account IDs without re-entry. Service account licenses in Oracle JD Edwards must remain valid, and if the AIS Server restarts, existing tokens are invalidated, so ml-connector automatically re-requests on the next poll. IP allowlists configured on the AIS Server must include the connector's egress IP range.

A real-world example

A mid-sized manufacturing distributor runs Oracle JD Edwards on-premises for procurement, accounting, and supply chain management, and uses Cin7 Core in the cloud for inventory visibility and order management. Before the integration, the operations team manually exported suppliers and purchase orders from Oracle JD Edwards every day, then re-entered them into Cin7, a process that introduced typos and cost allocations applied to wrong GL accounts. With Oracle JD Edwards and Cin7 connected, each new supplier in Oracle JD Edwards appears automatically in Cin7, each purchase order syncs with complete line-item detail, and GL accounts in both systems stay aligned. The procurement team spends less time on manual re-entry and more time on vendor management and order fulfillment.

What you can do

  • Sync suppliers and vendor master from Oracle JD Edwards to Cin7 on a schedule you control.
  • Move purchase orders with full detail lines from Oracle JD Edwards into Cin7 as purchases.
  • Keep the GL account chart synchronized so cost allocations always reference valid dimensions.
  • Authenticate to Oracle JD Edwards with a session token that refreshes on timeout, handling the AIS Server URL stored at your infrastructure.
  • Poll for changed records using date filters and pagination, with a full audit trail on every sync run.

Questions

Can we sync GL postings from Cin7 back into Oracle JD Edwards?
No. Cin7's chart of accounts is read-only via API, so the accounting records cannot be modified once posted. The integration syncs GL accounts from Oracle JD Edwards into Cin7 for reference and cost allocation mapping, but posting GL entries always originates in Oracle JD Edwards and flows into Cin7, not the reverse.
What happens if our AIS Server restarts or the session token expires?
Oracle JD Edwards session tokens typically last 30 to 60 minutes and are invalidated if the AIS Server restarts. ml-connector detects a 444 HTTP response (invalid token) and automatically re-authenticates by posting the username and password to the tokenrequest endpoint again. Sync runs are retried with the new token, so a restart does not cause data loss.
Do we need to configure IP allowlists or any pre-built orchestrations?
Yes. Most Oracle JD Edwards instances restrict AIS Server access to whitelisted IP ranges; the connector's egress IPs must be added to the allowedHosts list on your AIS Server. Pre-built orchestrations (if used for orchestration-driven ingest) must be manually imported into your Orchestrator Studio. ml-connector works with the standard data service and polling model, so no orchestrations are required for basic supplier and purchase order sync.

Related integrations

Connect Oracle JD Edwards and Cin7

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

Get started