BambooHR logoAllSolutions logo

HR to ERP

BambooHR to AllSolutions integration: employees of the Dutch locations from BambooHR in AllSolutions

With an integration between BambooHR and AllSolutions, every employee of a Dutch location in BambooHR automatically reaches the matching AllSolutions company, with department, job and start date. A transfer goes through in AllSolutions on the effective date from BambooHR's job info, and a termination becomes an end date.

What the integration does

Organisations that run HR for every country in BambooHR and the Dutch projects, hours and invoicing in AllSolutions enter new colleagues into AllSolutions by hand. An internal transfer only arrives there when the employee reports that they cannot see their new project.

  1. HR records a new employee or transfer in BambooHR.
  2. BambooHR reports the change; KoppelHet fetches the employee and checks whether they belong to a Dutch location.
  3. KoppelHet switches to the AllSolutions company of that location and creates or updates the employee.
  4. A job info row with a later date waits until that day; a termination becomes an end date.
BambooHR → KoppelHet → AllSolutionsSOURCEBambooHRTARGETAllSolutionsKoppelHetmapping · logging · monitoringBambooHR → KoppelHet → AllSolutionsSOURCEBambooHRTARGETAllSolutionsKoppelHetmapping · logging · monitoring
Out: Employee with employee number, name and work email · Department and job · Start date and end date · AllSolutions company per location

What to watch for with BambooHR and AllSolutions

  • A webhook for a changed employee in BambooHR only fires when a selected field changes. KoppelHet selects exactly the fields AllSolutions receives, such as department, job, location and status. A changed home address therefore does not lead to a call to AllSolutions.
  • Department, job and location are stored in BambooHR's job info table, with an effective date per row. AllSolutions shows the current state per employee. KoppelHet keeps a row with a later date and only passes it on on that day, so hours up to the transfer stay on the old department.
  • Every Dutch location in BambooHR belongs to its own AllSolutions company. The integration account logs in to one company and switches through the login-company function. KoppelHet switches per location, and keeps employees of locations outside the Netherlands out of AllSolutions altogether.
  • On creation AllSolutions requires the same fields as the form, including fields the customer made mandatory, and they must also be in the form settings for the REST API. BambooHR often has no value for such a field. At the start KoppelHet records a source or fixed value per mandatory field.
  • In BambooHR the termination date is read-only; HR records a departure through the employment status table. KoppelHet reads that date and sets it in AllSolutions as the end date. The employee and their hours remain, so projects and invoices stay correct.
  • AllSolutions exposes free fields through the REST API, with a label of your own. KoppelHet puts BambooHR's internal ID in such a free field. An employee can therefore still be found, even if HR later corrects the employee number in BambooHR.
  • BambooHR sends no webhook for custom tables. If you keep, for example, a project role or cost centre in a custom table, KoppelHet fetches the changed table data daily, so that change reaches AllSolutions too.

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 · Basic

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 pay data go to AllSolutions?

No. The integration does not read BambooHR's compensation table. Finance manages cost rates in AllSolutions.

What if a department does not exist in AllSolutions?

AllSolutions then refuses the employee. KoppelHet reports which department is missing and tries again once it exists.

Technical details for IT

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

  • BambooHR through the REST API with a user's API key. Event-based webhooks (employee.created, employee.updated with monitor fields, employee.deleted) and the endpoint for changed table data as a safety net. Fields employeeNumber, workEmail, hireDate, terminationDate (read-only, through the employmentStatus table); job info as a table with a date per row (location, department, jobTitle).
  • AllSolutions through the REST API: POST /api/v1/Login with a signature and then the token, GET on the active view, POST per record with the same checks as the form, PUT with only changed fields. Form settings for the REST API with all mandatory fields; open the form once in edit mode and save the setting again, so both POST and PUT work. Switching company through login companies (MWZBDR). Free fields with a REST API label.

Which fields are transferred

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

Field in BambooHRField in AllSolutionsNotes
employeeNumberPersoneelsnummer
id (BambooHR)Vrij veld met REST API-labelFixed key
firstName, lastNameNaam
workEmailE-mailadres
location (job info)AllSolutions-bedrijf (inlogbedrijf)Through a table
department (job info)Afdeling
jobTitle (job info)Functie
hireDate en terminationDateDatum in dienst en datum uit dienst

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.