
HR to ERP
SAP SuccessFactors to Dynamics 365 integration: Employee Central workers in Microsoft's ERP
With an integration between SAP SuccessFactors and Microsoft Dynamics 365, every worker from Employee Central reaches Dynamics 365 automatically, in the right legal entity and with cost centre and department as dimensions. Changes go through on their effective date and a termination sets the employee to terminated in Dynamics, so no more hours or expenses can be booked.
What the integration does
Employers with SAP SuccessFactors Employee Central for HR and Dynamics 365 for accounting get a monthly export of new employees, which finance enters into Dynamics by hand. Someone who moves to another department or location mid-month keeps booking on the old cost centre for weeks.
- HR records a hire, transfer or departure in Employee Central, with an effective date.
- KoppelHet fetches the changed workers and reads which data applies on which date.
- On the effective date the worker lands in the Dynamics company of their legal entity, with cost centre and department.
- The manager from Employee Central becomes approver for hours and expenses.
- On departure KoppelHet sets the end date and the status terminated in Dynamics.
What to watch for with SAP SuccessFactors and Microsoft Dynamics 365
- Company, cost centre and department are stored in Employee Central as external codes, such as 8500 for a company. Dynamics uses its own codes for companies and dimension values. KoppelHet records that translation once in a table finance can view.
- Cost centres in SuccessFactors have a validity period; SuccessFactors rejects a job change dated outside that period. A dimension value in Business Central has no period. KoppelHet therefore compares on code and passes on what applies on the worker's effective date.
- Someone can have two concurrent employments in Employee Central. In Dynamics 365 Finance that fits as two employments under one worker; in Business Central it is one employee per company, so with two employments in the same legal entity KoppelHet chooses the main one.
- When asked for changes, SuccessFactors returns all valid rows, including rows that only start next month. Dynamics only knows the current state per employee. KoppelHet schedules such a future row and writes it on the day itself.
- In Employee Central the manager is the user ID of another worker. In Business Central the time sheet approver is a Business Central user. KoppelHet looks up the right user for the manager ID; if the manager has no Dynamics account, finance gets a notice.
- A transfer to another company is a change on the same worker in Employee Central. Because each legal entity has its own company in Dynamics, it becomes a termination in one company and a hire in the other, on the same date.
- The integration only requests the legal entities in SuccessFactors that have a company in Dynamics. Workers in countries running another ERP stay out of scope.
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
What if finance has not created a cost centre yet?
Then KoppelHet still creates the employee, but without that dimension, and finance gets a notice. As soon as the code exists, the integration fills it in.
Are salary or pay components included?
No. For hours and expenses Dynamics only needs the organisation data. Pay components stay in SuccessFactors and payroll.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Employee Central through the OData API (v2), first filtered on lastModifiedDateTime, then the effective-dated records with fromDate and toDate. Entities PerPersonal, EmpEmployment and EmpJob (company, costCenter, department, managerId, jobTitle). Authentication with OAuth 2.0 and a SAML bearer assertion.
- FOCostCenter is effective dated with startDate as part of the key; an EmpJob with a startDate outside the cost centre's validity gives the error invalid external code (SAP KBA 2892425).
- Business Central through API v2.0 per company - employees (status Active, Inactive or Terminated) and defaultDimensions with parentType Employee; dimensionValues are read-only. Dynamics 365 Finance through the Worker and Employment per company entities.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in SAP SuccessFactors | Field in Microsoft Dynamics 365 | Notes |
|---|---|---|
userId | number | Or personIdExternal; we choose one fixed key at the start |
PerPersonal firstName, lastName | givenName, surname | |
EmpJob jobTitle | jobTitle | |
EmpEmployment startDate | employmentDate | |
EmpEmployment endDate | terminationDate en status Terminated | |
EmpJob company | Company (Business Central) of legal entity (Finance) | Through a table of external codes |
EmpJob costCenter | defaultDimensions (kostenplaats) | |
EmpJob department | defaultDimensions (afdeling) | |
EmpJob managerId | Time Sheet Approver User ID | Through the manager's Dynamics user |
- SAP SuccessFactors – Last modified queries and effective dated entities
- SAP SuccessFactors – EmpEmployment
- SAP KBA 2892425 – invalid external code for Cost Center
- Business Central API: employee
- Business Central API: dimensionValue
- Business Central: time sheets instellen
- Dynamics 365: integrated worker, job and position
Related
Ashby → SAP SuccessFactors
Ashby to SAP SuccessFactors integration: hire as a new employee in Employee Central
Bullhorn → SAP SuccessFactors
Bullhorn to SAP SuccessFactors integration: placements as employees or contingent workers in Employee Central
Carerix → SAP SuccessFactors
Carerix to SAP SuccessFactors integration: successful placement as a new employee in Employee Central
Greenhouse → SAP SuccessFactors
Greenhouse to SAP SuccessFactors integration: a hire as a new employee in Employee Central