Personio logoSilae logo

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.

  1. The firm creates an API account in the Silae API portal that only sees this employer's payroll files.
  2. Every hour KoppelHet reads the changed employees of the French entity in Personio.
  3. A new employee becomes a salarié with an emploi in Silae; KoppelHet stores the matricule with the Personio ID.
  4. Approved absence goes to the payroll file with the Silae code for that absence type.
  5. Before closing, the firm receives a list of what was passed on and what was held back.
Personio → KoppelHet → SilaeSOURCEPersonioTARGETSilaeKoppelHetmapping · logging · monitoringPersonio → KoppelHet → SilaeSOURCEPersonioTARGETSilaeKoppelHetmapping · logging · monitoring
Out: Salarié with civil status and NIR · Emploi with start date · Approved absence with Silae code · Matricule as fixed key

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, 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 · Complex

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

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 PersonioField in SilaeNotes
first_name, last_namePrénom, nomNaissanceBirth name is required in Silae
Eigen attribuut NIR in PersonionumeroSecuriteSociale15 characters with a valid key
Personio person idmatricule (bewaard bij KoppelHet)
Startdatum van het dienstverbandDateDebut van het emploi (identifiantEmploi 0 voor een nieuw emploi)
Verloftype in PersoniocodeAbsence uit de conventie van de medewerkerThrough a lookup table approved by the firm
Duur van de afwezigheidvaleur1 tot valeur5 in uren of dagenAccording to the payroll file setting

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.