ml-connector
Oracle E-Business SuiteTableau

Oracle E-Business Suite and Tableau integration

Oracle E-Business Suite holds your financial, procurement, HR, and manufacturing data across the enterprise. Tableau visualizes that data for decision-makers. Without a bridge, you export GL and payroll reports from EBS by hand, upload them to Tableau, and refresh the dashboards manually or wait days for a nightly batch. Connected, financial and HR analytics update continuously as EBS records post, so your Tableau dashboards always show current balances, invoice status, and headcount.

How Oracle E-Business Suite works

Oracle E-Business Suite exposes GL transactions, AP invoices, PO headers and lines, vendors, GL code combinations, items, and HR records through REST services deployed via the Integrated SOA Gateway (ISG). Each customer hosts their own ISG instance on a specific hostname and port. Authentication uses HTTP Basic Auth (username and password) against a login endpoint that returns an XML session token, valid for 30 to 60 minutes before re-authentication is required. All requests must include application context headers specifying the responsibility, application, security group, language, and organization ID. EBS has no webhook system for cloud connectors, so ml-connector polls interface views filtered by LAST_UPDATE_DATE to detect new and updated records.

How Tableau works

Tableau exposes workbooks, data sources, views, projects, users, and refresh schedules through a REST API available in both Tableau Cloud (SaaS) and Tableau Server (self-hosted) deployments. Authentication uses a Personal Access Token (PAT) exchanged at the signin endpoint for a session token, valid for 240 minutes by default on Cloud or configurable on Server. The API is site-scoped, so operations require the site ID in the URL path. Tableau sends webhooks for 24 event types such as datasource refresh success or failure, workbook updates, and user role changes, but these are notifications only. Views and exported reports are read-only in Tableau; new data enters through data source uploads or extract refresh operations.

What moves between them

Financial records, procurement documents, and HR data flow from Oracle EBS into Tableau. GL transactions and AP invoices are polled from EBS on a daily or weekly schedule, mapped to Tableau data sources, and imported as new rows or updates to existing extracts. PO headers and vendor data are refreshed on a schedule tied to your purchasing cycle. HR records such as employee counts by department or cost center flow into separate Tableau workbooks for headcount tracking and budget variance analysis. All data moves one direction from EBS into Tableau; EBS is never updated from Tableau.

How ml-connector handles it

ml-connector stores the EBS hostname, port, username, and password encrypted, and obtains a session token at the start of each polling cycle via the ISG login endpoint. It includes the required application context headers (responsibility, application, security group, language, org ID) with every REST request, and refreshes the token on 401 responses. For Tableau, ml-connector stores the Personal Access Token encrypted and exchanges it for a session token on each run. It polls EBS at configurable intervals by querying open interface views or base tables filtered by LAST_UPDATE_DATE to find new records since the last run. Filtered result sets are then transformed into the structure expected by Tableau data sources and posted via the Tableau REST API. Because EBS write operations are asynchronous (records inserted into interface tables are imported by concurrent programs over minutes to hours), ml-connector schedules polling windows after known batch job completion times to avoid reading partially imported data. Pagination uses limit and offset to handle large result sets. Every record carries a full audit trail showing which EBS record mapped to which Tableau extract row.

A real-world example

A mid-market financial services company runs Oracle EBS for general ledger, accounts payable, and procurement. The finance team and business unit controllers use Tableau for variance analysis, invoice aging reports, and cash flow forecasting. Before the integration, the month-end close process included a manual export of GL balances, AP aging, and PO commitments from EBS, which were then uploaded to Tableau and manually mapped to the correct Tableau data sources. New invoices posted to EBS took 24 hours to appear in Tableau reports. With EBS and Tableau connected, GL transactions flow to Tableau within minutes of posting in EBS, and the finance team sees current AP aging and PO spend in real time. Month-end reporting is complete days earlier because reconciliation tables refresh automatically overnight.

What you can do

  • Poll GL transactions, AP invoices, and PO records from Oracle EBS on a schedule and sync them into Tableau data sources for financial analysis dashboards.
  • Map EBS GL accounts and cost centers to Tableau workbook filters and dimensions so controllers see budget vs. actual by business unit and department.
  • Track AP invoice aging and approval status from EBS in Tableau reports, with updates flowing automatically after each posting cycle.
  • Authenticate to EBS via HTTP Basic Auth and session tokens, handle token expiry and re-authentication, and include required application context headers on every request.
  • Maintain a full audit trail on every record synced from EBS to Tableau, with replay capability if a downstream mapping or export fails.

Questions

How does ml-connector handle EBS session tokens and re-authentication?
ml-connector calls the ISG login endpoint to obtain a session token at the start of each polling cycle using your EBS username and password. Tokens expire after 30 to 60 minutes, so ml-connector stores the expiry time and re-authenticates before the token expires. If a request returns a 401, ml-connector immediately refreshes the token and retries the call. All requests include the required application context headers so the ISG can route the call to the correct EBS responsibility, application, and organization.
Why does ml-connector schedule polls after batch jobs complete in EBS?
EBS write operations are asynchronous. When you post an invoice or GL entry, it is inserted into an open interface table, then a concurrent program imports the record to the base table and runs validations. This process can take minutes to hours. If ml-connector polled immediately after the insert, it would read incomplete data. ml-connector schedules polls after known batch completion windows so it reads fully imported and validated records, avoiding false data and duplicate extracts in Tableau.
What records can ml-connector sync from EBS to Tableau?
ml-connector can sync GL transactions, AP invoices, PO headers and lines, vendors, GL code combinations, items, and HR records such as employees and departments. New and updated records are detected by filtering on LAST_UPDATE_DATE and processed on your schedule. EBS general ledger is never written to from Tableau; data flows one direction from EBS to Tableau for reporting and analysis.

Related integrations

Connect Oracle E-Business Suite and Tableau

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

Get started