

HR to ERP
BuddeeHR to Visma.net ERP integration: employees and approvers in Visma.net follow Buddee
With an integration between BuddeeHR and Visma.net ERP, every employee from Buddee appears as an employee in Visma.net, with department, branch and manager, and Visma.net follows every new position or department on its effective date in Buddee. When the employment ends in Buddee, the employee becomes inactive in Visma.net and their role in the approval route stops.
What the integration does
Employers with HR in Buddee and finance, projects and timesheets in Visma.net ERP only see department changes in Visma.net weeks later, so hours land on the wrong cost centre. Approvals get stuck with a manager who no longer works there.
- HR records a new employee or position period in Buddee, with department, location, manager and effective date.
- KoppelHet fetches the changed employees and position periods from Buddee.
- A new employee becomes an employee in Visma.net, on the branch of their Buddee company.
- On the effective date of a new position period the employee in Visma.net gets the new department and the work group of their new manager.
- After the end date of the employment the integration sets the employee to inactive.
What to watch for with BuddeeHR and Visma.net ERP
- Buddee keeps every position as a period with a start and end date, holding department, location, manager and cost centre. An employee in Visma.net only has the current state. KoppelHet therefore applies a future change on its effective date, not at the moment HR enters it.
- Besides the direct manager, Buddee has an indirect manager. In the Visma.net company tree a work group sees everything of the groups below it. KoppelHet places the manager's work group under that of the indirect manager, so the latter can also see expense claims in their line.
- One Buddee environment can contain several companies. Visma.net works with branches within a company. Every Buddee company gets a fixed branch, so hours and expense claims stay separate per operating company.
- Besides the employee number, Buddee has a separate field for a number in Exact. Visma.net has no such field and builds the employee ID from its own template. KoppelHet uses the Buddee employee number in that template and leaves the Exact field alone.
- Buddee can record hours on projects itself, just as Visma.net does with time cards. At the start we agree where hours are booked. The integration delivers the employee and their department, and never writes hours twice.
- In Buddee a cost centre is attached to the position period, in Visma.net the expense account is attached to the department. At the start we choose whether the Buddee department or the Buddee cost centre determines the department in Visma.net, so hours land on the right cost centre.
- An archived employee without an end date in Buddee is not a departure. KoppelHet does not set that employee to inactive in Visma.net, but reports it to HR.
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 private data from Buddee go to Visma.net?
No. Visma.net can store an address, but the integration only fills name, work email, department, branch and manager. Citizen service number, date of birth and home address stay in Buddee.
Can expense claims from Visma.net go back to Buddee for payroll?
Not in the first version. It can be added later as an extension, as a wage component per payroll period in Buddee.
What if a department from Buddee does not exist in Visma.net yet?
Then the integration does not create the employee halfway, but reports which department is missing. Finance creates it with the right expense account, after which the employee goes through.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Buddee through the REST API on api.buddee.nl - employees (number, company_id, work_email, archived_at), positions (department_id, location_id, manager_id, indirect_manager_id, cost_center_id, start_date, end_date) and employments (start_date, end_date), with include and pagination up to 200 per page. Sign-in with a dedicated Buddee user for the integration on /auth/token, then a JWT with refresh token.
- Visma.net ERP through POST /v1/employee and PUT /v1/employee/{employeeCd} (employeeCd, department, employeeClass, branch, calendar, contact, status, companyTreeInfo with workGroupID and owner). Visma Connect with OAuth 2.0 client credentials and a tenant_id.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in BuddeeHR | Field in Visma.net ERP | Notes |
|---|---|---|
number | employeeCd | Formatted according to the Visma.net employee ID |
first_name | contact.firstName | |
last_name_prefix + last_name | contact.lastName | Name prefix in front of the last name |
work_email | contact.email | |
company_id | branch | Fixed table per Buddee company |
positions.department_id | department | From the position period valid on that date |
positions.location_id | calendar | |
positions.manager_id en indirect_manager_id | companyTreeInfo (workGroupID) | |
employments.start_date en end_date | status (Active, 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