Absence reporting (SIVI)
Sage People to the occupational health service via SIVI: absence records as absence reports
With an integration between Sage People and the occupational health service, approved sickness of employees with a Dutch payroll company in Sage People automatically becomes a sick, change or recovery report at the health service, in the SIVI format. While the end date in Sage People is provisional, the absence stays open at the health service.
What the integration does
Organisations that use Sage People for HR in several countries and have an occupational health service in the Netherlands record sickness in Sage People and then again in the health service portal. With long-term absence and a provisional end date, the health service often does not know whether the employee is already back.
- At the start we decide which reasons in Sage People mean sickness and which payroll company belongs to the Dutch employer.
- Every hour KoppelHet requests the absence records changed since the previous run.
- Approved sickness goes to the health service as a sickness report, per employment record.
- When the end date becomes final, the recovery report follows with the next day as the recovery date.
- A rejected or deleted sickness that was already reported becomes a task for HR.
What to watch for with Sage People and Arbodienst (SIVI)
- An absence record in Sage People sits under an employment record. Someone with two employments at the Dutch employer therefore gets two employments at the health service, and the sickness lands on the contract it was recorded under.
- Sage People has a checkbox for a provisional end date. While it is on, KoppelHet sends no recovery report. Once it is off, the end date can no longer be changed according to Sage People's validations, and the recovery report goes to the health service.
- Approval, rejection and confirmation are separate dates in Sage People that no longer change once filled in, and an approved record cannot go back to unapproved. The health service only receives a sickness report after approval; a rejection of reported sickness becomes a task for HR.
- Sage People can create day records with the duration per day for each absence. If that is on, KoppelHet calculates the absence percentage per day; if it is off, we use the total days or hours and the employee's work pattern.
- An absence record can be marked private and has notes of up to 32,000 characters, plus checkboxes for a medical or self certificate. Those fields are not in the integration's permission set, so they do not reach KoppelHet or the health service.
- Sage People runs on Salesforce, and the API user's permission set decides which fields are visible. Missing fields in an integration are usually a permissions issue there. At the start we test with a known sickness record whether dates, approval and duration really come through.
- Sage People links each employee to a payroll company. KoppelHet uses that field to forward only sickness of employees on the Dutch payroll; absence in other countries stays in Sage People.
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
Do we need to switch on day records in Sage People?
It is not required, but it helps with partial absence. The percentage per day at the health service is then right.
Do the notes on the absence go along?
No. Notes, private flag and certificates stay in Sage People.
What if long-term sickness keeps being extended?
While the end date is provisional, the absence stays open at the health service. An extension is then not a new sickness report.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Sage People through the Salesforce REST API with SOQL on the Absence object (fHCM2__Absence__c) and the Absence Day Record object, filtered on LastModifiedDate, with fields including Employment Record, Start Date, End Date, End Date Provisional, Days/Hours, Approved, Approval Date, Rejected Date, Confirmed Date, Reason and Type. Deleted records through queryAll. Employment records (fHCM2__Employment__c) and team members (fHCM2__Team_Member__c) with payroll company. API user with a Salesforce Integration licence, OAuth 2.0 client credentials and a permission set without Notes, Is Private and certificate 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 Sage People | Field in Arbodienst (SIVI) | Notes |
|---|---|---|
Team member (personeelsnummer) | Identificatie werknemer | No citizen service number |
Employment Record | Identificatie dienstverband | |
Absence record Id | Verzuimgeval identificatie | |
Start Date | Datum eerste verzuimdag | |
Absence Day Record (Duration per dag) | Percentage verzuim | |
End Date + 1 dag, alleen als End Date Provisional uit staat | Datum hersteld en Einde verzuim J/N | |
Reason | Filter op ziekte | Not sent itself |
Eigen veld in Sage People | Vangnet J/N |
Related
Sage People → Active Directory
Sage People to Active Directory integration: domain accounts for the Dutch office
Sage People → ADP iHCM
Sage People to ADP iHCM integration: salary records, bonuses and leavers of the Dutch payroll company to ADP
Sage People → AFAS Profit
Sage People to AFAS integration: Dutch employees and salaries from Sage People in AFAS Profit
Sage People → DATEV
Sage People to DATEV integration: German payroll changes from Sage People to DATEV