

HR to ERP
BambooHR to NetSuite integration: BambooHR employees as employees per subsidiary, with termination reason
With an integration between BambooHR and Oracle NetSuite, every employee from BambooHR becomes an employee in NetSuite, under the subsidiary of their division, with department, location, supervisor and job title. KoppelHet translates division and department into subsidiary and department with a table, and fills in the mandatory termination reasons on departure.
What the integration does
Organisations that use BambooHR as their HR system and NetSuite OneWorld for several entities want employees in NetSuite for expenses, approvals and projects. Transfers between entities and termination reasons often remain manual work.
- BambooHR reports a change; KoppelHet reads job info and employment status with their dates.
- KoppelHet finds the employee in NetSuite by the stored internal ID, or during the initial load by work email and employee number.
- Division, department and location are translated into the subsidiary, department and location of that subsidiary.
- The employee is created or updated; a supervisor who does not exist yet goes first.
- On a termination KoppelHet fills date, category, reason and regretted, and revokes access.
What to watch for with BambooHR and Oracle NetSuite
- A division in BambooHR often has a different name from the legal name of the subsidiary in NetSuite. KoppelHet works with a lookup table, so you do not have to give both systems the same names.
- A division in BambooHR can take effect in the future. KoppelHet reads job info with its date and sets the new subsidiary on the effective date, so a transfer entered ahead of time takes effect on the right day.
- If NetSuite uses termination reason tracking, category, reason, details and regretted are mandatory. BambooHR records the type, the reason and regrettable on a termination. KoppelHet converts those three with a table into the NetSuite fields, so a termination does not get stuck on a mandatory field.
- An employee assigned to the parent subsidiary can no longer be moved to another subsidiary in NetSuite. If such a person moves to another division in BambooHR, KoppelHet does not send a change NetSuite rejects, but reports it to finance with the proposal for a new employee.
- In NetSuite the supervisor approves expenses when there is no separate approver. KoppelHet therefore creates the supervisor first and holds back an employee with an unknown supervisor until that person exists.
- BambooHR has one list of departments for all divisions, while a department in NetSuite can only be used with the subsidiaries it is linked to. KoppelHet translates the combination of division and department into the department of that subsidiary, so an employee of the British division does not land on a Dutch department.
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 salary or the payroll journal go to NetSuite?
No. This integration keeps employees current. A journal from payroll can be added 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 event-based webhooks (employee.created, employee.updated with monitor fields, employee.deleted) and changed table data for jobInfo (date, division, department, location, jobTitle) and employmentStatus (date, Terminated). Fields terminationTypeId (Death, Resignation (Voluntary), Termination (Involuntary)), terminationStatusId (reason) and terminationRegrettable (Regrettable, Non-Regrettable). supervisorEmail and terminationDate are read-only.
- NetSuite through SuiteTalk REST web services (employee record) with OAuth 2.0 and an integration role. Subsidiary on the parent cannot be changed; department per subsidiary; with Termination Reason Tracking category, reason, details and regretted are mandatory; inactivating does not revoke roles and access by itself.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in BambooHR | Field in Oracle NetSuite | Notes |
|---|---|---|
workEmail | Email | |
employeeNumber | Employee ID | |
jobInfo.division | Subsidiary | Lookup table instead of name match |
jobInfo.department | Department | Per subsidiary |
jobInfo.location | Location | |
supervisorEmail | Supervisor | |
jobInfo.jobTitle | Job Title | |
terminationTypeId, terminationStatusId, terminationRegrettable | Termination Category, Reason, Details, Regretted |
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