ml-connector
Oracle E-Business SuiteSalesforce

Oracle E-Business Suite and Salesforce integration

Oracle E-Business Suite runs financials and procurement. Salesforce runs sales and customer relationships. Connecting them keeps your customer master and booked order pipeline synchronized across both systems. When a deal closes in Salesforce, the customer and order flow into Oracle E-Business Suite without re-entry. New customer master data in EBS shows up in Salesforce so the sales team sees up-to-date company and contact information.

How Oracle E-Business Suite works

Oracle E-Business Suite (R12.2) exposes financials, procurement, and HR data through the Integrated SOA Gateway (ISG), deployed as REST web services from the Integration Repository. Each customer provides their own hosted endpoint via HTTPS with Basic Auth (username and password) or a session token obtained by logging in via the token endpoint. The platform requires application context headers on every call such as responsibility, organization, and language. Key entities include AP invoices, PO vendors and orders, GL accounts, customers (HZ_CUST_ACCOUNTS), and revenue lines (RA_INTERFACE_LINES_ALL). Oracle E-Business Suite has no webhook system, so polling of open interface views filtered by LAST_UPDATE_DATE is the standard approach.

How Salesforce works

Salesforce is a cloud CRM with REST API covering Accounts, Contacts, Opportunities, Orders, Invoices, and other standard objects. It authenticates via OAuth 2.0 Client Credentials Flow, requiring a Consumer Key, Consumer Secret, and My Domain URL. Tokens expire after a configurable timeout (default 2 hours). Salesforce supports Change Data Capture (CDC) for real-time push notifications of Account, Contact, Opportunity, and Order changes over 72 hours, or polling via GET /sobjects/<Object>/updated/ with a datetime range. Invoice and Order objects require Revenue Cloud in some editions. Rate limits are enforced per org and license type.

What moves between them

Data flows primarily from Salesforce into Oracle E-Business Suite. When a deal closes in Salesforce, the Account is mapped to an HZ_CUST_ACCOUNTS customer in EBS (creating or updating as needed), and the Order with its line items is inserted into RA_INTERFACE_LINES_ALL for revenue recognition. Customer contact information and account attributes are synchronized bi-directionally so both systems stay aligned on who the customer is and where to reach them. Revenue lines remain read-only in EBS unless a manual adjustment is approved. Salesforce Contacts map to HZ_PARTIES (customer person records) in EBS.

How ml-connector handles it

ml-connector stores the OAuth client credentials encrypted and refreshes the Salesforce bearer token before each call, using CDC for real-time Account and Order updates when available or polling via the updated endpoint when CDC is not configured. On the EBS side, it accepts the customer-specific ISG hostname and port, sends Basic Auth or a session token obtained at login time, and includes the required application context headers (responsibility, organization, language). It maps Salesforce Accounts to EBS customer master data by matching on external ID or creating new customers if not found. Orders are inserted into the RA_INTERFACE_LINES_ALL open interface table with Account ID and Order Line Item detail, then EBS runs the concurrent program to import the revenue lines into base tables. EBS session tokens expire in 30-60 minutes, so ml-connector stores the token, tests it on each cycle, and re-authenticates on 401. Concurrent programs for revenue import may take several minutes, so ml-connector tracks the request and polls the import status rather than waiting synchronously. Salesforce rate limits are managed with exponential backoff and jitter. A full audit trail records every customer and order record with source and target IDs.

A real-world example

A mid-market B2B software company runs Oracle E-Business Suite for finance and accounting, and Salesforce for sales pipeline management. Previously, when a deal closed, the sales team would notify finance via email, and the accounting team would manually create a new customer in EBS if needed, then hand-enter the order line items into the revenue recognition module. This process was slow, error-prone, and created reconciliation pain at month-end when Salesforce showed closed deals that hadn't yet appeared in EBS revenue. With Salesforce and Oracle E-Business Suite connected, the moment a deal is marked Closed Won in Salesforce, the customer and order automatically sync into EBS, the concurrent program imports the revenue lines, and the finance team can see the full pipeline in their GL reports without waiting for manual entry.

What you can do

  • Map Salesforce Accounts to Oracle E-Business Suite customers (HZ_CUST_ACCOUNTS) by external ID or create new customers on sync.
  • Sync Salesforce Orders and line items into EBS revenue interface tables (RA_INTERFACE_LINES_ALL) for automated revenue recognition.
  • Keep customer contact and company details aligned in both directions so Salesforce has up-to-date EBS customer master data.
  • Manage OAuth token refresh and EBS session token expiry, retrying on 401 and handling concurrent program delays.
  • Maintain a full audit trail of every customer and order record with source and target IDs for reconciliation and replay.

Questions

Which direction does data flow between Salesforce and Oracle E-Business Suite?
The main flow is from Salesforce into Oracle E-Business Suite. Accounts map to EBS customer master data, and Orders insert into the revenue interface table for EBS to import and recognize. Customer contact and account attributes are synchronized in both directions so both systems stay aligned. EBS revenue lines remain read-only and do not sync back to Salesforce.
How does ml-connector handle Oracle E-Business Suite's customer-hosted endpoints and session tokens?
Each EBS customer provides their own ISG hostname and port. ml-connector stores this endpoint along with the Basic Auth credentials or refreshes a session token by calling the EBS login endpoint. Because tokens expire in 30-60 minutes, ml-connector tests the token on each cycle and re-authenticates on 401. It also includes the required application context headers (responsibility, organization, language) on every call so EBS routes the request to the correct module.
What happens after ml-connector inserts an Order into the EBS revenue interface table?
ml-connector inserts the Order and its line items into RA_INTERFACE_LINES_ALL, then EBS runs a concurrent program to validate and import the records into base tables. This import can take several minutes, so ml-connector does not wait synchronously. Instead it tracks the concurrent request, polls the import status, and logs the result in the audit trail so you can see when the order was fully recognized in the GL.

Related integrations

Connect Oracle E-Business Suite and Salesforce

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

Get started