SAP ECC and Workday HCM integration
SAP ECC runs your on-premises finance, procurement, and operations. Workday HCM manages your workforce, payroll, and labor costs in the cloud. Connecting them keeps your ECC employee and cost center records in agreement with Workday, and automates the movement of payroll labor costs from Workday into your SAP general ledger every pay cycle. New hires and terminations in Workday flow into ECC so your headcount is always accurate, and the monthly GL posting from payroll no longer requires manual re-keying.
What moves between them
Worker records and cost center assignments flow from Workday into SAP ECC. After each payroll run, ml-connector reads Workday GL journals or compensation records and maps them to SAP ECC cost centers and GL accounts, then posts the combined labor cost entries via BAPI_ACC_DOCUMENT_POST. Employee records in ECC are kept in sync with Workday worker status so hires, terminations, and rehires are reflected in ECC headcount. The sync runs on a schedule tied to your payroll calendar. Direction is primarily Workday to SAP ECC; reference data such as cost centers and GL accounts are queried from both systems to ensure GL postings land on valid dimensions.
How ml-connector handles it
ml-connector maintains an on-premises agent connection pool to SAP ECC over RFC, and manages OAuth2 token refresh for Workday REST calls and SOAP WS-Security tokens for procurement and finance data. When reading Workday workers and cost allocations, it polls on a schedule and filters by date to pick up incremental changes. For each payroll period, it constructs a single GL document per cost center, maps Workday cost allocations to matching SAP ECC GL accounts, and posts the document with a REF_DOC_NO to prevent duplicate GL entries if a retry occurs. Write operations include explicit BAPI_TRANSACTION_COMMIT calls to release document locks. If RFC calls exceed safe throughput (roughly 10-50 concurrent calls), ml-connector backs off and retries. Workday rate limits (HTTP 429) trigger exponential backoff using the Retry-After header. Every record is audited and can be replayed if a downstream call fails.
A real-world example
A multinational manufacturer runs SAP ECC on-premises for operations and finance, and uses Workday HCM to manage a global workforce across multiple plants and regions. Previously, the accounting team extracted labor cost registers from Workday each month and manually re-entered totals into ECC by cost center, a process that took two days and frequently introduced errors when cost allocations changed mid-month. With Workday and SAP ECC connected, each payroll run's labor costs flow automatically into ECC's GL, allocated to the correct plant and department cost centers, and ECC employee headcount stays in sync with Workday hires and terminations. Month-end close now begins with labor accounts already reconciled, and the manual posting step is eliminated.
What you can do
- Post Workday payroll labor costs into SAP ECC's general ledger by cost center after each payroll run, with automatic REF_DOC_NO deduplication.
- Keep SAP ECC employee records and headcount aligned with Workday hires, terminations, and status changes.
- Map Workday cost center and GL account data to SAP ECC cost center and GL account hierarchies so labor allocations land on valid dimensions.
- Manage on-premises RFC connection pooling for SAP ECC, and OAuth2 token refresh and SOAP WS-Security authentication for Workday.
- Poll on a schedule tied to your payroll calendar, with exponential backoff on rate limits, transaction commit validation, and a full audit trail on every record.
Questions
- Does SAP ECC's on-premises requirement mean a special setup?
- Yes. ml-connector requires an on-premises agent running SAP's .NET Connector or Java Connector on your network with access to the ECC instance. The agent initiates RFC calls to read employees and GL accounts, and posts GL documents via BAPI_ACC_DOCUMENT_POST. ml-connector manages the connection pool and call queuing so throughput stays safe.
- How does ml-connector handle the different Workday API surfaces for HCM versus finance data?
- Workday surfaces HCM data (workers, positions, cost centers) via REST API with OAuth2, and finance and procurement data (GL accounts, cost allocations, supplier invoices) via SOAP with WS-Security UsernameToken. ml-connector switches between REST and SOAP calls depending on the resource, manages both auth flows, and tracks token expiry so calls do not fail mid-flow.
- What prevents duplicate GL postings in SAP ECC when ml-connector retries?
- ml-connector includes the Workday payroll period identifier in the REF_DOC_NO field when posting GL documents via BAPI_ACC_DOCUMENT_POST. On retry, SAP ECC recognizes the REF_DOC_NO and skips the posting if the document already exists, preventing double-entry. This is the same deduplication used for manual GL corrections in ECC.
Related integrations
More SAP ECC integrations
Other systems that connect to Workday HCM
Connect SAP ECC and Workday HCM
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started