

HR to ERP
BuddeeHR to NetSuite integration: the Dutch employees from Buddee as employees in NetSuite
With an integration between BuddeeHR and Oracle NetSuite, every employee from Buddee becomes an employee on the Dutch subsidiary in NetSuite, with cost centre as department, cost unit as class and the manager as supervisor. A new position row in Buddee takes effect on its start date, and when the employment ends the employee becomes inactive in NetSuite.
What the integration does
Organisations that run HR, leave and absence in BuddeeHR and do their bookkeeping and expense claims in Oracle NetSuite retype new colleagues and department changes from Buddee. Leavers stay active in NetSuite because nobody sets them to inactive.
- HR records the new employee in Buddee, with an employment and a position row with department, location, manager, cost centre and cost unit.
- KoppelHet fetches the changed employees, employments and position rows every night.
- Using a table from cost centre and cost unit to department and class, KoppelHet decides the classification in NetSuite.
- The employee is on the Dutch subsidiary, with the manager as supervisor.
- After the employment end date the employee gets the release date, loses access and becomes inactive.
What to watch for with BuddeeHR and Oracle NetSuite
- Buddee keeps department, location, manager, cost centre and cost unit per position row, with a start and end date. An employee in NetSuite only shows the current state. KoppelHet takes the position row valid today and only applies a future row on its start date.
- Buddee has a cost unit next to the cost centre, and NetSuite a class next to the department. KoppelHet puts the cost unit on the class, so expenses in NetSuite can be followed on the same two levels as in payroll.
- Buddee records an indirect manager and an HR manager next to the direct manager. NetSuite has one supervisor, who approves expenses if there is no separate approver. KoppelHet only sets the direct manager as supervisor.
- Buddee keeps the Dutch name prefix separate and knows whether someone uses their own name or their partner's. NetSuite has a field for a middle name, where a name prefix does not belong. KoppelHet puts the composed last name with prefix in the last name, so searching and sorting in NetSuite work.
- A Buddee environment can contain several companies. In NetSuite OneWorld every employee must have a subsidiary. KoppelHet records per Buddee company which subsidiary it belongs to; a company without a subsidiary stays out of the integration and goes on a list.
- An employee created by mistake in Buddee and deleted again cannot be removed in NetSuite once there is an expense report on it. KoppelHet then sets that employee to inactive and reports it to finance.
- Buddee grants API access through a normal user account with email address and password. KoppelHet uses a dedicated account for the integration, so it does not stop when an HR employee leaves or changes their password.
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
Can projects from NetSuite go to Buddee as well?
Buddee has projects and clients that employees book hours on, and they can be created through the API. Passing projects on from NetSuite can be added later as an extension.
Does pay data from Buddee go to NetSuite?
No. This integration only transfers the employee with organisation and manager. Pay and wage components stay in Buddee and payroll.
What if a cost centre in Buddee does not exist in NetSuite?
Then KoppelHet creates the employee without a department and puts the cost centre on a list for finance. Finance manages departments in NetSuite itself.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Buddee is read through the REST API on api.buddee.nl (employees, employments and positions, with include and pagination). Authentication with Basic Auth on /auth/token with a dedicated integration account; then a JWT access token as Bearer, refreshed with the refresh token. Fields include number, first_name, last_name_prefix, last_name, work_email, company_id, department_id, location_id, manager_id, cost_center_id and cost_unit_id.
- NetSuite is written through SuiteTalk REST web services (employee record) with OAuth 2.0 and a dedicated integration role. Departments, classes and subsidiaries are only read; departures with Termination/Release Date, Inactive and clearing Give Access.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in BuddeeHR | Field in Oracle NetSuite | Notes |
|---|---|---|
number | External ID | Employee number from Buddee as fixed key |
first_name | First Name | |
last_name_prefix en last_name | Last Name | Name prefix before the last name, not in Middle Name |
work_email | Email | |
company_id | Subsidiary | Through a table from Buddee company to subsidiary |
cost_center_id (functieregel) | Department | |
cost_unit_id (functieregel) | Class | If finance uses classes |
location_id | Location | |
manager_id | Supervisor | Looked up through the manager's employee record |
employments.start_date | Hire Date | |
employments.end_date | Termination/Release Date en Inactive |
Related
BuddeeHR → Active Directory
BuddeeHR to Active Directory integration: domain account from employment and position in Buddee
BuddeeHR → AllSolutions
Buddee to AllSolutions integration: employees, positions and schedules from BuddeeHR in AllSolutions
BuddeeHR → Arbodienst (SIVI)
BuddeeHR to occupational health service via SIVI: verified sickness registrations from Buddee to the health service
BuddeeHR → Microsoft Entra ID
BuddeeHR to Entra ID integration: Microsoft 365 account from the employment in Buddee