ml-connector
Oracle E-Business SuiteWorkday HCM

Oracle E-Business Suite and Workday HCM integration

Oracle E-Business Suite manages your financials and supply chain on-premises. Workday HCM runs your payroll and workforce in the cloud. When the two are connected, new hires and terminations in Workday flow into your EBS org structure, and labor cost GL journals from Workday post automatically into EBS's general ledger. ml-connector bridges the authentication gap between Workday's OAuth2 and EBS's HTTP Basic Auth, manages token expiry on both sides, and runs on a schedule you control to keep payroll costs and headcount in sync with your books.

How Oracle E-Business Suite works

Oracle E-Business Suite (R12.2) exposes workers, GL accounts, GL journals, cost centers, and org hierarchies through the Integrated SOA Gateway (ISG), which deploys REST services to a customer-hosted URL with HTTP Basic Authentication or session token cookies. Token endpoint is GET /webservices/rest/login with Basic auth header returning an accessToken. Application context headers are required (ctx_responsibility, ctx_respapplication, ctx_securitygroup, ctx_nlslanguage, ctx_orgid). EBS has no webhooks, so records are read by polling open interface views filtered by LAST_UPDATE_DATE with limit/offset pagination. Write operations insert into interface tables asynchronously, triggering concurrent programs that import to base tables, so sync latency can be minutes to hours.

How Workday HCM works

Workday HCM is a cloud platform offering workers, positions, cost centers, GL accounts, and accounting journals through OAuth2 REST API and SOAP Web Services Security (WS-Security) API. REST API is HCM-only; financial and payroll data (GL accounts, journals, cost center allocations) requires SOAP with WS-Security UsernameToken credentials from an Integration System User (ISU). Access tokens expire in 60 minutes; refresh tokens must be configured non-expiring. Workday has no native webhooks, so integrations poll on schedule. HTTP 429 rate limits include Retry-After headers. SOAP pagination maxes at approximately 2000 records per request.

What moves between them

Worker records flow from Workday HCM into Oracle EBS on a schedule tied to your payroll calendar. GL accounting journals and labor cost allocations from Workday post into EBS's GL interface tables, mapped to matching EBS cost centers and GL accounts. Cost centers, departments, and org hierarchies are validated in both directions so payroll allocations land on valid EBS dimensions. GL journals are read-only in Workday, so ml-connector does not write financial entries back to payroll.

How ml-connector handles it

ml-connector caches both credential sets encrypted: Workday OAuth2 refresh token and ISU/SOAP credentials, and EBS session token plus HTTP Basic Auth credentials. On Workday, it refreshes the OAuth2 access token before every SOAP call to poll workers and GL journals, backing off on HTTP 429 with Retry-After. On EBS, it maintains a session token by calling the login endpoint on 401 and re-submitting the request, and includes all required application context headers (ctx_responsibility, ctx_respapplication, ctx_securitygroup, ctx_nlslanguage, ctx_orgid) on every call. Cost centers and org units are mapped first from Workday to EBS, so every GL journal line references a GL account and cost center that already exists. EBS's ISG is customer-hosted with no fixed URL, so ml-connector accepts the full hostname and port per customer. Because both systems are polling-only, ml-connector schedules polls at a cadence aligned to your payroll run rather than waiting for a push. Every record carries a full audit trail and can be replayed if a downstream EBS concurrent program fails.

A real-world example

A mid-sized discrete manufacturer runs Oracle E-Business Suite on-premises for financials and procurement across two plants and a shared service center, and uses Workday HCM in the cloud for payroll, HR, and org management. Before the integration, the payroll team exported Workday GL journals every pay period and re-entered the labor cost totals into EBS by hand, then the finance team spent the first days of month-end close chasing mismatches between Workday headcount and the labor accounts in the EBS ledger. With Workday and EBS connected, each Workday payroll run's GL journal flows into EBS automatically, allocated to the cost center for each plant, and Workday worker changes keep EBS org structures current. Month-end close starts with the labor accounts already reconciled, the headcount matches, and the manual re-keying step is eliminated.

What you can do

  • Post Workday payroll GL journals into Oracle EBS's general ledger after every pay run, allocated to the correct cost centers and GL accounts.
  • Keep EBS org structures and headcount aligned with Workday worker hires, terminations, and transfers.
  • Map Workday cost centers, departments, and org hierarchies to EBS GL dimensions and cost center codes so payroll allocations land on valid accounts.
  • Authenticate Workday with OAuth2 and SOAP WS-Security, and EBS with HTTP Basic Auth and session tokens, managing expiry and re-auth on both sides.
  • Poll on a schedule tied to your payroll calendar, with exponential backoff on rate limits and a full audit trail on every record.

Questions

Which direction does data move between Workday HCM and Oracle EBS?
The main flow is Workday into EBS. Payroll GL journals and worker records move from Workday into EBS, while cost centers and departments are validated in both directions to ensure payroll allocations map to valid EBS accounts. EBS GL journals are read-only in Workday, so ml-connector does not write financial entries back into payroll.
Why does Workday HCM require both REST and SOAP APIs?
Workday REST API covers HCM staffing data (workers, positions, organizations), but GL accounts, accounting journals, and cost center allocations are only available through SOAP Web Services with WS-Security credentials. ml-connector uses SOAP to poll payroll GL journals and cost center definitions, and REST for worker records and org hierarchies where REST is sufficient.
How does ml-connector handle the different token expiry and auth models?
Workday OAuth2 access tokens expire in 60 minutes, so ml-connector refreshes the refresh token before every SOAP call. EBS session tokens expire based on the configured session timeout, so ml-connector caches the token and re-authenticates on 401 by calling the login endpoint. Both systems also require different headers and credentials, which ml-connector manages separately per system.

Related integrations

Connect Oracle E-Business Suite and Workday HCM

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

Get started