
HR to ERP
Visma Peple to Unit4 integration: contracts, department history and cost split from Peple in Unit4 ERPx
With an integration between Visma Peple and Unit4 ERPx, every employee from Peple lands in the right Unit4 company automatically, with an employment per Peple contract and the organisational unit and cost centre as relations with the same dates as the department history in Peple. If Peple splits a contract's wage costs over several cost centres, KoppelHet takes those percentages along.
What the integration does
Organisations that run payroll and HR in Visma Peple and finance and projects in Unit4 ERPx, such as many institutions in education and non-profit, retype new employees and contract changes in Unit4. An employee with contracts at two locations then often sits on one cost centre in Unit4.
- KoppelHet starts exports of employees, contracts and department history in Peple with only the changes since the previous run.
- KoppelHet first has Unit4 validate a new employee, and then creates them in the company of their Peple unit.
- Every contract becomes an employment with start and end date and part-time percentage.
- Every row from the department history becomes a relation with the same start and end date; a cost split with percentages.
- After the last contract KoppelHet terminates the employee in Unit4.
What to watch for with Visma Peple and Unit4 ERP
- Peple can split a contract's wage costs by percentage over cost centres and cost units, with a start date per split. A relation in Unit4 also has a percentage. KoppelHet converts each split into relations with that percentage, so hours and costs in Unit4 are split the same way as in payroll.
- The export with cost splits is marked experimental in the Peple documentation and only contains data for certain companies. KoppelHet checks at the start whether your units are in it. If not, only the cost centre from the department history goes along, at one hundred percent.
- An employee can have several contracts and subcontracts in Peple, each with its own part-time factor. Unit4 has several employments per employee with their own allocation percentage. KoppelHet creates an employment per Peple contract, so a teacher with two appointments also has two employments in Unit4.
- Peple has a separate export of the department history, with a start and end date per row. Unit4 also records relations with dateFrom and dateTo. KoppelHet takes those dates over one to one, so a retroactive transfer sits on the right period in Unit4 and project postings line up with it.
- If a subcontract is deleted in Peple, the export returns an empty row with only the keys. KoppelHet then removes the matching employment in Unit4 instead of ending it, because it is a mistake and not a departure.
- Peple allows two full exports per endpoint per day, and Unit4 creates up to two hundred employees per batch. On the first load KoppelHet uses one full export and puts the employees into Unit4 in batches. After that only changes go across.
- Peple also records a funding source per contract. In education it often determines which budget costs fall under. If finance wants to steer on it, KoppelHet puts the funding source into Unit4 as an extra relation.
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 salary from Peple go to Unit4?
No. Unit4 only receives the data for hours, projects and cost split. The payroll journal can be added later as an extension.
What if a cost centre from Peple does not exist in Unit4?
Then the validation in Unit4 holds the change and finance gets an alert with the code. Once created, the next run takes it along after all.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Peple through the Visma.net HRM & Payroll Reporting API with Visma Connect - exports through POST /v1/command/nl/hrm/employees, /contracts (ptfactor, financesource, subcontractid), /contracts/department-histories and /contracts/wage-cost-allocation-histories (percentage, costcenter, costunit, dimension3 to 5, startdate; experimental), results through GET /v1/query/nl/hrm/.../{jobId}; incremental with changeTimestampAfter. Two full exports per endpoint per tenant per 24 hours; empty rows on deletions.
- Unit4 ERPx through the Employees API with Client ID and Client Secret - POST /v1/employees/validate, POST /v1/employees/batch (at most 200), PATCH /v1/employees/batch with AddOrReplaceById and RemoveById on employments (positionId, startDate, endDate, allocationPercentage) and relatedValues (relationId, relatedValue, percentage, dateFrom, dateTo), DELETE /v1/employees/{personId} as termination.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Visma Peple | Field in Unit4 ERP | Notes |
|---|---|---|
employeeid | personId | Automatic numbering in Unit4 off |
odporgid | companyId | Fixed table per Peple unit |
contractid en subcontractid | employments (positionId, startDate, endDate) | |
ptfactor | employments.allocationPercentage | |
department-histories: orgunit | relatedValues (organisatie-eenheid, dateFrom, dateTo) | |
department-histories: costcenter | relatedValues (kostenplaats, dateFrom, dateTo) | |
wage-cost-allocation-histories: costcenter en percentage | relatedValues met percentage | Only if Peple provides this export |
financesource | Extra relatie, bijvoorbeeld financieringsbron | Configuration choice of finance |
Related
Visma Peple → Active Directory
Visma Peple to Active Directory integration: accounts from Peple HRM & Payroll
Visma Peple → Arbodienst (SIVI)
Visma Peple to occupational health service via SIVI: sick and recovery notifications from Peple to the health service
Visma Peple → Microsoft Entra ID
Visma Peple to Entra ID integration: Microsoft accounts from Peple HRM & Payroll
Visma Peple → Exact Online
Visma Peple to Exact Online integration: cost centres ready in Exact and employee changes on a worklist