Absence reporting (SIVI)
Rippling to the occupational health service via SIVI: sick leave of the Dutch entity reported
With an integration between Rippling and the occupational health service, approved sick leave of employees of the Dutch legal entity in Rippling automatically becomes a sick, change or recovery report at the health service, in the SIVI format. HR no longer reports absence twice in the health service portal, and a cancelled or deleted sickness request in Rippling becomes a task for HR.
What the integration does
Organisations that use Rippling for HR and have a Dutch entity with its own occupational health service request sick leave in Rippling and then enter it by hand in the health service portal. Rippling has no Dutch absence rules, so safety net, partial recovery and recovery report have to be tracked elsewhere.
- At the start we decide which leave types in Rippling mean sickness and which legal entity is the Dutch employer.
- Every hour KoppelHet requests the leave requests changed since the previous run, sorted by last change.
- Approved sickness of a Dutch employee goes to the health service as a sickness report, with employment and safety net.
- A different end date or fewer minutes per day becomes a change or recovery report.
- The health service sends a return notification; a rejection, cancellation or deletion becomes a task for HR.
What to watch for with Rippling and Arbodienst (SIVI)
- Rippling only sends leave request webhooks to partner apps from the App Shop, and then with a delay of about five minutes. An integration for a single organisation therefore fetches the changes itself, sorted by the time of last change.
- A leave request in Rippling has the status PENDING, APPROVED, REJECTED or CANCELED. Only APPROVED becomes a sickness report. If a request that was already reported is cancelled or deleted, HR gets a task, because the health service may already have contacted the employee.
- Rippling gives each request a list of days with the number of minutes taken per day. KoppelHet compares those minutes with the worker's work schedule per weekday, so an afternoon of sickness arrives at the health service as a partial day.
- Each worker in Rippling carries the legal entity with country and tax identifier. KoppelHet only forwards sickness of workers of the Dutch entity; absence of colleagues in the US or elsewhere stays in Rippling.
- A request in Rippling can have a reason and comments in free text. They may mention a complaint, so those fields never go to the health service. Only the leave type decides whether it is sickness.
- If the API user lacks rights to a field, Rippling leaves that field out and names it in a list of redacted fields, without an error. KoppelHet checks that list on every run and reports it when a field needed by the health service is missing.
- A leave type in Rippling can be managed by an external system. If sick leave is set up that way, Rippling is not the source and we connect the integration to the system that actually records the leave.
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
Why no webhooks from Rippling?
Rippling only sends leave webhooks to partner apps in the App Shop. Fetching every hour is well in time for a sickness report.
Do we need a separate leave type for sickness in Rippling?
Yes. The integration recognises sickness by the leave type, not by the reason or comment.
Does the comment on the request go along?
No. Reason and comments stay in Rippling.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Rippling through the REST API with GET /leave-requests/ (scope leave-requests.read, at most 100 per page, cursor, order_by updated_at, filter on status and leave_type_id, expand worker and leave_type). Fields include id, worker_id, status (PENDING, APPROVED, REJECTED, CANCELED), start_date, end_date, number_of_minutes_requested, days_take_off (date, number_of_minutes_taken_off), leave_type_id, reason_for_leave, comments and is_managed_by_external_system. Leave types through GET /leave-types/. Worker with legal_entity (country, tax_identifier) and work_schedule. Redacted fields in __meta.redacted_fields.
- The SIVI messages Employments, Employee data and Absence reports go to the health service, with 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 Rippling | Field in Arbodienst (SIVI) | Notes |
|---|---|---|
worker.number | Identificatie werknemer | No citizen service number |
worker_id (de rol bij de Nederlandse legal entity) | Identificatie dienstverband | |
Leave request id | Verzuimgeval identificatie | |
start_date | Datum eerste verzuimdag | |
days_take_off (minuten per dag) tegen work_schedule | Percentage verzuim | |
end_date + 1 dag | Datum hersteld en Einde verzuim J/N | |
leave_type_id | Filter op ziekte | Only the types designated as sickness |
Eigen veld in Rippling | Vangnet J/N | Rippling has no safety net concept |
Related
Carerix → Rippling
Carerix to Rippling integration: successful match as a hire for review in Rippling
Greenhouse → Rippling
Greenhouse to Rippling integration: every hire straight into Rippling for review
Recruitee → Rippling
Recruitee to Rippling integration: hired candidates ready to hire
Rippling → 4PS Construct
Rippling to 4PS Construct integration: own employees of the construction entity in 4PS, with department as a dimension