
HR to ERP
Deel to SAP S/4HANA integration: own employees and EOR from Deel as workforce persons, per company code
With an integration between Deel and SAP S/4HANA, every contract of an own employee or EOR worker in Deel becomes a workforce person with a work agreement in SAP S/4HANA, under the company code of the legal entity and with the start date from Deel. A completed termination in Deel closes the work agreement; contractors stay outside S/4HANA until purchasing has a work order for them.
What the integration does
Organisations that have own employees, EOR workers and contractors in several countries through Deel and use SAP S/4HANA Cloud for finance often maintain the workforce in S/4HANA by hand. Contractors then come in as employees, and a termination still in progress in Deel is processed already.
- Deel reports a new or changed contract; KoppelHet fetches the person with only the fields S/4HANA needs.
- Per contract KoppelHet determines the company code from the legal entity and the kind of work agreement from the hiring type.
- Own employees and EOR workers go to S/4HANA through the replication API; contractors go to a list for purchasing.
- KoppelHet checks the replication and the business partner, and reports errors per contract.
- Only once the termination in Deel is completed does the work agreement get an end date.
What to watch for with Deel and SAP S/4HANA
- According to the current Deel documentation, an own employee is hired under the organisation's own legal entity, and the people list has the hiring types hris_direct_employee and direct_employee for that. KoppelHet filters on both plus eor, so no own employee slips between the filters, and establishes at the start which value your environment uses.
- A contractor in Deel is a service performer in S/4HANA, and S/4HANA requires a work order with supplier and validity for that. Deel does not provide a supplier from the ERP. KoppelHet therefore does not pass contractors on, but lists them for purchasing, who create the work order.
- S/4HANA rejects a period without working time percentage or hours per week. Deel's people list has no field for hours or part-time percentage. KoppelHet fills those values from a table per legal entity with that country's standard working week, and a different part-time arrangement is agreed separately at the start.
- A termination in Deel goes through statuses from pending to completed, and can still fail or be cancelled. Reversing a closed work agreement in S/4HANA takes manual work. KoppelHet only sets the end date at the completed status, with the last working day from the contract.
- One person can have contracts at different legal entities in Deel. In S/4HANA every company code belongs to its own work agreement with its own personnel number. KoppelHet sends each contract as a separate work agreement under the same person, and translates the entity into the company code with a table.
- Deel's people list lets you choose per field what comes back, down to within a contract. KoppelHet only requests name, work email, contracts with entity, hiring type, start date and termination. Salary and payment details from Deel therefore never reach the integration or S/4HANA.
How we build and run it
- The integration runs on the KoppelHet platform, hosted in a data centre in the EU.
- Every sync and every error is visible in the functional log; on an error your administrator is notified.
- A change that cannot go through is not half-applied but queued for another attempt.
- KoppelHet is ISO 27001 certified. Data travels encrypted and stays on the platform no longer than needed.
- After go-live we manage the integration and adjust it when your process changes.
- The integration fits next to your existing integration layer. Only the fields in the design are transferred; the platform keeps no register of its own.
Implementation and price
This is not an app you switch on. We build the integration for your organisation on our platform, with building blocks we reuse on every project. So it is custom work that does not start from scratch.
A consultant prepares the intake and analyses both systems. We then record the mapping and exceptions field by field, test in the test or acceptance environment and go live at a moment you choose. Costs are a one-off amount for the setup and a monthly amount for platform, monitoring and support.
Frequently asked questions
Do contractor invoices or payroll costs from Deel go to S/4HANA?
Not in this integration. It keeps the workforce current; invoices and payroll costs can be added later as an extension.
Does this also work with S/4HANA on-premise?
This page assumes S/4HANA Cloud Public Edition. For on-premise we choose the right interface at the start.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Deel through webhooks and GET /rest/people with fields (employments[0].client_legal_entity, employments[0].hiring_type, employments[0].start_date, employments[0].employee_number, employments[0].termination_last_day, department, work_email) and the hiring_types filter (contractor, eor, peo, hris_direct_employee, hris_direct_contractor, direct_employee, contractor_outside_deel, person_without_contract). active_worker_termination_status: PENDING, CONTRACT_TERMINATION_DATA_COLLECTED, IN_PROGRESS, COMPLETED, FAILED, CANCELED. An own employee is created through POST /rest/people under the own legal entity (scope people:write).
- SAP S/4HANA Cloud Public Edition through the SOAP API Replicate Basic Master Data for Workforce from External HR Systems (WORKFORCEPERSONMASTERDATAREPLI, scope item 1FD, SAP_COM_0301). Two steps: workforce data and then the business partner; errors in the response or in Message Monitoring Overview. PersonExternalID at most 20 characters; WorkingTimePercentage and WeeklyWorkinghours not empty; service performer requires WorkOrder with Supplier.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Deel | Field in SAP S/4HANA | Notes |
|---|---|---|
employments[].employee_number of id | PersonExternalID | At most twenty characters |
first_name, last_name, work_email | Naam en e-mailadres | |
employments[].client_legal_entity | Bedrijfscode | Lookup table |
employments[].hiring_type | Soort werkovereenkomst | hris_direct_employee, direct_employee and eor; not contractors |
employments[].start_date | Begindatum werkovereenkomst | |
department.name en parent | Standaardkostenplaats | Finance table |
termination_last_day (COMPLETED) | Einddatum werkovereenkomst |
Related
Ashby → Deel
Ashby to Deel integration: hires at the own entity as direct employee in Deel
Bullhorn → Deel
Bullhorn to Deel integration: first placement as a direct employee with a contract in Deel
Carerix → Deel
Carerix to Deel integration: successful placement as a person or contract in Deel
Deel → 4PS Construct
Deel to 4PS Construct integration: own employees of the construction entity in 4PS, with department and cost centre as dimensions