ml-connector
Oracle JD EdwardsWooCommerce

Oracle JD Edwards and WooCommerce integration

Oracle JD Edwards EnterpriseOne powers your finance and procurement. WooCommerce powers your online storefront. Connecting them keeps your accounting aligned with your sales. Orders placed in WooCommerce flow into Oracle JD Edwards as customer records and revenue GL transactions, posted to the correct GL account and cost center without re-entry. ml-connector handles the AIS Server authentication and the webhook-to-polling bridge, so your financials stay current with your e-commerce operations.

How Oracle JD Edwards works

Oracle JD Edwards EnterpriseOne exposes customers, GL accounts, GL transactions, vendors, and purchase orders through REST APIs provided by Application Interface Services (AIS) Server, a service running on customer infrastructure. The AIS Server uses session token authentication: the connector sends a POST request with username and password to /jderest/v2/tokenrequest and receives an opaque token that is passed in the jde-AIS-Auth header on all subsequent requests. Tokens are typically valid for 30 to 60 minutes. Oracle JD Edwards has no native outbound webhooks, so the connector polls for new transactions and customer records by querying data service tables with date filters. The AIS Server URL is customer-specific because Oracle JD Edwards is on-premises, and the customer must provide the full base URL as part of the credentials. Writes require named orchestration endpoints or form services; direct table writes are not supported via the data service.

How WooCommerce works

WooCommerce exposes orders, refunds, customers, and products through REST APIs on each customer's self-hosted WordPress site. Every WooCommerce installation has its own domain; there is no shared Woo-managed sandbox. Authentication uses API keys consisting of a Consumer Key and Consumer Secret pair, sent via HTTP Basic Auth or OAuth 1.0a. WooCommerce supports webhooks natively for push notifications when orders, customers, and products change, including topics order.created, order.updated, order.deleted, customer.created, customer.updated, and customer.deleted. Webhook signatures use HMAC-SHA256 keyed with the webhook secret. WooCommerce does not have native ERP features such as vendors, purchase orders, GL accounts, or accounting dimensions; it is an e-commerce platform that tracks products, orders, and customers only.

What moves between them

The main data flow is from WooCommerce into Oracle JD Edwards. When customers place orders in WooCommerce, the connector receives webhook notifications, extracts the order amount and customer information, and posts revenue GL transactions into the Oracle JD Edwards GL account designated for online sales. Customer records from WooCommerce are also synced into the Oracle JD Edwards Address Book (F0101) so the GL is reconciled with the customer master. The connector tracks each order by ID to avoid duplicate GL postings. Because Oracle JD Edwards cloud is pull-only and has no webhooks, the connector also polls for any GL-side changes and validates them against the WooCommerce record.

How ml-connector handles it

ml-connector stores the AIS Server base URL and credentials encrypted and obtains a session token by calling POST /jderest/v2/tokenrequest at startup and before expiry. WooCommerce webhooks are configured to push order.created and customer.created events to an ml-connector ingest endpoint; the connector validates the HMAC-SHA256 signature using the Consumer Secret and processes the webhook payload. For each WooCommerce order, the connector calls the Oracle JD Edwards GL posting orchestration endpoint to create a revenue transaction in the designated GL account for online sales, with the order reference number as the batch ID to prevent duplicate posts if the webhook retries. Customer records flow into the Oracle JD Edwards Address Book (F0101) so the GL matches the customer master. Session tokens are cached and refreshed when a request returns HTTP 444 (invalid token). Because AIS Server response times depend on customer infrastructure, retries use exponential backoff with jitter. Order numbers are stored in the audit log so any failed GL post can be replayed once the downstream system is restored. IP allowlist configuration at the AIS Server is common, so the customer must confirm that the connector egress IP is whitelisted.

A real-world example

A mid-sized retailer runs WooCommerce on their WordPress site for e-commerce and Oracle JD Edwards EnterpriseOne on-premises for accounting, inventory, and customer management. Before the integration, the accounting team exported order summaries from WooCommerce daily, manually entered the revenue amounts into Oracle JD Edwards, and periodically reconciled the customer records between the two systems. At month-end, discrepancies between WooCommerce sales and the GL took days to track down. With WooCommerce and Oracle JD Edwards connected, each order is automatically posted to the GL within minutes of creation, with the customer record and revenue amount both synced. The GL stays current with actual sales without manual entry, and month-end close starts with the sales accounts already reconciled.

What you can do

  • Post WooCommerce orders into Oracle JD Edwards GL as revenue transactions under the correct GL account and cost center.
  • Sync WooCommerce customer records into the Oracle JD Edwards Address Book (F0101) so the GL reconciles with the customer master.
  • Validate WooCommerce webhook signatures using HMAC-SHA256 and the Consumer Secret to prevent fraudulent posts.
  • Authenticate Oracle JD Edwards via the AIS Server session token API and handle token refresh when tokens expire.
  • Track each order by ID and audit every GL post, with replay capability if a downstream API call fails.

Questions

Which direction does data move between WooCommerce and Oracle JD Edwards?
The main flow is WooCommerce into Oracle JD Edwards. Orders and customers from WooCommerce are posted as GL transactions and customer master records into Oracle JD Edwards. GL postings are created via orchestration endpoints, which support named batch processing to prevent duplicates. Oracle JD Edwards writes do not flow back to WooCommerce.
How does the integration handle the fact that Oracle JD Edwards has no native webhooks?
WooCommerce has native webhook support and pushes order.created and customer.created events to the ml-connector ingest endpoint in real time. ml-connector also polls the Oracle JD Edwards GL on a schedule to validate that all orders have been successfully posted. If a GL post fails, the audit log stores the order number so it can be replayed once the connection is restored.
What happens when the AIS Server session token expires?
Session tokens are typically valid for 30 to 60 minutes. ml-connector caches the token and refreshes it before expiry or when an API call returns HTTP 444. The connector also stores the AIS Server base URL and credentials encrypted, so token renewal happens transparently without re-configuration.

Related integrations

Connect Oracle JD Edwards and WooCommerce

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

Get started