HR to ERP
Sympa to Dynamics 365 integration: employees from Sympa in Business Central, with department as a dimension on the right day
With an integration between Sympa and Microsoft Dynamics 365 Business Central, every employee of an employer with a Business Central company automatically becomes an employee there, with job title, email and department as a default dimension. KoppelHet applies an approved transfer or end date in Sympa on the day it takes effect, because Business Central itself has no effective dates for employees.
What the integration does
Organisations with Sympa as HR system and Business Central for accounting often run hours or expenses through Business Central. Employees are created there by hand, and a transfer in Sympa only reaches Business Central when someone remembers it.
- Your Sympa administrator creates an API interface with employer, job title, business email, employment and department; we supply the field list.
- Every hour KoppelHet fetches new and changed data cards and creates new employees in the Business Central company of their employer.
- Every morning KoppelHet requests the approved department rows that apply on that day, and updates the dimension where it differs.
- A department without a dimension value in Business Central goes to finance as an alert.
- After the end date the employee gets the status terminated and the termination date.
What to watch for with Sympa and Microsoft Dynamics 365
- Business Central only keeps an employee's current department, without an effective date. Sympa can give the state on a single day with the at parameter. KoppelHet requests today's state every morning, so a transfer as of the first of the month appears in Business Central on that day and not before.
- A data card that has never been changed after creation has an empty modified field in Sympa. A filter on modified alone misses such a new employee. KoppelHet therefore filters on created and modified together, so a new colleague reaches Business Central in the first run.
- Dimension values in Business Central are read-only through the API. KoppelHet therefore cannot create a new department from Sympa as a dimension itself. If the code is missing, KoppelHet still creates the employee but without a department, and asks finance to add the value.
- On a default dimension Business Central can require a code on every posting. If that is on for the department, KoppelHet sets the dimension right when creating the employee, so the first time entry or expense is not rejected.
- Each Sympa employer belongs to one company in Business Central, and the API works per company. KoppelHet determines the company per employee from the employer. If someone moves to another employer, KoppelHet terminates the employee in one company and creates them in the other.
- Sympa answers read queries from a reporting database that can lag up to half an hour, with one hundred requests per hour per interface. KoppelHet lets each run overlap the previous one by half an hour and only writes real differences to Business Central, so the employee card gets no unnecessary changes.
- A leaver does not disappear from Sympa, because the Integration API has no delete. Besides active and terminated Business Central also has inactive. KoppelHet only sets the status terminated after the end date of the employment, so open expenses of that employee can still be processed.
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
Does the manager go to Business Central?
Not in the first version. The Business Central employee API has no manager field. Approvers for hours can be added later as an extension.
Does this also work with Dynamics 365 Finance?
This page assumes Business Central. Dynamics 365 Finance works with other entities; we look at that separately.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Sympa Integration API (OData v4 subset, JSON) under https://api.sympahr.net/api with X-ApiKey or basic authentication. New and changed cards with $filter on created and modified plus the employer; department rows with $expand and Approval eq 5 and at for the state on one day (requires effectivity settings). By default 100 requests per hour per interface; reporting database up to 30 minutes behind.
- Business Central API v2.0 per company with an app registration in Microsoft Entra ID - employees (POST, PATCH; number, givenName, surname, jobTitle, email, employmentDate, terminationDate, status Active, Inactive or Terminated) and defaultDimensions with parentType Employee and postingValidation; dimensionValues GET only.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Sympa | Field in Microsoft Dynamics 365 | Notes |
|---|---|---|
Uniek veld van de datakaart | number | |
Voornaam en achternaam | givenName, surname | |
Functie | jobTitle | |
Zakelijk e-mailadres | email | |
Werkgever | Bedrijf in Business Central | Fixed table per employer |
Afdeling (regel geldig op de dag, Approval 5) | defaultDimensions (afdeling) | Code must already exist as a dimension value |
Begindatum dienstverband | employmentDate | |
Einddatum dienstverband | terminationDate en status Terminated |
Related
Greenhouse → Sympa
Greenhouse to Sympa integration: hired candidate as a data card with contract row in Sympa
Recruitee → Sympa
Recruitee to Sympa integration: hired candidates as a data card in Sympa
SmartRecruiters → Sympa
SmartRecruiters to Sympa integration: ready to onboard becomes a data card in Sympa
Sympa → 4PS Construct
Sympa to 4PS Construct integration: fitters of the Dutch employer from Sympa in 4PS, with cost centre as a dimension