Absence reporting (SIVI)
Visma Peple to occupational health service via SIVI: sick and recovery notifications from Peple to the health service
Visma Peple sends sick and recovery notifications to the occupational health service itself through a SIVI integration over SFTP, which the customer activates with a Visma consultant. KoppelHet is needed when the health service asks for a newer SIVI version or a different transport, or when notifications from several Peple units must go to different health services, and then reads absence from Peple's Reporting API.
What the integration does
Organisations that run HR and payroll in Visma Peple, many of them in education, childcare and non-profit, often use the SIVI integration Visma provides itself. If the organisation changes health service, or the service no longer supports Peple's SIVI version, notifications go through the health service portal again.
- HR records the sick notification in Peple on the employee's contract.
- KoppelHet starts an absence export with only the changes since the previous run, and fetches the CSV file once the export job is done.
- Every new or changed row becomes a SIVI absence notification to the health service of that Peple unit.
- An end date in Peple goes as a recovery notification; a deleted row as a correction.
- The health service's acknowledgement shows in the KoppelHet platform.
What to watch for with Visma Peple and Arbodienst (SIVI)
- According to Visma's own project document, Peple's SIVI integration works over SFTP with SIVI 2021. Health services usually only support the current and the two previous annual versions. If the health service no longer accepts 2021, KoppelHet sends the same notifications in the version the health service does support.
- Peple does not provide absence on demand, but through an export job you start and then collect. The Reporting API allows two full exports per endpoint per tenant per day. After the first run KoppelHet therefore only requests changes with the timestamp of the previous run.
- Peple's incremental export sometimes returns rows that have not really changed, for example after a change at company level. KoppelHet compares each row with what the health service already has, so such a row does not become an extra SIVI change.
- If a sickness row is deleted in Peple, the export contains an empty row with only the employee and contract keys. KoppelHet recognises it and sends the health service a correction, so a wrongly entered sick notification disappears there too.
- Peple gives each sickness row its own start date and the start date of the whole continuous absence. The latter becomes the first day of absence of the SIVI case; later rows go as a change of the percentage with their own effective date.
- A Peple customer can consist of several units, each with its own CompanyID. If those units have a different health service or their own connection number, KoppelHet sends per unit to the right recipient.
- In Peple the sickness address is not on the absence but in the employee export. KoppelHet only fetches it there if the health service asks for it in the agreed SIVI version; a diagnosis or free text is in neither export and is therefore never sent.
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 not just Visma's SIVI integration?
It is the first choice if your health service supports its version and SFTP. KoppelHet only comes in when that is not the case, or when units report to different health services.
Does medical data go to the health service?
No. The Peple 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 (OAuth via Visma Connect, scope hrmanalytics:nlhrm:exportsicknesses) - POST /v1/command/nl/hrm/contracts/sicknesses with changeTimestampAfter, then /v1/query/nl/hrm/contracts/sicknesses/{jobId} for the CSV file (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; maintenance on Saturday half an hour before midnight UTC.
- The message is Verzuimmeldingen from the SIVI absence standard for employers and health services, in the version the health service supports, with processing code new, changed or correction and validated against the XML schema. Transport as agreed with the health service.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Visma Peple | Field in Arbodienst (SIVI) | Notes |
|---|---|---|
employeeid | Identificatie werknemer | |
contractid en subcontractid | Identificatie dienstverband | |
primestartdate | Eerste verzuimdag van het geval | For continuous absence |
startdate | Ingangsdatum mutatie | |
percentsick | Percentage verzuim | |
enddate | Datum hersteld en Einde verzuim J/N | |
sicknesscode | Vangnet en oorzaak | Lookup table from the metadata |
odporgid | Werkgeverskenmerk en aansluitnummer | Per Peple unit |
Related
Visma Peple → Active Directory
Visma Peple to Active Directory integration: accounts from Peple HRM & Payroll
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
Visma Peple → Freshservice
Visma Peple Freshservice integration: requesters per contract and requests on joining and leaving