BambooHR logoSilae logo

Payroll integration

BambooHR to Silae integration: French employees from BambooHR as a salarié in the firm's Silae dossier

An integration between BambooHR and Silae creates a new French employee from BambooHR as a salarié with an emploi in the firm's Silae dossier, and passes pay rows with their effective date and leavers with a reason on to that emploi. The integration writes with the firm's API account, because Silae only gives write access to partners.

What the integration does

Organisations with BambooHR as their HR system and a firm that processes French payroll in Silae send the firm a message for every starter, rise and leaver. The contract form is in a custom field in BambooHR and does not always reach the firm correctly.

  1. The firm opens the API for the dossier of the French entity and chooses a model employee.
  2. HR records a new employee with a French location in BambooHR.
  3. KoppelHet checks NIR and contract form and creates the salarié with one emploi.
  4. New pay rows and terminations go to the same emploi.
  5. Anything Silae rejects is on a list for HR and the firm, with the error message.
BambooHR → KoppelHet → SilaeSOURCEBambooHRTARGETSilaeKoppelHetmapping · logging · monitoringBambooHR → KoppelHet → SilaeSOURCEBambooHRTARGETSilaeKoppelHetmapping · logging · monitoring
Out: Salarié with name and NIR · Emploi with contract form and start date · Base pay with effective date · End date and reason

What to watch for with BambooHR and Silae

  • Silae only gives partners such as accountants and payroll bureaus an API account that can write employees. An organisation with BambooHR and a firm does not have that account itself. KoppelHet uses the firm's client credentials, and the firm decides per dossier whether the API is open.
  • BambooHR has no field for the French NIR; organisations use the general nationalId for it. Silae rejects a salarié without a valid fifteen-character number. KoppelHet already checks length and key in BambooHR, so HR corrects the number before the firm sees an error.
  • In BambooHR the values of employmentStatus can be configured freely per account, and the contract form is often in a custom field. Silae wants a fixed codeContratTravail. KoppelHet records per customer which BambooHR value is a CDI or CDD, and holds back an unknown value.
  • A pay row in BambooHR has an effective date and an amount per Hour, Month or Year. Silae takes a salaireDeBase and a flag for an hourly wage, and keeps the same emploi ID on a change. KoppelHet sends an hourly wage with the flag, an annual salary divided by twelve, and always to the existing emploi.
  • A leaver in BambooHR is a new row in the employmentStatus table; terminationDate itself is read-only. Silae asks for a motifFinEmploi with dateFin, such as 010 for resignation by the employee or 138 for a rupture conventionnelle. KoppelHet translates the customer's termination reasons into those codes and reports a reason without a code.
  • BambooHR sends no webhooks for custom tables. If the contract form or a French bonus is in such a table, KoppelHet reads it daily through the changed table data endpoint, and once more before the close of the pay period.

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

Do time off and variables go across as well?

Not in the first version. Absence and bonuses as payroll variables 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.

  • BambooHR through signed webhooks (HMAC in X-BambooHR-Signature) and the employees API with nationalId, employeeNumber, hireDate and location; compensation and employmentStatus tables, custom tables through the changed table data endpoint.
  • Silae through https://payroll-api.silae.fr/payroll with the firm's OAuth 2.0 client credentials: POST /v1/SalarieEmplois/CreationSalarieEmplois with numeroDossier and matriculeSalarieModele, ListeSalarieEmplois for the emploi ID, dateFin and motifFinEmploi on a leaver.

Which fields are transferred

The key fields. The full mapping is agreed per customer.

Field in BambooHRField in SilaeNotes
employeeNumbermatriculeSalarie
lastName, firstNamenomNaissance, prenom
nationalIdnumeroSecuriteSocialeFifteen characters
employmentStatus of eigen veld voor contractvormcodeContratTravail (01 CDI, 02 CDD)Lookup table per customer
hireDatedateDebutContrat en dateDebut
compensation-tabel (rate, paidPer, startDate)salaireDeBase met salaireDeBaseEstHoraire
employmentStatus-tabel (Terminated, date, reden)dateFin en motifFinEmploi

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.