Absence reporting (SIVI)
Personio to occupational health service via SIVI: sick leave of Dutch employees as absence notifications
With an integration between Personio and the occupational health service, sick leave of Dutch employees in Personio automatically becomes a sick, change or recovery notification at the health service, in the SIVI format health services use. HR only records sickness in Personio, and even a long-term sickness without an end date reaches the health service as an open absence case.
What the integration does
Organisations that record HR and leave in Personio and have a health service receiving SIVI notifications for their Dutch employees now also report every sick colleague in the health service portal. Without an integration a colleague who starts working half days stays fully sick there for weeks.
- The employee or HR records sickness in Personio, without an end date if it is not yet known.
- KoppelHet receives Personio's notification, fetches the period and checks whether it is a sick-leave type for a Dutch employee.
- The health service receives a sick notification in the SIVI format, completed with employment, department and safety net.
- When the employee works half days or fewer hours again, a change of the percentage is sent. When the period gets an end date, the recovery notification follows.
- The health service's confirmation shows in the KoppelHet platform; a rejected notification becomes a task for HR.
What to watch for with Personio and Arbodienst (SIVI)
- Every absence type in Personio has a category, and sick leave is one of them. KoppelHet only takes periods of a type with that category, so holiday, parental leave or a study day never reaches the health service.
- According to the documentation, a period in Personio usually has no end date for long-term sickness. That fits an open absence case at the health service. Only when HR fills in the end date does KoppelHet send the recovery notification.
- Personio records sickness in full or half days, or in hours, but not as a percentage. KoppelHet calculates the absence percentage from the day parts or hours and the schedule, so someone who only works mornings is reported as fifty percent sick.
- Personio only reports a sick period again when its start or end changes, not on an approval or an uploaded doctor's note. A moved first sick day goes to the health service as a correction, including the old date; a note produces no notification.
- Every period in Personio has its own time zone. KoppelHet uses the date in that time zone, so a sick notification starting at midnight Dutch time does not start a day earlier at the health service.
- Only employees of the Dutch entity go to the health service. Sickness of colleagues in other countries never leaves Personio, even though they are in the same environment.
- The Dutch safety net scheme does not exist in Personio, while SIVI requires it. We record it in a custom attribute, which must be whitelisted for the integration in Personio. The comment on a period is never sent, because it may contain medical information.
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
What happens if HR deletes a sick period in Personio?
Then KoppelHet creates a task for HR instead of sending anything to the health service itself. Withdrawing a sick notification is better agreed with the health service directly.
Do employees have to report sick differently?
No. Sickness remains an absence in Personio. The absence type does need the sick-leave category.
Is a diagnosis sent to the health service?
No. The notification contains dates, a percentage and codes. Comments and attachments from Personio are not sent.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Personio is read through webhooks (absence-period.created, absence-period.updated.timerange and absence-period.deleted) and the Personio API v2 (GET /v2/absence-periods filtered on updated_at, with starts_from and ends_at including day part FIRST_HALF or SECOND_HALF and timezone_id; GET /v2/absence-types with category and unit DAY or HOUR), plus persons and employments, read-only.
- The message is Verzuimmeldingen from the SIVI absence standard for employers and health services, with processing code new, changed or correction, Vangnet J/N (mandatory), organisational unit and a cause code without diagnosis. Transport under the SIVI 2025 interface specification (REST endpoint at the health service, XML in Base64 inside JSON, OAuth 2.0), with a return and processing message back.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Personio | Field in Arbodienst (SIVI) | Notes |
|---|---|---|
Personio-id van de persoon | Identificatie werknemer | No citizen service number |
Employment | Identificatie dienstverband | |
Id van de eerste ziekteperiode | Verzuimgeval identificatie | Adjoining periods keep the same absence case |
starts_from (datum en dagdeel) | Datum eerste verzuimdag | |
Halve dagen of uren ten opzichte van het rooster | Percentage verzuim | Calculated; Personio does not store a percentage |
ends_at | Datum hersteld en Einde verzuim J/N | Empty while the sickness lasts |
org_units (afdeling) | Organisatie-eenheid, code | |
Eigen attribuut vangnet | Vangnet J/N | Personio has no Dutch safety net concept |
Related
Ashby → Personio
Ashby to Personio integration: hires with hours and entity as new employees in Personio
Bullhorn → Personio
Bullhorn to Personio integration: placements as a person with employment in Personio
Carerix → Personio
Carerix to Personio integration: successful placement as a new employee in Personio
Greenhouse → Personio
Greenhouse to Personio integration: hired candidates as employees in Personio