

Payroll integration
BambooHR to AFAS integration: contract and salary straight to payroll
With an integration between BambooHR and AFAS Profit, new Dutch employees, pay rises, job changes and terminations from BambooHR reach AFAS automatically, ready for payroll. Every change gets the effective date from BambooHR in AFAS, so a backdated pay rise is settled correctly too.
What the integration does
International employers that manage their people in BambooHR and run payroll for the Dutch entity in AFAS Profit retype every new colleague from BambooHR. A pay rise that HR enters retroactively in BambooHR goes unnoticed in the Netherlands.
- HR enters a new employee or change in BambooHR, as always.
- KoppelHet picks up the change and keeps only the employees of the Dutch BV.
- A new employee then appears in AFAS with personal data, contract, job, schedule, salary and bank account.
- A new salary or job arrives in AFAS as a change with the same effective date as in BambooHR.
- When HR records an end date in BambooHR, the contract in AFAS ends on that date.
What to watch for with BambooHR and AFAS Profit
- BambooHR returns an employee's full history whenever anything in the record changes. KoppelHet checks line by line whether it is already in AFAS, so an old salary line does not reach AFAS again as a change.
- BambooHR records whether someone has a monthly salary or an hourly wage. AFAS makes the same distinction, so someone on an hourly wage also gets an hourly wage in AFAS, not a converted monthly amount.
- Employment types can be configured per organisation in BambooHR. KoppelHet translates them to the AFAS type of employment, such as full-timer, part-timer or on-call worker, using a table we agree together at the start.
- BambooHR holds hours per week but not days per week. AFAS also asks for the number of days in the schedule. That comes from an extra field in BambooHR or from a default per contract type.
- The ID number field in BambooHR is not tied to a country. KoppelHet checks with the Dutch eleven test whether it is a BSN before it goes to AFAS, so a foreign number does not cause an error or a wrong tax filing.
- BambooHR has no standard IBAN field. If HR records it in an extra field, it is included and AFAS can validate it; otherwise payroll fills it in AFAS.
- Payroll tax credit and collective agreement are not in BambooHR. Payroll fills them in AFAS, and the integration leaves them alone on later changes.
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 this work if BambooHR has no IBAN?
Yes. The employee arrives in AFAS without a bank account and payroll completes it. If you prefer otherwise, we add an extra field for it in BambooHR.
What if HR changes a salary retroactively?
The new salary carries the earlier effective date in BambooHR. KoppelHet uses that date in AFAS, and AFAS settles the difference in the next run.
Can we go to Nmbrs instead of AFAS?
Yes, we also connect BambooHR with Nmbrs.
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 the REST API, using the changed employees and changed table data endpoints with a timestamp since the previous run, supplemented by webhooks on selected fields.
- BambooHR tables used are jobInfo, compensation (payRate, payType, paidPer) and employmentStatus; termination through terminationDate; BSN from nationalId.
- AFAS is written through the KnEmployee UpdateConnector, with AfasContract, AfasSalary, AfasBankInfo and the schedule in one message.
- Access to BambooHR with an API key of a separate user with read access to the required fields and tables only.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in BambooHR | Field in AFAS Profit | Notes |
|---|---|---|
employeeNumber | Medewerker (EmId) | |
firstName | Voornaam (FiNm) | |
lastName | Voorvoegsel (Is) en Achternaam (LaNm) | Split prefixes such as van and de |
nationalId | BSN (SoSe) | Only when it is a valid BSN |
hireDate | Begindatum contract (DaBe) | |
employmentStatus | Dienstbetrekking (ViEt) | For example Full-Time to full-timer, Part-Time to part-timer |
standardHoursPerWeek | Aantal uren per week (HrWk) | |
jobTitle | Functie (FuId) | Through a lookup table |
department | Organisatorische eenheid (DpId) | Through a lookup table |
payRate, payType, paidPer | Salaris (EmSa) en Soort salaris (SaPe) | |
terminationDate | Einddatum contract (DaEn) |
Related
Ashby → BambooHR
Ashby to BambooHR integration: hire, changed start date and employment status in BambooHR
BambooHR → 4PS Construct
BambooHR to 4PS Construct integration: employees from BambooHR in the 4PS company of their location
BambooHR → Active Directory
BambooHR to Active Directory integration: accounts in your own domain from HR
BambooHR → ADP iHCM
BambooHR to ADP iHCM integration: salary, bonuses and commissions to Dutch payroll