Sympa logoUnit4 ERP logo

HR to ERP

Sympa to Unit4 integration: approved organisation rows from Sympa as dated relations in Unit4 ERPx

With an integration between Sympa and Unit4 ERPx, every employee of an employer that posts in Unit4 lands in the right Unit4 company automatically, with department and cost centre as relations that carry the same validity as the approved row in Sympa. Unit4 then posts hours and costs to the unit that applied on that day, and a departure in Sympa also terminates the employee in Unit4.

What the integration does

Organisations that run HR in Sympa and finance and projects in Unit4 ERPx record new colleagues and transfers twice. In Unit4 an employee then often sits on the old department for weeks, so hours and costs land on the wrong cost centre.

  1. Your Sympa administrator sets up an API interface with employer, employment, department, cost centre and manager; we supply the field list.
  2. Every hour KoppelHet reads the employees changed since the previous run, only for employers with a Unit4 company.
  3. KoppelHet first has Unit4 validate a new employee without saving, and then creates them.
  4. Every approved row for department or cost centre becomes a relation with the same start and end date.
  5. After the end date of the employment KoppelHet terminates the employee in Unit4.
Sympa → KoppelHet → Unit4 ERPSOURCESympaTARGETUnit4 ERPKoppelHetmapping · logging · monitoringSympa → KoppelHet → Unit4 ERPSOURCESympaTARGETUnit4 ERPKoppelHetmapping · logging · monitoring
Out: Employee with key from Sympa and name · Unit4 company per Sympa employer · Employment with start and end date · Department, cost centre and manager as relations with validity · Termination in Unit4 after departure

What to watch for with Sympa and Unit4 ERP

  • In Sympa the administrator chooses which unique field identifies an employee, or the automatic DataCardCode. KoppelHet uses that value as personId in Unit4 and turns automatic numbering off there. Unit4 rejects an existing personId within the same company, so a repeated run after an outage does not create a second employee.
  • A transfer in Sympa is only final once the table row has approval status five. KoppelHet only takes such rows along, so Unit4 does not let project postings land on a department where the move is still awaiting approval.
  • Sympa rows with effectivity settings have a validity, and Unit4 records an employee's relations with dateFrom and dateTo. KoppelHet requests the rows with since and until and puts each period into Unit4 with the same dates, even when HR enters a transfer retroactively.
  • Each Sympa employer belongs to exactly one Unit4 company, and employers in other countries often have no Unit4 company. Because a filter in $expand only narrows table rows, KoppelHet puts the employer in the main filter, so employees without a Unit4 company do not reach the integration.
  • By default Sympa allows one hundred requests per hour per interface, while Unit4 handles five hundred per minute and creates up to two hundred employees per batch. The Sympa side therefore sets the pace. KoppelHet reads Sympa with large pages and spreads the first load over several hours.
  • Sympa's Integration API has no DELETE, and a leaver stays in Sympa with an end date. KoppelHet uses that end date to terminate the employee in Unit4 through the DELETE call, which in Unit4 is a terminated status and not a removal, so historical postings stay correct.
  • In Sympa the manager is a reference to another data card. Through a target field in the interface Sympa supplies that card's key directly. If Unit4 records the manager as a relation, KoppelHet translates that key into the manager's personId in Unit4.

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, architecture and compliance

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.

Price indication · Basic

Leave your work email and you see the price indication right away.

We only use your address to follow up on your question about this integration.

Frequently asked questions

Do salary and personal data go to Unit4?

No. The Sympa interface only holds what Unit4 needs for hours, projects and approval. Salary is not in it and therefore cannot reach the integration.

What if a department from Sympa does not exist in Unit4?

Then the validation in Unit4 rejects the employee and finance gets an alert with the code. Once it exists in Unit4, the next run adds the relation after all.

Can the Unit4 number go back to Sympa?

That is not needed, because Unit4 takes over the key from Sympa. Writing another value back can be added later as an extension.

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) on a dedicated interface under https://api.sympahr.net/api, with X-ApiKey or basic authentication. Reading with $filter on modified and the employer, $top and $skip, $expand on the tables with Approval eq 5, and since and until for validity. Supervisor field with a target field for the manager's key. No DELETE. By default 100 requests per hour per interface, shared across GET, POST and PATCH.
  • Unit4 ERPx through the Employees API with Client ID and Client Secret - POST /v1/employees/validate, POST /v1/employees or /v1/employees/batch (at most 200 per call, 409 for an existing personId), PATCH /v1/employees/batch on relatedValues (relationId, relatedValue, dateFrom, dateTo) and employments, DELETE /v1/employees/{personId} as termination. Tenant limit 500 requests per minute for all integrations together.

Which fields are transferred

The key fields. The full mapping is agreed per customer.

Field in SympaField in Unit4 ERPNotes
Uniek veld of DataCardCodepersonIdAutomatic numbering in Unit4 off
Werkgever op de datakaartcompanyIdFixed table; employers without a Unit4 company are skipped
Voornaam en achternaamnameInformation.firstName en surname
Zakelijk e-mailadrescontactPoints
Begin- en einddatum dienstverbandemployments (startDate, endDate)
Afdeling (tabelregel, Approval 5)relatedValues (dateFrom, dateTo)
Kostenplaats (tabelregel, Approval 5)relatedValues (dateFrom, dateTo)Which relationId depends on the Unit4 setup
Leidinggevende via doelveld van de supervisorkaartrelatedValues (leidinggevende)Only if Unit4 records the manager as a relation

Related

Which systems do you want to connect?

Tell us which systems you use and what should happen automatically. Together we define the smallest working solution, with a clear design and a quote before building.