ml-connector
Oracle Fusion Cloud ERPDatabricks

Oracle Fusion Cloud ERP and Databricks integration

Oracle Fusion Cloud ERP holds your transactional financial data across Accounts Payable, Accounts Receivable, General Ledger, Procurement, and Supply Chain. Databricks is where you perform analytics, reconciliation, and operational reporting on that data. ml-connector moves invoices, payments, suppliers, purchase orders, journal entries, and GL accounts from Oracle Fusion Cloud ERP into Databricks tables on a schedule, so your analytics and reporting teams work with current data without manual export and re-import. Every load carries a full audit trail and can be replayed if a transformation downstream fails.

How Oracle Fusion Cloud ERP works

Oracle Fusion Cloud ERP is Oracle's cloud-native ERP suite for Financials, Procurement, Supply Chain, Project Management, and HR. It exposes financial and operational entities through REST APIs on a customer-specific pod URL against an OCI Identity Domain using OAuth 2.0 Client Credentials. Tokens are JWTs valid for one hour. Key entities include invoices, payments, suppliers, purchase orders, customers, receivables invoices, journal batches, journal headers, journal lines, and GL accounts. The API supports OData-style query parameters (q, fields, expand, limit, offset) and filtering by LastUpdateDate or CreationDate to support incremental polling. Oracle Fusion Cloud ERP has no direct outbound webhooks without Oracle Integration Cloud middleware, so connectors must poll on a schedule, typically every 5 to 15 minutes.

How Databricks works

Databricks is a cloud-based data intelligence platform built on Apache Spark and Delta Lake, available on AWS, Azure, and GCP. It provides compute, data governance via Unity Catalog, and SQL and Spark job execution. Databricks accepts data via REST API at workspace-specific URLs and can write data into SQL-managed tables or Unity Catalog volumes. Authentication uses OAuth 2.0 Client Credentials with a Service Principal, or Personal Access Tokens. Bearer tokens expire in 3600 seconds and require refresh logic. Databricks is primarily a data transformation and analytics layer; it has no native finance or ERP objects but stores any incoming data as-is for downstream transformation by analytics teams.

What moves between them

The main flow runs from Oracle Fusion Cloud ERP into Databricks. ml-connector polls Oracle Fusion Cloud ERP on a configurable schedule (typically daily or weekly for financial close cycles), extracts invoices, purchase orders, journal entries, supplier records, and GL account master data, and writes each dataset into a separate Databricks SQL table within your workspace. Each table is initialized on first load and then updated incrementally, using Oracle Fusion Cloud ERP's LastUpdateDate field to load only new and changed records since the last run. Because Databricks is an analytics platform with no transactional write operations back to Oracle Fusion Cloud ERP, data flows in one direction only.

How ml-connector handles it

ml-connector authenticates to Oracle Fusion Cloud ERP using OAuth 2.0 Client Credentials against your customer-specific pod URL and stores the OAuth token for the duration of the one-hour window, refreshing before expiry. It builds OData query filters to extract only records created or updated since the last run, using timestamp tracking to avoid duplicates across polling intervals. For Databricks, ml-connector obtains a separate OAuth token using your Service Principal and workspace endpoint, then writes extracted records as JSON rows into SQL tables, using an upsert pattern so updated records from Oracle Fusion Cloud ERP overwrite stale rows. ml-connector polls on a schedule (not triggered by Oracle Fusion Cloud ERP Business Events, which require Oracle Integration Cloud middleware) and retries failed table writes with exponential backoff. Every record carries metadata including the load timestamp and the oracle run id so your analytics team can trace data lineage and replay loads if a downstream Spark job or transformation fails.

A real-world example

A mid-market business services firm runs Oracle Fusion Cloud ERP for Finance, Procurement, and HR, and maintains a Databricks warehouse for operational analytics and month-end close reporting. Previously, the finance team exported invoice, payment, and GL data from Oracle Fusion Cloud ERP as CSV files on a weekly schedule and manually loaded them into Databricks, causing data to be 7 to 10 days stale during rolling monthly reconciliation. With Oracle Fusion Cloud ERP and Databricks connected, invoice and GL data flows automatically into Databricks every 24 hours, so the analytics and FP&A teams work with current data the moment it is available in the ledger. Month-end close reporting can pull the most recent GL state without waiting for manual extracts, and the firm eliminates the risk of load errors from misaligned columns or missing rows.

What you can do

  • Extract invoices, payments, purchase orders, suppliers, and GL accounts from Oracle Fusion Cloud ERP and load them into Databricks SQL tables on a polling schedule.
  • Use Oracle Fusion Cloud ERP's LastUpdateDate filtering to pull only new and changed records since the last run, avoiding duplicate loads.
  • Authenticate both Oracle Fusion Cloud ERP and Databricks using OAuth 2.0 with automatic token refresh before expiry.
  • Track extraction timestamps and record lineage so your analytics team can trace data back to its source and replay loads if needed.
  • Write data into Databricks SQL-managed tables or Unity Catalog volumes, where it integrates with existing Spark and SQL transformations.

Questions

Does ml-connector support Oracle Fusion Cloud ERP's Business Events system?
Oracle Fusion Cloud ERP Business Events require Oracle Integration Cloud (OIC) middleware and cannot push directly to external URLs. ml-connector uses polling instead, extracting records on a schedule you control (typically daily) and filtering by LastUpdateDate to load only new and changed records since the last run. This approach works well for financial close cycles and analytics pipelines that do not require sub-minute latency.
Which Oracle Fusion Cloud ERP entities can ml-connector extract to Databricks?
ml-connector extracts invoices, payments, suppliers, purchase orders, customers, receivables invoices, journal batches, journal headers, journal lines, and GL accounts. Each entity is written to a separate Databricks SQL table, initialized on first load and then incrementally updated using Oracle Fusion Cloud ERP's LastUpdateDate field to identify changed records.
What happens if ml-connector's Databricks write fails partway through a load?
ml-connector tracks extraction timestamps and the source oracle record id in each table row, allowing your analytics team to identify which records were successfully loaded and which were not. If a write fails, ml-connector retries with exponential backoff, and if the retry also fails, the load is marked as incomplete so you can diagnose the root cause (permission, table schema mismatch, token expiry) before attempting a replay.

Related integrations

Connect Oracle Fusion Cloud ERP and Databricks

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

Get started