
Payroll integration
SAP SuccessFactors to Silae integration: the French legal entity from Employee Central as salarié and emploi in Silae
An integration between SAP SuccessFactors and Silae turns a hire at the French legal entity in Employee Central into a salarié with an emploi in the Silae dossier, with contract type, status and base salary, and closes the emploi on a termination. KoppelHet writes on the API account of the Silae partner that processes French payroll, because only partners get write access to employees.
What the integration does
Organisations that use Employee Central as their global HR system and have French payroll processed by a firm in Silae send every French hire to that firm as a form. Contract type and cadre or non-cadre status are then entered in Silae again, and a leaver in SuccessFactors sometimes only reaches the firm after the DSN.
- HR records a hire at the French legal entity in Employee Central.
- KoppelHet reads person, national ID, job and compensation data through OData, including entries with a future effective date.
- KoppelHet creates the salarié with one emploi in the Silae dossier of the French legal entity, based on the firm's model employee.
- Pay changes go to the same emploi; a termination sets the end date and reason on the emploi.
- Anything Silae rejects goes on a list for the firm and HR, with the error message.
What to watch for with SAP SuccessFactors and Silae
- Silae only writes employees through the API model Usage interne RH (1B), which is reserved for Silae partners. A SuccessFactors customer therefore gets no write account of its own; KoppelHet works on the firm's account, which enables API access per Silae dossier.
- Employee Central holds the French contract type as a picklist on the job information, Silae as a code, such as 01 for a CDI and 02 for a CDD. For a CDD Silae also asks for a reason and the duration in months. KoppelHet translates the customer's picklist into those codes and holds back a CDD when the reason is missing.
- In Silae the contract start date must be on or before the start date of the emploi, otherwise Silae creates the salarié without an emploi. Employee Central supplies one start date on a hire; KoppelHet fills it into both fields, so there is never a salarié without an emploi in the dossier.
- A termination from SuccessFactors lands in Silae as dateFin with a motifFinEmploi, such as 010 for resignation or 138 for a rupture conventionnelle. The event reasons in Employee Central are configured per customer; KoppelHet records the Silae code per reason and reports an unknown reason to the firm.
- PerNationalId can hold numbers from several countries per person, and Silae wants a fifteen-character NIR with a valid key. KoppelHet only sends the number with country FRA and can let Silae derive civility and place of birth from it with calculerElementsNaissance.
- Employee Central returns only today's entry by default. KoppelHet requests a French hire for next month with fromDate and toDate, so the salarié is already in Silae and the firm can send the DPAE on time.
- Silae only updates a field when its matching b flag is true. On a pay change in SuccessFactors KoppelHet only sets the flags for salary and effective date, so status, collective agreement and other settings the firm manages in Silae stay in place.
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
Does leave from SuccessFactors also go to Silae?
Not in the first version. Silae has an API for absences, but the counting depends on the dossier settings. That can be added later as an extension.
Who sends the DPAE?
The firm, by default. Silae can also send a DUE from the create call, but we only agree that if the firm wants it.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- SuccessFactors through OData v2: PerPerson, PerPersonal, PerNationalId, EmpEmployment, EmpJob (filter on company and lastModifiedDateTime, fromDate/toDate for future entries), EmpPayCompRecurring and EmpEmploymentTermination. OAuth 2.0 with SAML bearer assertion and a technical user that only reads the French legal entity.
- Silae through https://payroll-api.silae.fr/payroll with the partner's OAuth 2.0 client credentials. First ListeSalarieEmplois for existing emploi IDs, then POST /v1/SalarieEmplois/CreationSalarieEmplois with numeroDossier, matriculeSalarieModele and identifiantEmploi 0 for a new emploi or the existing ID for a change. Dates as YYYY-MM-DD.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in SAP SuccessFactors | Field in Silae | Notes |
|---|---|---|
PerPerson.personIdExternal | matriculeSalarie | Key; without a matricule the salarié cannot be reached through the API |
PerPersonal.lastName | nomNaissance | Required in Silae |
PerPersonal.firstName | prenom | |
PerNationalId (country FRA) | numeroSecuriteSociale | Fifteen characters with a valid key |
EmpJob.contractType | codeContratTravail (01 CDI, 02 CDD) | Lookup per customer |
EmpJob.employeeClass of eigen veld | codeStatutCategoriel (cadre of non cadre) | |
EmpJob.startDate bij hire | dateDebutContrat en dateDebut | |
EmpPayCompRecurring (basissalaris) | salaireDeBase met salaireDeBaseEstHoraire | |
EmpEmploymentTermination.endDate en eventReason | dateFin en motifFinEmploi |
Related
Ashby → SAP SuccessFactors
Ashby to SAP SuccessFactors integration: hire as a new employee in Employee Central
Bullhorn → SAP SuccessFactors
Bullhorn to SAP SuccessFactors integration: placements as employees or contingent workers in Employee Central
Carerix → SAP SuccessFactors
Carerix to SAP SuccessFactors integration: successful placement as a new employee in Employee Central
Greenhouse → SAP SuccessFactors
Greenhouse to SAP SuccessFactors integration: a hire as a new employee in Employee Central