
Payroll integration
Workday to Silae integration: French employees, emplois and absence from Workday in mySilae Paie
An integration between Workday and Silae creates French workers from Workday as a salarié with an emploi in mySilae Paie, and then keeps pay, job and approved absence up to date. Writing through the Silae API is only possible with an API account of a Silae partner, such as the accounting firm or payroll bureau that runs French payroll.
What the integration does
Organisations that manage HR worldwide in Workday and have French payroll run by a firm that works with Silae often send new French workers to that firm as a form or spreadsheet. A payroll officer there retypes the details, and time off from Workday only arrives by email at the end of the month.
- HR completes a Hire in the French pay group in Workday.
- KoppelHet checks the French social security number and looks up the establishment and model employee for the Workday location.
- KoppelHet creates the salarié with one emploi in the right Silae dossier, with the Workday employee ID as matricule.
- Later pay or job changes go to the same emploi; approved time off goes in as absence with the agreed Silae code.
- Anything Silae rejects goes on a list for the payroll bureau and HR, with the error message.
What to watch for with Workday and Silae
- Silae only grants write access to employees in the API model Usage interne RH (1B), and that model is reserved for Silae partners such as accountants and payroll bureaus. A Workday customer therefore gets no write account of its own; KoppelHet builds the integration on the API account of the firm that processes French payroll.
- In Silae the matricule is the key of a salarié. An employee created without a matricule cannot be read or changed through the API. KoppelHet therefore always fills in the Workday employee ID and does not let Silae generate its own number.
- Every pay-relevant change creates a new emploi in Silae, even a simple pay rise. The API works with an external emploi ID that stays the same for such a rise. KoppelHet sends a Compensation Change from Workday to that existing emploi and only creates a new emploi on a real rehire.
- When creating an employee Silae can copy a model employee. KoppelHet uses one model employee per establishment, set up by the payroll bureau, so the collective agreement, status and Silae settings come from Silae and Workday only supplies personal and contract details.
- Silae only updates fields whose matching b flag is true, such as bPrenom for Prenom. KoppelHet only sets that flag for fields that changed in Workday, so what the payroll bureau enters in Silae itself stays in place.
- The social security number must have fifteen characters with a correct key, otherwise Silae rejects the employee. KoppelHet already checks the key on the Workday number and reports an error to HR before the salarié is created.
- How an absence lands in Silae depends on the dossier settings, such as congés payés in jours ouvrés, ouvrables or hours. For each Workday time off type KoppelHet agrees the Silae code and counting method with the payroll bureau.
- If time off is withdrawn in Workday for a period that is already closed in Silae, Silae advises absence code 633 (cancellation) with absenceRectificative. KoppelHet uses that route instead of silently deleting the absence.
- Silae only accepts characters from Windows-1252. Names from Workday with letters outside that set, such as a Polish ł, are converted by KoppelHet and reported, so the name on the payslip gets checked.
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
Can KoppelHet also send the DPAE from this integration?
The Silae API has a function that generates and sends the DUE. Whether the integration does this or the payroll bureau, we agree beforehand; by default we leave it with the bureau.
Do the payslips from Silae also come back to Workday?
Not in the first version. Silae returns the IDs of the payslip images per period through the API; that can be added later as an extension.
What if French payroll is run in-house in Silae?
Even then the API contract runs through a Silae partner, for example the reseller. Whoever manages the account decides who enables access per dossier.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Workday is read through a RaaS report on the French pay group (Employee_ID, Legal_Name, National_ID FRA, Location, Hire_Date, Base_Pay, Termination_Date, Time Off Entries) filtered on change date.
- Silae through https://payroll-api.silae.fr/payroll with OAuth 2.0 client credentials (token from payroll-api-auth.silae.fr, valid for 60 minutes, at most 60 tokens per minute). Create and change with POST /v1/SalarieEmplois/CreationSalarieEmplois (ListeSalarieEmplois first for the emploi IDs), small corrections with /v1/SalarieEmplois/ModificationChampSalarie (all or nothing per call) and absence with /v1/Absences/SalarieAjouterAbsenceV2. Every call names the numeroDossier; the partner enables an API access configuration per dossier.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Workday | Field in Silae | Notes |
|---|---|---|
Employee_ID | matriculeSalarie | Key; without a matricule the salarié cannot be reached through the API |
Legal_Name (achternaam) | nomNaissance | Required in Silae |
Legal_Name (voornaam) | prenom | |
National_ID (FRA) | numeroSecuriteSociale | Fifteen characters with a valid key |
Location | nomInterneEtablissement | Through a lookup table |
Hire_Date | dateDebut en dateDebutContrat (emploi) | |
Base_Pay | salaireDeBase met salaireDeBaseEstHoraire | |
Time off type | codeAbsence | Codes from the Silae dossier |
Related
Ashby → Workday
Ashby to Workday integration: hires to Workday, with a check on outcome and phone number
Bullhorn → Workday
Bullhorn to Workday integration: a consultant's first placement as a hire in Workday
Carerix → Workday
Carerix to Workday integration: a placed candidate becomes a pre-hire and starts the hire
Greenhouse → Workday
Greenhouse to Workday integration: hires as pre-hires, interim staff and contractors included