Rippling logoAS

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.

  1. At the start we decide which leave types in Rippling mean sickness and which legal entity is the Dutch employer.
  2. Every hour KoppelHet requests the leave requests changed since the previous run, sorted by last change.
  3. Approved sickness of a Dutch employee goes to the health service as a sickness report, with employment and safety net.
  4. A different end date or fewer minutes per day becomes a change or recovery report.
  5. The health service sends a return notification; a rejection, cancellation or deletion becomes a task for HR.
Rippling → KoppelHet → Arbodienst (SIVI)SOURCERipplingTARGETArbodienst (SIVI)Arbodienst (SIVI)KoppelHetmapping · logging · monitoringRippling → KoppelHet → Arbodienst (SIVI)SOURCERipplingTARGETArbodienst (SIVI)Arbodienst (SIVI)KoppelHetmapping · logging · monitoring
Out: Leave requests of the sick leave type · Minutes per day from days_take_off · Workers of the Dutch legal entity · Work schedule per weekday · Return notification from the health service

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, 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

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 RipplingField in Arbodienst (SIVI)Notes
worker.numberIdentificatie werknemerNo citizen service number
worker_id (de rol bij de Nederlandse legal entity)Identificatie dienstverband
Leave request idVerzuimgeval identificatie
start_dateDatum eerste verzuimdag
days_take_off (minuten per dag) tegen work_schedulePercentage verzuim
end_date + 1 dagDatum hersteld en Einde verzuim J/N
leave_type_idFilter op ziekteOnly the types designated as sickness
Eigen veld in RipplingVangnet J/NRippling has no safety net concept

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.