ml-connector
Oracle E-Business SuiteLooker

Oracle E-Business Suite and Looker integration

Oracle E-Business Suite stores financial and procurement transactions. Looker provides dashboards and data analysis. When connected, EBS finance data flows into the warehouse behind Looker, so finance teams can analyze invoice aging, GL account balances, purchase order spending, and vendor performance without re-keying or manual exports. The integration manages the different authentication models and polling schedules so EBS records are always fresh in Looker.

How Oracle E-Business Suite works

Oracle E-Business Suite (R12.2) exposes invoices, purchase orders, vendors, GL accounts, GL journals, inventory items, and customer accounts through the Integrated SOA Gateway (ISG), which deploys REST or SOAP web services from the Integration Repository. Each customer hosts the ISG on their own hostname and port with no fixed public URL. Authentication uses HTTP Basic Authentication or session tokens obtained via login endpoint, and application context headers specify the responsibility, org, and language for each call. EBS has no modern webhook system, so ml-connector polls the open interface views and base tables filtered by LAST_UPDATE_DATE with limit-offset pagination on a schedule tied to your accounting periods.

How Looker works

Looker is part of Google Cloud and connects to data warehouses to expose modeled business data through OAuth2 REST APIs. It does not natively store ERP data; instead, it queries and analyzes whatever is in the warehouse it connects to. Every API call requires OAuth2 client credentials exchanged for a bearer token that expires after one hour, with no refresh token endpoint. Looker exposes queries, looks, dashboards, users, and scheduled plans through REST, and uses Scheduled Plans to send data to webhooks, email, S3, or SFTP. The API enforces a 5000-row limit per query call without streaming and does not provide inbound webhooks or real-time change events, so pull-based access is the standard integration pattern.

What moves between them

Invoice, purchase order, vendor, and GL account records flow from Oracle E-Business Suite into the data warehouse that Looker connects to. ml-connector reads EBS invoices and GL journals on a schedule aligned with your close calendar, transforms them to a warehouse schema, and loads them so Looker dashboards and scheduled reports can analyze transaction detail, GL balances, vendor spend, and invoice aging. Reference data such as GL accounts and cost centers is synced first so Looker filters match the EBS account structure. Data flows one direction: EBS to Looker. Looker remains read-only; ml-connector does not write financial transactions back into EBS.

How ml-connector handles it

ml-connector accepts the customer-specific Oracle E-Business Suite hostname and port, since there is no fixed public endpoint, and uses HTTP Basic Authentication to obtain a session token. When the token expires, ml-connector re-authenticates. For Looker, ml-connector exchanges OAuth2 client credentials for a bearer token and refreshes it every hour before expiry. The integration polls EBS open interface and base tables filtered by LAST_UPDATE_DATE and limit-offset pagination on a schedule matched to your accounting periods so new invoices and GL entries are captured before month-end close. Invoice records are mapped to Looker dashboard filters by GL account and cost center so finance teams can slice spending by dimension. ml-connector validates that all EBS GL accounts referenced in invoices exist in the Looker model before loading, and tracks the polling checkpoint so a network outage does not cause duplicates. Because Looker's OAuth2 tokens do not refresh, ml-connector calls the login endpoint again every hour rather than waiting for a token to expire. Every record carries an audit trail and polling is idempotent, so if a load fails partway through, the next run picks up from the checkpoint without replaying records.

A real-world example

A mid-sized manufacturer uses Oracle E-Business Suite for procurement and GL posting and Looker for financial dashboards and analysis. Before the integration, the controller exported invoices and GL journals from EBS every Friday and loaded them into the warehouse by hand, a process that took two hours and often had mismatches when new GL accounts were added to EBS. Month-end close required manual verification that Looker dashboards matched the GL trial balance. With Oracle E-Business Suite and Looker connected, invoices and GL entries flow automatically on the day they are entered in EBS, GL accounts are synced so dashboard filters match the chart of accounts, and the controller can drill into transaction detail in Looker without hunting through EBS. The manual export and load step is eliminated, and month-end dashboards are accurate the day the close period ends.

What you can do

  • Extract invoices, purchase orders, GL journals, and vendors from Oracle E-Business Suite via ISG REST polling on a schedule matched to your close calendar.
  • Load EBS financial data into the warehouse behind Looker so dashboards and reports show current transaction detail, GL balances, and spending by vendor and cost center.
  • Map EBS GL accounts and cost centers to Looker dashboard filters so finance teams can slice data by the same dimensions used in the chart of accounts.
  • Authenticate Oracle E-Business Suite with HTTP Basic Auth and session tokens, and Looker with OAuth2 client credentials, managing token expiry and re-authentication for both.
  • Track polling checkpoints and handle network outages gracefully, so repeated runs do not cause duplicate records and finance data stays fresh without manual intervention.

Questions

Does the integration work with on-premises Oracle E-Business Suite or only cloud editions?
The integration works with on-premises EBS (R12.2) via the Integrated SOA Gateway. ml-connector accepts the customer-specific ISG hostname and port, since EBS publishes no fixed public endpoint. Session tokens expire after 30 to 60 minutes depending on EBS configuration, so ml-connector re-authenticates when a call returns 401.
How often are Oracle E-Business Suite records refreshed in Looker?
ml-connector polls on a schedule you define, typically daily or aligned to your accounting period close. The integration filters EBS tables by LAST_UPDATE_DATE and uses pagination, so each run captures new invoices and GL entries since the previous poll. Polling is idempotent and checkpointed, so network outages do not cause duplicates.
Why does Looker's OAuth2 token need to be refreshed every hour?
Looker's OAuth2 access tokens expire after exactly one hour with no refresh token endpoint. Rather than waiting for expiry to fail an API call, ml-connector calls the login endpoint again every hour to obtain a fresh token, ensuring uninterrupted access to Looker for data loads and queries.

Related integrations

Connect Oracle E-Business Suite and Looker

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

Get started