ml-connector
Oracle JD EdwardsTableau

Oracle JD Edwards and Tableau integration

JD Edwards EnterpriseOne runs your financials, procurement, and manufacturing. Tableau visualizes that data for reporting and analysis. Connecting the two keeps your dashboards current without manual exports and re-publishes. GL transactions post to Tableau on a schedule you control, AP aging reports stay fresh, and procurement metrics update in real time, all while your financial audit trail stays intact in JD Edwards.

How Oracle JD Edwards works

Oracle JD Edwards EnterpriseOne is an on-premises ERP suite that exposes financials, procurement, manufacturing, and HR data through REST APIs via an Application Interface Services (AIS) Server running at your infrastructure. Authentication uses a session token obtained with a username and password, valid for 30 to 60 minutes. Key entities include the GL Account Ledger (F0911), AP Ledger (F0411), Supplier Master (F0401), Item Master (F4101), and Address Book (F0101). JD Edwards has no native outbound webhooks, so data is read by polling the data service tables with filters on the last-updated timestamp, and the connector must manage token refresh when requests return HTTP 444.

How Tableau works

Tableau is a business intelligence platform available as a cloud service (Tableau Cloud) or self-hosted (Tableau Server). It exposes workbooks, data sources, views, users, and schedules through a REST API authenticated with a personal access token (PAT) that exchanges for a session token valid for 240 minutes. Tableau publishes 24 types of events via webhooks when datasources refresh, workbooks update, or users are promoted, allowing the connector to trigger actions downstream. Key entities are datasources (which hold the actual data), workbooks (collections of visualizations), views (read-only derivations), and refresh schedules. Views and their exports are read-only, so data flows into Tableau only through datasources and extracts.

What moves between them

The main flow is JD Edwards to Tableau. GL transactions from the F0911 table, open AP records from the F0411 table, and supplier and item master data flow from JD Edwards into Tableau data sources on a polling schedule you define, typically aligned to your accounting close calendar. The connector reads these tables with date filters to capture only changes since the last poll, transforms the records to match Tableau dimension schemas (GL accounts, cost centers, supplier names), and publishes refreshed extracts. Tableau webhooks notify ml-connector when datasource refreshes succeed or fail, allowing retry or alert workflows. No data flows back to JD Edwards from Tableau; the connection is read-only on the JD Edwards side.

How ml-connector handles it

ml-connector stores both the JD Edwards user credentials and the Tableau personal access token encrypted, managing JD Edwards session token lifecycle by tracking expiry and re-authenticating before tokens expire. It polls the F0911, F0411, F0401, and F4101 tables with a maxPageSize parameter and moreRecords flag to handle pagination, filtering on the UPMJ (date updated) field to capture only records changed since the last poll run. For each batch, it maps JD Edwards GL account numbers and cost center codes to Tableau datasource columns, transforms supplier names and item descriptions, and publishes the results as datasource extracts to Tableau via the REST API. ml-connector also listens for Tableau webhook events (datasource-refresh-succeeded, datasource-refresh-failed) and can retry failed publishes or alert you if a refresh does not complete. Session tokens are cached to reduce authentication calls, and every record carries an audit trail showing when it was read, transformed, and published.

A real-world example

A mid-sized distribution company runs JD Edwards for order-to-cash and procurement, and uses Tableau Cloud for executive dashboards tracking cash flow, AP aging, and inventory turns. Before the integration, the finance team exported GL transactions and AP records from JD Edwards each month, massaged them in Excel, and manually refreshed the Tableau datasources - a process that took two full days and often introduced typos or omitted recent transactions. With JD Edwards and Tableau connected, every GL posting and AP change flows to Tableau on a nightly schedule, so the executive dashboard reflects current month-end position by morning. The finance team now spends those two days on analysis instead of data plumbing.

What you can do

  • Sync GL transactions from JD Edwards F0911 table into Tableau on a nightly or weekly schedule, keeping financial dashboards current.
  • Publish AP aging data from the F0411 Supplier Ledger into Tableau extracts, with supplier names and open invoice counts refreshed automatically.
  • Map JD Edwards GL accounts and cost centers to Tableau dimensions so dashboards slice and filter by your chart of accounts structure.
  • Manage JD Edwards session tokens transparently, re-authenticating before expiry and handling token invalidation when the AIS Server restarts.
  • Receive Tableau webhook notifications when datasource refreshes complete or fail, enabling retry logic or alerts without polling the refresh status endpoint.

Questions

Does data flow both ways between JD Edwards and Tableau?
No. The integration flows data from JD Edwards into Tableau only. GL transactions, AP records, and master data are published as refreshed extracts to Tableau data sources, so Tableau gets fresh operational snapshots for reporting. Tableau is read-only for the purposes of this integration, so no changes made in Tableau dashboards flow back to JD Edwards, preserving your single source of truth for financial data.
How does ml-connector handle JD Edwards token expiry and AIS Server restarts?
ml-connector tracks the expiry time of each JD Edwards session token and re-authenticates before it expires, avoiding requests that would fail with HTTP 444. If the AIS Server restarts unexpectedly and invalidates all active tokens, ml-connector detects the 444 response, clears the token cache, and obtains a fresh token on the next poll cycle. This ensures the integration recovers gracefully without manual intervention.
How are JD Edwards GL accounts and cost centers mapped to Tableau?
ml-connector retrieves GL account and cost center codes from the JD Edwards F0901 (Account Master) and item branch tables during the transformation step, then publishes them as separate Tableau dimensions or columns in the datasource. Your Tableau analysts can then create dashboards that slice GL totals by cost center or account, and when a new GL account is created in JD Edwards, the next extract refresh brings it into Tableau automatically.

Related integrations

Connect Oracle JD Edwards and Tableau

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

Get started