

Absence reporting (SIVI)
Unit4 HR to Visma Verzuim integration: employees per company and completed sickness registrations from Unit4 in BlueVi
With an integration between Unit4 HR and Visma Verzuim, all employees of every Unit4 company are in BlueVi, with organisational unit and an employment per position, and every completed sickness registration from Unit4 goes to the right file automatically as an absence course. The case manager and health service then work with the same sickness dates and percentages as HR.
What the integration does
Organisations that record absence in Unit4 HR and run absence management in Visma Verzuim now enter employees and sick notifications in BlueVi by hand. A new colleague only exists there once they fall ill, and a partial recovery is in Unit4 before it is in the file.
- Every night KoppelHet prepares the employees, positions and organisational units of each Unit4 company in BlueVi.
- Every hour KoppelHet reads the absences with a sickness code whose workflow has completed.
- A new registration becomes an absence course on the employment of that position; BlueVi decides whether it becomes a new file.
- A different percentage becomes a new recovery percentage, a confirmed end date a full recovery.
- If the position ends during the absence, the course gets the reason ill out of service.
What to watch for with Unit4 HR and Visma Verzuim
- BlueVi requires date of birth, gender, address and hours per week for a new employee, even if that employee never falls ill. Unit4 has date of birth, gender and address on the employee. KoppelHet prepares them every night, so a first sick notification lands on a known employee straight away.
- Unit4 knows F, M and G as gender, BlueVi f, m and x. KoppelHet translates those codes fixedly, so creating in BlueVi does not fail on a value BlueVi does not know.
- An absence in Unit4 has the percentage someone is absent, while BlueVi expects a recovery percentage where zero means fully sick. KoppelHet converts every Unit4 row, so sixty percent absent becomes forty percent recovered in BlueVi.
- On a new course BlueVi can decide itself whether it becomes a new file: relapse within 28 days of recovery joins the previous file. KoppelHet asks for a new file and lets BlueVi apply that rule, so the adding-up of sickness periods does not depend on how Unit4 numbers the registration.
- Sickness registrations in Unit4 can still be drafts or be in the workflow. KoppelHet only sends completed registrations to BlueVi. An open end in Unit4 stays an ongoing absence in BlueVi; BlueVi only accepts a recovery reason at one hundred percent recovery.
- An absence in Unit4 belongs to a position, and BlueVi links a course to an employment. KoppelHet creates an employment in BlueVi per Unit4 position. If a position ends while someone is sick, KoppelHet passes the reason ill out of service with the end date, so the file stays open.
- Each Unit4 company becomes its own employer in BlueVi, with organisational units from the relation that carries the department in Unit4. Company doctor and file officer, which BlueVi records per unit, thus belong to the right company.
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 data go to BlueVi?
No. BlueVi can receive a wage value, but the first version only sends what absence management needs. Wage value can be added later as an extension.
What if the health service already receives SIVI messages?
Then we agree one route for the notifications, so the health service does not receive them twice. The employee list to BlueVi can run separately.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Unit4 ERPx through the ObjectAPI with OAuth 2.0 client credentials - GET /v1/objects/employees (birthDate, gender, contactPoints, employments with positionId and workSchedule, relatedValues) and GET /v1/objects/absences (absenceCode, percent, dateFrom, dateTo, isOpenEndedAbsence, isDraft, workflowState, positionId), incremental with filter=lastUpdated/updatedAt ge. Tenant limit 500 requests per minute.
- BlueVi Case Management API (REST, OpenAPI 3) with an access token from client ID and secret and the Ocp-Apim-Subscription-Key header - /employer, /organizational-unit, /employee (required among others person.dateOfBirth, person.gender m/f/x, address and employment.hoursPerWeek), /employment, /employment/contract (normHoursPerWeek) and /absence-course (newDossier, employmentKey, dateStart, recoveryPercentage 0 to 100, recoveryReason only at 100, dateEmploymentEnd).
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Unit4 HR | Field in Visma Verzuim | Notes |
|---|---|---|
companyId | employer externalKey | |
personId | employee externalKey en employeeNumber | |
birthDate, gender (F, M, G) | person.dateOfBirth, person.gender (f, m, x) | |
contactPoints (adres) | address (straat, nummer, postcode, plaats) | |
positionId met startDate en endDate | employment externalKey, dateStart en dateEnd | |
workSchedule | employment/contract normHoursPerWeek | Table from schedule to hours per week |
relatedValues organisatie-eenheid | organizational-unit | |
dateFrom van de afwezigheid | absence-course dateStart | |
100 min percent | recoveryPercentage |
Related
Greenhouse → Unit4 HR
Greenhouse to Unit4 HR integration: accepted offer as an employee in the right Unit4 company
Recruitee → Unit4 HR
Recruitee to Unit4 HR integration: hired candidate as employee in Unit4, validated before it is saved
SmartRecruiters → Unit4 HR
SmartRecruiters to Unit4 HR integration: hire on the position from SmartRecruiters, with onboarding status back
Teamtailor → Unit4 HR
Teamtailor to Unit4 HR integration: hired candidates as employees in Unit4 ERPx, with company and position