SAP S/4HANA and Deel integration
SAP S/4HANA runs finance and procurement. Deel runs global payroll and HRIS. Connecting them keeps your finance ledger aligned with payroll costs and employee headcount. Payroll entries from Deel post automatically into SAP S/4HANA's general ledger allocated to the correct cost centers, employee records sync to keep headcount in agreement, and the finance team no longer re-keys payroll totals by hand. ml-connector handles the different authentication schemes and data shapes on each side and moves the data on a schedule you control.
What moves between them
The main flow is Deel into SAP S/4HANA. After each payroll run, ml-connector reads Deel employee invoices and payslips and posts labor cost allocations into SAP S/4HANA's general ledger, mapped to matching SAP cost centers and GL accounts. Employee records from Deel flow to SAP S/4HANA Business Partners so headcount reflects hires, terminations, and rehires. Cost centers are aligned in both directions so Deel payroll allocations land on valid SAP dimensions. General ledger entries in SAP S/4HANA are read-only, so ml-connector never writes financial reversals or adjustments back into the source system.
How ml-connector handles it
ml-connector stores Deel and SAP S/4HANA credentials encrypted and handles OAuth token refresh on 401 responses from either system. SAP S/4HANA polls on a schedule tied to your payroll calendar using OData filter expressions on LastChangeDateTime to fetch new or changed records, since SAP cloud offers no push mechanism. Deel webhooks notify ml-connector of real-time employee and payroll events, and the connector verifies each webhook signature using HMAC-SHA256 before processing. Cost centers and GL accounts are mapped first so every payroll journal entry references accounts that already exist in SAP S/4HANA. Deel rate limits return HTTP 429 with a Retry-After header; ml-connector backs off and retries. Every record carries a full audit trail, and failed transactions can be replayed once the downstream issue is resolved.
A real-world example
A mid-sized professional services firm runs SAP S/4HANA for finance and procurement and uses Deel as its global payroll and HRIS platform to manage contractors and employees across eight countries. Before the integration, the finance team exported payroll registers from Deel each month and manually matched employee costs to SAP cost centers, then re-entered labor allocations into the ledger by hand. Month-end close took three days of reconciliation to align payroll-recorded labor costs with SAP recorded entries. With SAP S/4HANA and Deel connected, each payroll period's cost allocations flow automatically into the ledger mapped to the correct cost center, and employee records sync so HR headcount matches GL employee counts. The finance team now starts month-end close with labor accounts already reconciled, eliminating the manual re-keying step.
What you can do
- Post Deel payroll GL entries into SAP S/4HANA's general ledger after each payroll run, allocated to the correct cost centers.
- Keep SAP S/4HANA Business Partner records aligned with Deel employee hires, terminations, and status changes.
- Map Deel cost centers, departments, and employee groups to SAP S/4HANA Cost Centers and GL Accounts so payroll allocations land on valid dimensions.
- Authenticate SAP S/4HANA with OAuth 2.0 Client Credentials and Deel with Bearer tokens or OAuth2, refreshing tokens before expiry and verifying Deel webhook signatures.
- Poll SAP S/4HANA on a schedule tied to your payroll calendar, handle rate limits and retries, and maintain a full audit trail on every payroll record.
Questions
- Which direction does data move between SAP S/4HANA and Deel?
- The main flow is Deel into SAP S/4HANA. Payroll GL entries and employee records move from Deel into SAP S/4HANA, while cost centers are aligned in both directions. SAP S/4HANA general ledger entries are read-only, so ml-connector does not write financial reversals or adjustments back to the source system.
- How does the integration handle SAP S/4HANA's lack of webhooks and short-lived tokens?
- ml-connector polls SAP S/4HANA on a schedule using OData filter expressions on LastChangeDateTime since SAP cloud has no push mechanism. OAuth tokens are cached and refreshed before the typical 12-hour expiry to prevent authentication failures. Deel events arrive via webhooks in real-time and are verified using HMAC-SHA256 signature checks.
- What happens when Deel rate limits are hit or a SAP S/4HANA GL posting fails?
- When Deel returns HTTP 429, ml-connector reads the Retry-After header and backs off exponentially before retrying the request. If an SAP S/4HANA posting fails, the record is logged with full context and can be replayed once the downstream issue is resolved, ensuring no payroll data is lost.
Related integrations
More SAP S/4HANA integrations
Other systems that connect to Deel
Connect SAP S/4HANA and Deel
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started