Rippling logoVS

Absence reporting (SIVI)

Rippling to the absence insurer via SIVI: sickness of workers at the Dutch legal entity

With an integration between Rippling and the absence insurer, approved leave requests of the sick leave type for workers of the Dutch legal entity in Rippling go to the insurer automatically, as a SIVI employer-to-insurer message. KoppelHet fetches the changes every hour, because Rippling only gives leave webhooks to App Shop partners.

What the integration does

Organisations that use Rippling for HR and have absence insurance for their Dutch legal entity now pass sickness to the insurer separately. Rippling is often set up from the United States, with the Netherlands as one of several entities.

  1. At the start we designate the leave type for sickness and link the Dutch legal entity to the payroll tax number of the policy.
  2. Every hour KoppelHet fetches the leave requests changed since the previous run, sorted by last change.
  3. An approved request of a worker at the Dutch entity becomes a new report.
  4. A different end date or different minutes become a changed report, a cancellation a cancelled report.
  5. Per agreed period all reports go to the insurer together.
Rippling → KoppelHet → Verzuimverzekeraar (SIVI)SOURCERipplingTARGETVerzuimverzekeraar (SIVI)Verzuimverzekeraar (SIVI)KoppelHetmapping · logging · monitoringRippling → KoppelHet → Verzuimverzekeraar (SIVI)SOURCERipplingTARGETVerzuimverzekeraar (SIVI)Verzuimverzekeraar (SIVI)KoppelHetmapping · logging · monitoring
Out: Leave requests of the sick leave type · Minutes per day as absence percentage · Legal entity with tax identifier · New, changed and cancelled reports

What to watch for with Rippling and Verzuimverzekeraar (SIVI)

  • Rippling only sends leave request events to apps from its own App Shop. For an integration of a single organisation KoppelHet fetches the changes itself every hour, sorted by the moment of last change. For an insurer that receives reports per period, that is well in time.
  • A legal entity in Rippling has a place in the hierarchy, as parent, subsidiary or branch, and its own tax identifier. If a group has several Dutch entities each with a policy, the worker's entity decides under which payroll tax number the report falls.
  • A leave request lists the worker and the requester separately. HR can therefore enter sickness on behalf of an employee. For the insurer only the worker who is sick counts; who made or approved the request is not sent.
  • Rippling gives the number of minutes taken per day. KoppelHet compares that with the worker's schedule for that weekday. An employee who is sick for two hours on a four-hour day reaches the insurer as fifty percent, not as a full day.
  • If the API user has no right to a field, Rippling leaves it out without an error and puts it in a list of redacted fields. KoppelHet stops a run when a date or the legal entity is on that list, instead of sending an incomplete report to the insurer.
  • A leave type in Rippling can be managed by an external system. If that is on for sickness, the requests come from that system and not from Rippling. At the start we check that flag, so the insurer does not get reports from two sources.

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 gives leave webhooks to App Shop partners. Fetching every hour suits an insurer that receives reports per period.

Is the payroll tax number in Rippling?

The legal entity has a tax identifier. Whether that is the payroll tax number of the policy we check at the start; otherwise a table records it.

Does the reason or 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, cursor, order_by updated_at, filter on worker_id, requester_id, status, leave_policy_id and leave_type_id, expand worker and leave_type). Fields include id, worker_id, requester_id, status (PENDING, APPROVED, REJECTED, CANCELED), start_date, end_date, number_of_minutes_requested, days_take_off (date, number_of_minutes_taken_off) and is_managed_by_external_system. Worker with legal_entity (country, tax_identifier, hierarchy PARENT, SUBSIDIARY or BRANCH) and work_schedule. Redacted fields in __meta.redacted_fields.
  • Message Verzuimmeldingen from employer to insurer (XML, targetNamespace VerzuimmeldingenWerkgeverVerzekeraar, file name prefixed WV-), processing codes 01 new, 02 changed, 03 cancelled, 04 for information and 05 correction, cause codes 10, 11 and 99. Transport to be agreed per insurer.

Which fields are transferred

The key fields. The full mapping is agreed per customer.

Field in RipplingField in Verzuimverzekeraar (SIVI)Notes
legal_entity (via tabel)Werkgever: loonheffingennummer
worker_idIdentificatie werknemerNo citizen service number
Leave request idVerzuimgeval identificatie
start_dateDatum eerste verzuimdag
days_take_off (number_of_minutes_taken_off)Percentage verzuimAgainst the work schedule per weekday
end_date + 1 dagDatum hersteld en Einde verzuim J/N
status CANCELEDVerwerkingscode 03 vervallen

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.