

HR naar ERP
BambooHR Visma.net ERP koppeling: werknemers per vestiging, klaar voor uren en declaraties
Met een koppeling tussen BambooHR en Visma.net ERP wordt elke medewerker uit BambooHR automatisch werknemer in Visma.net, in de vestiging die bij zijn locatie hoort, met afdeling, werknemersklasse, kalender en werkmail. Een overplaatsing gaat door op de ingangsdatum uit de job info van BambooHR, en na de laatste werkdag zet KoppelHet de werknemer in Visma.net op inactief.
Wat de koppeling doet
Organisaties die hun personeelsdossier in BambooHR bijhouden en financiën, projecturen en onkosten in Visma.net ERP verwerken, typen elke nieuwe collega een tweede keer over. Wie vertrekt, blijft in Visma.net vaak actief staan en kan nog declaraties indienen.
- HR legt een nieuwe medewerker vast in BambooHR, met locatie, afdeling en functie in job info.
- Zodra er een werkmail is, maakt KoppelHet de werknemer aan in Visma.net, in de wacht tot de startdatum.
- Een job info-regel met een latere ingangsdatum zet KoppelHet pas op die dag door.
- De dag na de laatste werkdag gaat de werknemer in Visma.net op inactief.
Waar je op let bij BambooHR en Visma.net ERP
- Visma.net weigert een nieuwe werknemer zonder e-mailadres. In BambooHR blijft workEmail leeg tot IT het account heeft gemaakt. KoppelHet wacht met aanmaken tot dat veld gevuld is, en waarschuwt HR als het een paar dagen voor de eerste werkdag nog leeg is.
- Het webhook-event employee.updated van BambooHR gaat alleen af op velden die je als monitor field kiest. Voor Visma.net zijn dat werkmail, locatie, afdeling en employment status. Een nieuw telefoonnummer of privéadres levert dus geen aanroep naar Visma.net op.
- BambooHR bewaart locatie en afdeling als rijen in job info, elk met een ingangsdatum. Een werknemer in Visma.net heeft alleen één actuele vestiging en afdeling. KoppelHet bewaart een rij die later ingaat en voert hem op die datum uit, zodat uren en declaraties tot dan op de oude afdeling blijven.
- In de Visma.net-API zijn vestigingen alleen op te vragen, niet aan te maken. Elke BambooHR-locatie die meedoet, koppelt KoppelHet bij de start aan een bestaande vestiging. Medewerkers van een locatie zonder vestiging, bijvoorbeeld in een land dat niet in Visma.net boekt, blijven buiten de koppeling.
- Visma.net vraagt per werknemer een werknemersklasse en een kalender met werktijden en tijdzone. BambooHR kent geen van beide. Finance legt een tabel vast van employment status naar klasse en van locatie naar kalender; een onbekende waarde wordt een melding in plaats van een werknemer met de verkeerde kalender.
- De vertrekdatum is in BambooHR een alleen-lezen veld, gevuld via de employment status-tabel. Een werknemer in Visma.net heeft in de API geen einddatum. KoppelHet onthoudt de datum uit BambooHR en zet de werknemer de dag na de laatste werkdag op inactief.
- Visma.net weigert een wijziging zonder het actuele versiekenmerk van de werknemer. KoppelHet leest de werknemer vlak voor elke wijziging en stuurt het kenmerk mee. Heeft finance de werknemer net met de hand aangepast, dan gaat die aanpassing niet verloren.
Hoe we het bouwen en beheren
- De koppeling draait op het KoppelHet platform, gehost in een datacenter in de EU.
- Elke synchronisatie en elke fout is zichtbaar in de functionele logging; bij een fout krijgt jullie beheerder een melding.
- Een mutatie die niet door kan, wordt niet half doorgezet maar klaargezet om opnieuw te proberen.
- KoppelHet is ISO 27001-gecertificeerd. Gegevens gaan versleuteld over en blijven niet langer op het platform dan nodig.
- Na livegang beheren wij de koppeling en passen we hem aan als jullie proces verandert.
- De koppeling past naast je bestaande integratielaag. Alleen de velden uit het ontwerp gaan over; het platform houdt geen eigen registratie bij.
Implementatie en prijs
Dit is geen app die je aanzet. We bouwen de koppeling voor jullie organisatie op ons platform, met bouwstenen die we steeds opnieuw gebruiken. Zo is het maatwerk, zonder dat we bij nul beginnen.
Een consultant bereidt de intake voor en analyseert beide systemen. Daarna leggen we de mapping en uitzonderingen per veld vast, testen we in de test- of acceptatieomgeving en gaan we live op een moment dat jij kiest. De kosten bestaan uit een eenmalig bedrag voor de inrichting en een maandbedrag voor platform, monitoring en beheer.
Veelgestelde vragen
Gaat de leidinggevende uit BambooHR mee naar Visma.net?
Niet in de eerste versie. Het veld Reports to uit het Visma.net-scherm staat niet in het werknemermodel van de API. Goedkeuringsroutes via werkgroepen kunnen later als uitbreiding.
Gaan salarisgegevens uit BambooHR mee?
Nee. De koppeling leest de compensation-tabel van BambooHR niet. Visma.net krijgt alleen wat nodig is voor uren, projecten en declaraties.
Technische details voor IT
Voor wie wil weten hoe het onder de motorkap werkt: gebruikte API's, velden en bronnen.
- BambooHR via de REST API met een API-sleutel. Event-based webhooks employee.created, employee.updated (met monitor fields en changedFields) en employee.deleted; de payload bevat alleen companyId en employeeId. Velden employeeNumber, workEmail, hireDate, terminationDate en employmentHistoryStatus (beide alleen lezen, bij te werken via de employmentStatus-tabel); location en department in job info met een datum per rij.
- Visma.net ERP via de Service API met Visma Connect (OAuth 2.0 client credentials, per tenant). POST /v1/employee met verplicht employeeCd, department, employeeClass, branch, calendar en contact met lastName en email; PUT /v1/employee/{employeeCd} met If-Match; status Active, On hold of Inactive. Vestigingen alleen via GET. Limiet per uur per combinatie van bedrijf en client, te volgen in de X-RateLimit-headers.
Welke velden overgaan
De belangrijkste velden. De volledige mapping stellen we per klant vast.
| Veld in BambooHR | Veld in Visma.net ERP | Toelichting |
|---|---|---|
employeeNumber | employeeCd | |
firstName, lastName | contact.firstName en contact.lastName | |
workEmail | contact.email | Verplicht in Visma.net |
location (job info) | branch | Via een tabel; vestigingen bestaan al |
department (job info) | department | |
employmentHistoryStatus | employeeClass | Via een tabel van finance |
location | calendar | Kalender per locatie |
hireDate en terminationDate | status (Hold, Active, Inactive) |
Gerelateerd
Ashby → BambooHR
Ashby BambooHR koppeling: aanname, gewijzigde startdatum en dienstverbandstatus in BambooHR
BambooHR → 4PS Construct
BambooHR 4PS Construct koppeling: medewerkers uit BambooHR in de 4PS-administratie van hun vestiging
BambooHR → Active Directory
BambooHR koppelen met Active Directory: accounts in je eigen domein vanuit HR
BambooHR → ADP iHCM
BambooHR ADP iHCM koppeling: salaris, bonussen en commissies naar de Nederlandse payroll