ml-connector
Oracle Fusion Cloud ERPTableau

Oracle Fusion Cloud ERP and Tableau integration

Oracle Fusion Cloud ERP stores your financial records, suppliers, and purchase transactions. Tableau turns that data into interactive dashboards and reports. Connecting the two keeps your business intelligence current without manual data exports and re-imports. Finance teams can build dashboards on live Oracle Fusion data, and operational dashboards automatically refresh when suppliers, invoices, or GL postings change in the ERP.

How Oracle Fusion Cloud ERP works

Oracle Fusion Cloud ERP is a multi-tenant SaaS ERP suite covering Financials, Procurement, Supply Chain, and HR. It exposes invoices, payments, suppliers, purchase orders, customers, receivables invoices, journal batches, headers, lines, and GL accounts through REST APIs at customer-specific pod URLs following the pattern https://{pod}.fa.{region}.oraclecloud.com/fscmRestApi/resources/. The API uses OData-style query parameters like q, fields, expand, limit, and offset for filtering and pagination. Authentication is OAuth 2.0 Client Credentials or Authorization Code grant against an OCI Identity Domain, with tokens valid for approximately one hour and presented as Bearer tokens in the Authorization header. Oracle Fusion Cloud does not support direct outbound webhooks for standalone connectors, so data is read by polling the REST API every 5 to 15 minutes, filtering by LastUpdateDate or CreationDate.

How Tableau works

Tableau is a business intelligence platform available in two deployment models: Tableau Cloud (SaaS) and Tableau Server (self-hosted). It manages datasources, workbooks, views, users, groups, schedules, jobs, and permissions through REST APIs. The API base URL for Tableau Cloud follows https://{pod}.online.tableau.com/api/{version}/ while Tableau Server uses https://{your-server}/api/{version}/. Authentication uses Personal Access Tokens with session token exchange, which returns a session token valid for 240 minutes by default. Tableau communicates refresh state and system events through webhooks for 24 event types including datasource-created, datasource-updated, datasource-deleted, datasource-refresh-started, datasource-refresh-succeeded, datasource-refresh-failed, workbook-created, workbook-updated, workbook-deleted, workbook-refresh-started, workbook-refresh-succeeded, and workbook-refresh-failed. Webhooks deliver JSON payloads to a configured HTTPS endpoint when events fire, though Tableau does not perform HMAC signature verification.

What moves between them

The main flow runs from Oracle Fusion Cloud ERP into Tableau. ml-connector polls Oracle Fusion invoices, payments, suppliers, and GL posting records on a configurable schedule, typically every 5 to 15 minutes. Transformed records are written into Tableau datasources, either creating new datasources or appending to existing ones. Tableau can push refresh completion events back to ml-connector via webhooks to confirm that dashboards have updated. Reference data such as GL account lists and supplier master records are synced in the same direction to keep Tableau dashboards working with current chart of accounts and supplier hierarchies.

How ml-connector handles it

ml-connector stores Oracle Fusion OAuth 2.0 Client Credentials encrypted and refreshes the bearer token every 55 minutes to stay ahead of the one-hour JWT expiry. It queries Oracle Fusion using OData filters on LastUpdateDate to detect only new and changed records since the last poll, reducing API load and avoiding duplicate exports. For Tableau, ml-connector exchanges the Personal Access Token for a session token on each datasource publish operation, handling the 240-minute session expiry by refreshing proactively. Since Oracle Fusion Cloud does not support outbound webhooks to external connectors without Oracle Integration Cloud middleware, ml-connector initiates all pulls. When Tableau webhooks fire for datasource refresh completion, they confirm to ml-connector that export workflows succeeded. The connector maps Oracle Fusion invoice and GL account names to Tableau datasource column names, handles pagination across large result sets with OData offset parameters, and stores full audit trails so any record can be re-exported if a Tableau refresh fails partway through.

A real-world example

A mid-sized services firm runs Oracle Fusion Cloud ERP for billing, expenses, and GL, and uses Tableau Cloud for executive dashboards on revenue, margins, and cash flow. Previously, the finance controller extracted invoice and GL reports from Oracle Fusion each month, manually shaped them into CSV files, and uploaded them to Tableau datasources. The dashboards were stale within weeks, and reconciling discrepancies between Oracle Fusion and Tableau required re-tracing exports. With Oracle Fusion Cloud ERP and Tableau connected, every invoice and GL posting change flows to Tableau automatically, dashboards refresh on schedule, and the finance team can drill into current data within minutes of a transaction posting.

What you can do

  • Poll Oracle Fusion Cloud ERP for invoice, payment, supplier, and GL posting changes on a schedule you control, filtering by LastUpdateDate to capture only new and modified records.
  • Create or update Tableau datasources with transformed Oracle Fusion data, mapped to your dashboard's expected column names and data types.
  • Handle OAuth 2.0 bearer token refresh for Oracle Fusion and Personal Access Token session exchange for Tableau, so authentication flows never interrupt exports.
  • Receive Tableau datasource refresh webhooks to confirm successful publish operations, and track state so failed exports can be replayed without duplication.
  • Map Oracle Fusion GL account names, supplier hierarchies, and cost center codes to Tableau dimensions, keeping dashboards aligned with the source of truth in the ERP.

Questions

How does the integration handle Oracle Fusion Cloud ERP's lack of outbound webhooks?
Oracle Fusion Cloud ERP requires polling via REST API rather than webhook push. ml-connector queries the ERP every 5 to 15 minutes using OData filters on LastUpdateDate to detect only new and changed records, reducing API overhead. Tableau webhooks can confirm refresh completion in the opposite direction.
What happens if the Tableau session token expires during a large datasource publish?
ml-connector refreshes the Personal Access Token to obtain a new session token proactively before the default 240-minute expiry window closes. If a publish operation spans multiple calls, the connector obtains a fresh session token for each batch, ensuring no mid-operation authentication failures.
Can ml-connector sync data in both directions between Oracle Fusion Cloud ERP and Tableau?
The integration is designed as one-way: data flows from Oracle Fusion Cloud ERP into Tableau datasources. Tableau is primarily a visualization and analytics platform, not a transactional system, so writes back to Oracle Fusion are not supported. Reference data such as GL accounts and suppliers are read from Oracle Fusion and synced to keep Tableau dashboards consistent.

Related integrations

Connect Oracle Fusion Cloud ERP and Tableau

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

Get started