Payroll integration
Personio to Silae integration: French employees and absences from Personio in mySilae Paie
An integration between Personio and Silae creates French employees from Personio as a salarié with an emploi in Silae and passes on approved absences with the absence codes of the payroll file. API access to Silae runs through the Silae partner that processes French payroll, usually the accounting firm.
What the integration does
Organisations with HR in Personio and a French entity whose payroll runs at an accounting firm in Silae export data from Personio every month. The firm cleans up that export and enters the changes into Silae by hand.
- The firm creates an API account in the Silae API portal that only sees this employer's payroll files.
- Every hour KoppelHet reads the changed employees of the French entity in Personio.
- A new employee becomes a salarié with an emploi in Silae; KoppelHet stores the matricule with the Personio ID.
- Approved absence goes to the payroll file with the Silae code for that absence type.
- Before closing, the firm receives a list of what was passed on and what was held back.
What to watch for with Personio and Silae
- Personio has no integration with Silae. In the Personio community a French user asked in 2022 for an API or integration, because the firm cleaned up an export every month and entered it into Silae by hand; other users asked for it later too, without any answer that one exists.
- Silae only gives an API account to partners, such as accounting firms, payroll bureaus and resellers. An employer with Personio therefore gets access through the firm, which can pass the account on to the client. The subscription key determines which payroll files the integration sees.
- Personio has no standard field for the French social security number, while Silae requires exactly fifteen characters with a valid key. KoppelHet reads a custom attribute in Personio and checks the key before sending; a wrong number becomes a notification to HR, not a rejected request at the firm.
- The matricule is the key the Silae API uses to find a salarié, and a salarié without a matricule cannot be reached through the API. If the payroll file lets Silae number the matricule itself, KoppelHet stores the number from the response with the Personio ID.
- Whether an absence goes to Silae in hours or in days depends on the settings of the payroll file and the salarié. An absence type from Personio that does not exist in the employee's collective agreement is rejected by Silae with "Le code absence n'existe pas"; KoppelHet therefore agrees the lookup table with the firm in advance.
- If HR withdraws leave in Personio that fell in an earlier Silae period, Silae advises code 633 with absenceRectificative. KoppelHet does not send such a correction itself, but puts it on the list for the firm, because a correction on a closed period is a decision for the payroll specialist.
- Silae can send a DUE straight away when an emploi is created. KoppelHet leaves that option off, so the declaration stays with the firm and a hire that HR still reverses in Personio has not already reached the French authorities.
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
Who arranges access to Silae?
The firm that processes payroll. Silae only gives API accounts to partners.
Do pay raises go across as well?
Not in the first version. New employees and absences first; pay changes can follow later as an extension.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Personio through API v2 (GET /v2/persons with updated_at.gt, scope personio:persons:read, at most 50 per page with cursor) and the employments of the French entity; absences through Personio's absence periods.
- Silae through the REST API with OAuth 2.0 client credentials (token valid for 60 minutes, at most 60 tokens per minute) and the Ocp-Apim-Subscription-Key header. Functions CreationSalarieEmplois (envoiDUEEdi off) and SalarieAjouterAbsenceV2, with matricule and numeroDossier.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Personio | Field in Silae | Notes |
|---|---|---|
first_name, last_name | Prénom, nomNaissance | Birth name is required in Silae |
Eigen attribuut NIR in Personio | numeroSecuriteSociale | 15 characters with a valid key |
Personio person id | matricule (bewaard bij KoppelHet) | |
Startdatum van het dienstverband | DateDebut van het emploi (identifiantEmploi 0 voor een nieuw emploi) | |
Verloftype in Personio | codeAbsence uit de conventie van de medewerker | Through a lookup table approved by the firm |
Duur van de afwezigheid | valeur1 tot valeur5 in uren of dagen | According to the payroll file setting |
Related
Ashby → Personio
Ashby to Personio integration: hires with hours and entity as new employees in Personio
Bullhorn → Personio
Bullhorn to Personio integration: placements as a person with employment in Personio
Carerix → Personio
Carerix to Personio integration: successful placement as a new employee in Personio
Greenhouse → Personio
Greenhouse to Personio integration: hired candidates as employees in Personio