BambooHR logoLoket logo

Payroll integration

BambooHR to Loket integration: HR changes from BambooHR for Dutch payroll

With an integration between BambooHR and Loket, a new employee of the Dutch entity in BambooHR becomes a concept employee in Loket, and pay and hours changes go to the employment with their effective date. A termination in BambooHR ends the employment in Loket, so the payroll bureau no longer needs a list of changes.

What the integration does

International employers that use BambooHR and have a payroll bureau process their Dutch entity in Loket email the bureau the changes every month. A pay rise that takes effect a month back in BambooHR is sometimes missed.

  1. HR creates the new employee in BambooHR, with entity, start date, salary and hours.
  2. BambooHR reports the new employee; KoppelHet fetches the current data.
  3. In Loket a concept employee appears at the employer of the Dutch BV, with the new hire checklist started.
  4. A new row in the BambooHR compensation table goes to the pay in Loket with its effective date, converted to the payroll period.
  5. A termination ends the employment in Loket on the end date from BambooHR.
BambooHR → KoppelHet → LoketSOURCEBambooHRTARGETLoketKoppelHetmapping · logging · monitoringBambooHR → KoppelHet → LoketSOURCEBambooHRTARGETLoketKoppelHetmapping · logging · monitoring
Out: Concept employee with personal details and BSN · Employment with employer and start date · Pay per payroll period · Working hours · End of employment

What to watch for with BambooHR and Loket

  • BambooHR keeps salary as a table with an effective date per row. A rise HR backdates by a month goes to Loket with that date, which settles the difference itself within the same year in the next run.
  • In BambooHR a salary can be per hour, per month or per year. Loket calculates per payroll period; KoppelHet converts to month, four weeks or week, and an hourly wage stays an hourly wage.
  • BambooHR sends no direct notifications for custom tables. If hours or Dutch data sit in such a table, KoppelHet fetches them in the scheduled round over changed tables.
  • BambooHR has no standard field for the IBAN, Loket asks for payment details. We record the IBAN in an extra field in BambooHR, or payroll fills it in Loket during the checklist.
  • Loket lets a new employee arrive as a concept with its own checklist. The payroll bureau checks and completes before anyone is paid, and the integration does not overwrite collective agreement and payroll tax credit afterwards.
  • BambooHR holds employees from every country of the company. Division or location decides whether someone goes to Loket and at which employer, so US colleagues stay out of Dutch payroll.
  • The integration looks into BambooHR with the rights of one user. We have a separate user created who only sees the Dutch employees and the data for Loket.

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

Does this work if a payroll bureau manages Loket for us?

Yes. The bureau gives the integration access to your employer; it sees new concepts and changes appear in Loket.

Does head office need to change BambooHR?

Only a few extra fields for the Netherlands, such as IBAN and hours per week, if they are not there yet. The rest of the setup stays as it is.

What if a pay rise takes effect in a previous year?

The payroll bureau then gets a notification, because Loket does not settle such a correction in the next run by itself.

We already have an integration platform. Does this fit alongside it?

Yes. This integration runs on the KoppelHet platform and asks nothing of your existing integration platform. Every action is in the audit logging, so operations and audit know what happened.

Technical details for IT

For those who want to know how it works under the hood: APIs, fields and sources used.

  • BambooHR is read through webhooks on changed fields and the changed table data endpoint (jobInfo, compensation, employmentStatus) on timestamp; webhooks do not work for custom tables. Salary from payRate and paidPer, BSN from nationalId, end from terminationDate. The API key belongs to a user and gets their rights.
  • Loket is written through the Loket REST API with OAuth - concept employee, new hire checklist workflow, wages, working hours, payment information and end employment.

Which fields are transferred

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

Field in BambooHRField in LoketNotes
employeeNumber (of het BambooHR-id)Personeelsnummer of vrij veldFixed key
firstName en lastNameVoornaam, voorvoegsel en achternaamSplit the name prefix
nationalIdBurgerservicenummerOnly if HR records it in BambooHR
division of locationWerkgeverAlso decides who goes to Loket
hireDateBegindatum dienstverband
compensation (payRate, paidPer, startDate)Loon per verloningsperiode, met begindatum
Uren per week (eigen veld)Arbeidstijd
IBAN (eigen veld)Betaalgegevens (SEPA)BambooHR has no standard field for it
terminationDateEinde dienstverband

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.