ml-connector
Oracle E-Business SuiteZoho CRM

Oracle E-Business Suite and Zoho CRM integration

Oracle E-Business Suite manages your back-office financials, procurement, and supply chain. Zoho CRM tracks your customers, deals, and sales activity. Connecting the two means your vendor master, invoice records, and purchase activity flow from EBS into Zoho without re-keying, and your CRM sales pipeline can reference up-to-date procurement status. ml-connector polls your EBS instance on a schedule you control, translates the data, and keeps your CRM current.

How Oracle E-Business Suite works

Oracle E-Business Suite (R12.2) exposes vendors, purchase orders, invoices, GL accounts, and items through the Integrated SOA Gateway (ISG), a REST and SOAP interface that sits on top of the EBS database. Each customer hosts their own ISG at a custom hostname and port, with no fixed public URL. Authentication is HTTP Basic (username and password) or a session token obtained via the login endpoint. The API requires application context headers such as responsibility, organization, and security group to route requests to the correct module. EBS has no modern webhooks, so data is read by polling the open interface views filtered by LAST_UPDATE_DATE; write operations insert records into interface tables and trigger concurrent programs for import, which may take minutes to hours to complete.

How Zoho CRM works

Zoho CRM is a cloud-based customer relationship platform that exposes accounts, contacts, vendors, invoices, purchase orders, and deals through a REST API (base URL region-specific, e.g. https://www.zohoapis.com/crm/v8). Authentication is OAuth 2.0 with automatic token refresh; access tokens expire after one hour. Zoho supports webhook push notifications on create/edit/delete events, but channels expire after approximately one day and must be renewed. Invoices, purchase orders, and vendors are available only in Professional edition and above. Webhook notifications contain record IDs only, so ml-connector must fetch full payloads via GET request. The token response includes an api_domain field that must be used as the base URL for subsequent calls.

What moves between them

The main flow is Oracle E-Business Suite into Zoho CRM. EBS vendors are synced to Zoho accounts; EBS invoices and purchase orders map to Zoho invoice and purchase order records. The integration polls EBS open interface views on a schedule aligned with your accounting close cycle or more frequently if needed. When ml-connector reads new or updated vendor records from EBS, it creates or updates matching Zoho accounts. When EBS invoices are validated and ready to sync, they flow into Zoho as invoice objects linked to the corresponding account. This ensures your CRM sales team sees current vendor activity and procurement status without manual re-entry.

How ml-connector handles it

ml-connector stores your EBS hostname, port, and credentials (HTTP Basic auth username and password) encrypted in the database. On each poll cycle, it calls the EBS login endpoint to obtain a session token, then requests vendor, invoice, and purchase order records from the open interface views using LAST_UPDATE_DATE filtering and limit/offset pagination to handle large result sets. EBS session tokens expire after 30 to 60 minutes, so ml-connector re-authenticates on a 401 response. For Zoho, it uses OAuth2 client credentials or authorization code flow to obtain an access token; Zoho access tokens expire after one hour, so ml-connector refreshes before expiry. The token response contains an api_domain field for the region endpoint, which ml-connector uses for all subsequent requests. When a record is read from EBS, it is mapped to the Zoho schema: vendors become accounts, invoice details match the Zoho invoice module structure, and purchase orders sync as CRM purchase order records. The integration tracks which records have been synced via a dedup key (EBS invoice ID, vendor ID, etc.) and skips re-processing. If a Zoho API call fails with 429 (rate limit), ml-connector backs off exponentially and retries. If EBS interface table writes fail, the concurrent program import may be pending; ml-connector tracks job status and waits before proceeding. Every synced record carries an audit trail and can be replayed if needed.

A real-world example

A mid-market B2B distributor runs Oracle E-Business Suite for accounts payable, purchasing, and GL. The sales team uses Zoho CRM to track customer accounts and deal progress. Previously, when a deal was won, the sales rep manually looked up vendor and invoice history in EBS, then typed it into CRM notes. Month-end, the AP team ran an EBS extract and emailed it to the sales ops person, who manually updated Zoho. With the integration, vendor master data flows from EBS to Zoho accounts each morning. When the customer issues a purchase order in EBS, it appears in Zoho as a CRM record linked to the account, so the sales team has real-time visibility into procurement activity. AP invoices are synced to CRM and linked to vendors, so the sales team can see payment status and history without asking for an EBS report.

What you can do

  • Sync vendors from Oracle E-Business Suite to Zoho CRM as accounts, keeping customer master data current.
  • Poll EBS invoices and purchase orders on a schedule, then create matching records in Zoho linked to the correct accounts.
  • Handle EBS HTTP Basic auth with session tokens and Zoho OAuth2 refresh tokens, refreshing on expiry or 401 response.
  • Manage EBS interface table polling with LAST_UPDATE_DATE filtering and pagination for reliable, stateless incremental sync.
  • Track synced records with dedup keys, retry failed Zoho API calls with exponential backoff, and maintain a full audit trail.

Questions

What records flow between Oracle E-Business Suite and Zoho CRM?
Vendors flow from EBS to Zoho as accounts, keeping your customer master synchronized. EBS invoices and purchase orders sync to Zoho as invoice and purchase order CRM records. The flow is one direction: EBS to Zoho. CRM records do not write back to EBS, since EBS Payments are read-only.
How does the integration handle EBS session tokens and Zoho OAuth2?
ml-connector stores EBS credentials (HTTP Basic auth) encrypted and calls the EBS login endpoint to obtain a session token, which expires after 30 to 60 minutes. On a 401, it re-authenticates. For Zoho, it uses OAuth2 and caches the access token; when it expires after one hour, ml-connector refreshes from the refresh token before the next API call.
How does polling work if EBS has no webhooks?
ml-connector queries EBS open interface views filtered by LAST_UPDATE_DATE with limit/offset pagination on a schedule you set (e.g., daily or per pay cycle). Each poll reads only new or changed records since the last sync. The integration tracks which records have been synced via dedup keys and skips re-processing.

Related integrations

Connect Oracle E-Business Suite and Zoho CRM

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

Get started