ml-connector
Oracle E-Business SuiteSnowflake

Oracle E-Business Suite and Snowflake integration

Oracle E-Business Suite manages your company's financial and procurement operations. Snowflake serves as your central data warehouse for analytics, reporting, and compliance. Connecting them syncs invoices, purchase orders, GL codes, and vendor masters from EBS into Snowflake automatically, eliminating manual exports and spreadsheet reconciliation. Finance teams get real-time visibility into AP and procurement without building custom integrations.

How Oracle E-Business Suite works

Oracle E-Business Suite exposes integration points through the Integrated SOA Gateway, which deploys REST or SOAP services from an Integration Repository that you administer. Access to invoices, purchase orders, GL accounts, vendors, and payments requires HTTP Basic Authentication or a session token obtained via login endpoint, plus application context headers that route the request to the correct EBS module and organization. There are no webhooks; ml-connector must poll configured service aliases at intervals you set, filtering by LAST_UPDATE_DATE to capture changes. EBS is on-premises or hosted, so each customer provides its own hostname and port. Write operations insert into open interface tables, which are then processed asynchronously by concurrent programs, not immediately reflected in base tables.

How Snowflake works

Snowflake is a cloud data warehouse accessible via REST SQL API and REST resource APIs. Authentication uses key pair authentication with RSA private key and JWT, or programmatic access tokens. Snowflake stores data in tables you define; there are no built-in finance objects, so the integration creates tables for invoices, purchase orders, GL accounts, vendors, and other entities. Data loads via INSERT statements over REST; Snowflake Tasks and Streams enable change detection and incremental updates. Queries return asynchronously via a statement handle that ml-connector polls for completion. The warehouse must have AUTO_RESUME enabled. Snowflake uppercases unquoted identifiers, so consistent quoting in table and column names is required.

What moves between them

Invoices, purchase orders, GL code combinations, vendors, and items flow from EBS into Snowflake tables. The sync runs on your chosen schedule, typically daily or weekly. ml-connector polls EBS APIs for records modified since the last sync, transforms the XML or JSON responses into a normalized schema, and inserts them into Snowflake. The connector reads only; EBS remains the system of record for modifications. In Snowflake, transformation views and Streams track changes for downstream analytics and compliance reporting.

How ml-connector handles it

ml-connector stores the EBS hostname, port, username, and password encrypted, then builds HTTP Basic Auth headers for each polling request to EBS REST services. It includes the required application context headers (ctx_responsibility, ctx_orgid, etc.) so EBS routes the request correctly. Session tokens are cached and refreshed on 401 responses. For Snowflake, ml-connector stores the RSA private key encrypted and generates a JWT on each batch of requests, then POST rows to the SQL API endpoint. EBS polling filters by LAST_UPDATE_DATE and uses limit/offset pagination; concurrent program delays mean invoice imports may take minutes, so the connector reruns on a schedule rather than waiting for single requests. Snowflake SQL statements execute asynchronously, returning a statement handle; ml-connector polls that handle until the query completes or fails. Network policies may require connector IP whitelisting. The integration maps EBS GL_CODE_COMBINATIONS to Snowflake GL accounts and PO_VENDORS to vendor tables. Idempotency keys prevent duplicate rows on retries.

A real-world example

A mid-market manufacturing company runs Oracle EBS for financials and procurement across multiple business units. Before the integration, the data analytics team extracted invoices, purchase orders, and GL balances weekly from EBS via JDBC scripts, loaded them into CSV files, then manually staged them into Snowflake for month-end close reporting. With Snowflake connected to EBS via ml-connector, invoices and POs land in Snowflake automatically on a daily cadence, giving the finance controller a live view of cash position and AP aging without manual intervention.

What you can do

  • Sync invoices, purchase orders, GL codes, and vendor masters from EBS into Snowflake on a schedule you control.
  • Transform EBS XML and REST payloads into normalized Snowflake tables, handling multi-currency and multi-organization EBS hierarchies.
  • Authenticate EBS with HTTP Basic Auth or session tokens and Snowflake with RSA key pair authentication.
  • Handle EBS polling delays and concurrent program execution times by rescheduling syncs and tracking import status.
  • Enable Snowflake Streams and SQL views for incremental analytics and financial reconciliation without rekeying data.

Questions

How does the integration handle EBS session token expiry and concurrent program delays?
ml-connector caches the EBS session token and refreshes it automatically when a 401 response is returned. For concurrent programs, the integration polls the open interface table at a delayed schedule; for example, if invoices are loaded at 2 PM, the next sync runs at 4 PM to allow the import concurrent program time to complete. LAST_UPDATE_DATE filtering ensures no records are missed between runs.
What authentication does Snowflake require and how is the RSA key pair stored?
Snowflake accepts key pair authentication, where ml-connector generates a JWT signed with your RSA private key on each request. The private key is stored encrypted in the ml-connector credential store and never logged. Programmatic access tokens are also supported as an alternative if key pair setup is not available.
Are writes from Snowflake back to EBS supported?
No. The integration is EBS to Snowflake only. EBS is the system of record; Snowflake serves as a data warehouse for reporting and analytics. Any changes to invoices or purchase orders must be made in EBS, then synced to Snowflake on the next polling cycle.

Related integrations

Connect Oracle E-Business Suite and Snowflake

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

Get started