Absence reporting (SIVI)
Visma Peple to absence insurer via SIVI: absence per contract from Peple to the insurer
With an integration between Visma Peple and the absence insurer, sick notifications, changes in the absence percentage and recovery from Peple go to the insurer automatically, as the SIVI employer-to-insurer Verzuimmeldingen message. Each Peple contract becomes its own employment in it, so absence on one contract and work on the other reach the insurer correctly.
What the integration does
Organisations that run payroll and HR in Visma Peple and have insured the sickness risk, many in education and childcare, now report sick employees by hand in the insurer's portal. Employees with several appointments make that error-prone, because someone can be sick at one school and not at the other.
- KoppelHet starts an absence export in Peple with only the changes since the previous run, and collects the file once it is ready.
- Every new or changed row becomes a report on the employment of that contract, with processing code new or changed.
- An end date in Peple becomes the recovery date with end of absence yes.
- A deleted row becomes a cancelled report.
- Per agreed period all reports per Peple unit go to the insurer in one message.
What to watch for with Visma Peple and Verzuimverzekeraar (SIVI)
- The SIVI standard for insurers itself gives the example of a teacher with two employments, sick at one school and not at the other. Peple gives each absence row with a contract and subcontract. KoppelHet makes each contract its own employment in the message, so the insurer sees which appointment the absence applies to.
- An employer is recognised by the insurer by the payroll tax number of the unit the policy was taken out with. A Peple customer can consist of several units, each with its own organisation ID. KoppelHet records the payroll tax number per unit and only reports absence of units covered by the policy.
- Peple gives each absence row its own start date and the start date of the whole continuous absence. The second becomes the first day of the case, the first the effective date of the change. The insurer then sees a change from fifty to one hundred percent as a continuation of the same case.
- If a temporary contract in Peple ends while the employee is sick, the contract has an end date but the absence is not over. SIVI explicitly asks not to close sick employees on the end date of the employment. KoppelHet only sends end of absence on a real recovery date on the absence row.
- Peple's incremental export sometimes returns rows that have not really changed. SIVI has the processing code for information for that. KoppelHet compares each row with what was already reported and only sends the code changed on a real change, so the insurer does not process false changes.
- If an absence row is deleted in Peple, the export contains an empty row with only the keys. KoppelHet then sends the processing code cancelled for that case, which SIVI intends for absence that was reported wrongly.
- SIVI's cause codes for insurers are work accident, traffic accident with recourse and other. Peple has its own absence codes, which can be requested through a separate metadata export. KoppelHet records per code which SIVI cause belongs to it, and sets an unknown code to other with an alert to HR.
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
Doesn't Peple have its own SIVI integration?
According to Visma's own project document it is intended for health services, over SFTP with SIVI 2021. The document does not mention the employer-to-insurer message; checking with Visma is still sensible.
Does medical data go to the insurer?
No. Peple's absence export contains dates, percentages and an absence code, no diagnosis.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Peple through the Visma.net HRM & Payroll Reporting API with Visma Connect (scope hrmanalytics:nlhrm:exportsicknesses) - POST /v1/command/nl/hrm/contracts/sicknesses with changeTimestampAfter, CSV through GET /v1/query/nl/hrm/contracts/sicknesses/{jobId} (employeeid, contractid, subcontractid, sicknesscode, percentsick, startdate, enddate, primestartdate, odporgid); codes through /v1/command/nl/hrm/metadata/sicknesses. Two full exports per endpoint per tenant per 24 hours; empty rows on deletions.
- SIVI message Verzuimmeldingen from employer to insurer (XML under the XSD, targetNamespace VerzuimmeldingenWerkgeverVerzekeraar, file name prefixed WV-), processing codes 01 new, 02 changed, 03 cancelled, 04 for information and 05 correction; at most 99 absences per employment. Transport to be agreed per insurer.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Visma Peple | Field in Verzuimverzekeraar (SIVI) | Notes |
|---|---|---|
odporgid | Werkgever: loonheffingennummer | Table per Peple unit |
employeeid | Identificatie werknemer | |
contractid en subcontractid | Identificatie dienstverband | |
primestartdate | Datum eerste verzuimdag | |
startdate van de regel | Ingangsdatum mutatie verzuim | |
percentsick | Percentage verzuim | |
enddate | Datum hersteld en Einde verzuim J/N | |
sicknesscode | Oorzaak verzuim (10, 11 of 99) | Lookup table from Peple's absence codes |
Related
Visma Peple → Active Directory
Visma Peple to Active Directory integration: accounts from Peple HRM & Payroll
Visma Peple → Arbodienst (SIVI)
Visma Peple to occupational health service via SIVI: sick and recovery notifications from Peple to the health service
Visma Peple → Microsoft Entra ID
Visma Peple to Entra ID integration: Microsoft accounts from Peple HRM & Payroll
Visma Peple → Exact Online
Visma Peple to Exact Online integration: cost centres ready in Exact and employee changes on a worklist