Personio logoUnit4 ERP logo

HR to ERP

Personio to Unit4 integration: employees with cost distribution and relations in Unit4 ERP

With an integration between Personio and Unit4 ERP, every new employee from Personio appears as an employee in Unit4, in the right Unit4 company, with department and cost centre as relations from the effective date. When someone leaves in Personio, the integration terminates the employee in Unit4, so approvals and time entry stop while history stays in place.

What the integration does

Anyone running HR in Personio and finance, projects and time registration in Unit4 ERP copies a split over several cost centres by hand. The split is correct in Personio, but after a change Personio and Unit4 drift apart.

  1. HR records a new employee in Personio, with legal entity, department, cost centres and start date.
  2. KoppelHet first lets Unit4 validate the employee without saving, and then creates them in the Unit4 company of that entity.
  3. Department and cost centre are added as relations with an effective date; a split over several cost centres goes into the Unit4 cost distribution.
  4. A change in Personio closes the old relation and opens a new one on the effective date.
  5. After the last working day KoppelHet terminates the employee in Unit4. Past hours and postings stay with them.
Personio → KoppelHet → Unit4 ERPSOURCEPersonioTARGETUnit4 ERPKoppelHetmapping · logging · monitoringPersonio → KoppelHet → Unit4 ERPSOURCEPersonioTARGETUnit4 ERPKoppelHetmapping · logging · monitoring
Out: Employee with name and work email · Employment with start and end date · Department and cost centre as dated relations · Cost distribution over several cost centres · Unit4 company per legal entity

What to watch for with Personio and Unit4 ERP

  • Personio splits an employment over cost centres with a weight per cost centre. Unit4 has its own cost distribution for employees. KoppelHet puts the Personio percentages into it, so payroll costs and hours in Unit4 follow the same split as in HR.
  • Personio reports a changed cost split with its own event. KoppelHet responds to it immediately and only updates the cost distribution, without resending the rest of the employee.
  • Every legal entity in Personio belongs to one Unit4 company. Unit4 rejects a set of employees from different companies in one call. KoppelHet therefore groups per entity, including during the initial load.
  • If the start date in Personio moves later, Unit4 does not allow the start date of the employment to be set later. KoppelHet then removes the employment and creates it again with the new date.
  • If Unit4 has an approval workflow on new employees, the employee first waits for approval after creation. KoppelHet shows that as pending in the platform, not as an error, so nobody creates them a second time.
  • A termination in Personio becomes a termination in Unit4, not a deletion. Unit4 then sets the employee to the terminated status, and past hours, expense claims and project postings stay linked.
  • Unit4 also has its own personnel module. With Personio as the HR system we only keep in Unit4 what finance, projects and time entry need; salary, leave and absence stay in Personio.

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

Does salary data from Personio go to Unit4?

No. Unit4 does not need salary for time entry and projects. Finance manages hourly cost rates in Unit4 itself.

What if the cost split in Personio does not add up to one hundred percent?

Then the integration does not pass the split on and HR gets an alert. The previous distribution in Unit4 stays until it is right.

Do employees also get a user in Unit4?

Not in the first version. Linking a user to the employee can be added later as an extension, or through your identity provider.

Technical details for IT

For those who want to know how it works under the hood: APIs, fields and sources used.

  • Personio through the v2 API for persons and employments (legal_entity, org_units, cost_centers with weight, employment_start_date, termination) and webhooks, including employment.updated.cost-centers and employment.terminated, signed with HMAC-SHA256.
  • Unit4 ERPx through the Employees API - POST /v1/employees/validate and POST /v1/employees (or /v1/employees/batch, at most 200 per call and one companyId), PATCH /v1/employees/batch with AddOrReplaceById and RemoveById on relatedValues (relationId, dateFrom, dateTo) and employments (positionId, startDate, endDate), DELETE /v1/employees/{personId} to terminate. With an active workflow Unit4 answers with 202. Cost distribution through the Cost Distribution API. Client ID and client secret.

Which fields are transferred

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

Field in PersonioField in Unit4 ERPNotes
person id of personeelsnummerpersonIdFixed key; automatic numbering in Unit4 only if agreed
legal_entitycompanyIdFixed table per entity
first_name, last_namenameInformation.firstName, surname
emailcontactPoints (e-mail)
employment_start_date, termination.last_working_dayemployments (startDate, endDate)
org_units (type department)relatedValues (afdeling, dateFrom, dateTo)Which relation ID differs per Unit4 setup
cost_centers (id, weight)Kostenverdeling per medewerkerPercentages from Personio
employment.terminatedStatus beëindigdBy terminating the employee, not by deleting

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.