BuddeeHR logoMicrosoft Dynamics 365 logo

HR to ERP

BuddeeHR to Dynamics 365 integration: employees and dimensions from Buddee in Business Central

With an integration between BuddeeHR and Microsoft Dynamics 365 Business Central, every employee from Buddee becomes an employee in the right Business Central company, with the name they use, job title, hire date and department, cost centre and cost unit as default dimensions. When the employment ends in Buddee, the employee in Business Central gets the status terminated, so no more hours or expenses are posted to it.

What the integration does

Organisations that run HR and payroll in Buddee and finance, projects or expenses in Business Central enter every new employee twice. Buddee itself offers no integration with Business Central, and a move to another team often still shows the old department in Business Central.

  1. HR records an employee in Buddee, with position period, department, cost centre and possibly cost unit.
  2. KoppelHet determines the Business Central company for the Buddee company and looks up the employee by number.
  3. A new employee is created with the composed last name the employee uses.
  4. Department, cost centre and cost unit from the position period that applies today become the default dimensions.
  5. After the employment end date KoppelHet sets the termination date and the status terminated.
BuddeeHR → KoppelHet → Microsoft Dynamics 365SOURCEBuddeeHRTARGETMicrosoft Dynamics 365KoppelHetmapping · logging · monitoringBuddeeHR → KoppelHet → Microsoft Dynamics 365SOURCEBuddeeHRTARGETMicrosoft Dynamics 365KoppelHetmapping · logging · monitoring
Out: Employee with number, name, job title and work email · Hire date, termination date and status · Department, cost centre and cost unit as default dimensions · IBAN for paying out expense claims

What to watch for with BuddeeHR and Microsoft Dynamics 365

  • Buddee records which surname someone uses, own name, partner's name or a combination, and supplies the composed name with prefix. Business Central shows the name on documents and in overviews. KoppelHet uses the composed name, so an expense claim carries a name the employee recognises.
  • Business Central has a field for a middle name, but it is not meant for a Dutch name prefix. KoppelHet therefore puts the prefix from Buddee in front of the surname, and leaves the middle name field empty.
  • Every position period in Buddee has a start and end date, but an employee in Business Central has default dimensions without a date. KoppelHet sets the dimensions of the period that applies today, and changes them on the day a new period starts, not earlier.
  • In Buddee a cost unit can only exist together with a cost centre. In Business Central they become two separate dimensions. Dimension values can only be read through the standard API; if a value is missing, KoppelHet creates the employee without that dimension and finance gets an alert.
  • Business Central has inactive next to active and terminated. An archived employee without an end date in Buddee is not terminated; KoppelHet sets it to inactive and reports it to HR, because postings may already be linked to the employee.
  • Business Central can store an IBAN per employee, and Buddee has the employee's account number. KoppelHet only sends the IBAN along if finance pays expense claims to employees from Business Central; otherwise it stays in Buddee.
  • Buddee offers Microsoft integrations for sign-in and calendar, but none for Business Central. The Business Central API works per company, just like the companies in Buddee. Every Buddee company belongs to one Business Central company, so an employee does not end up in the wrong books.

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, architecture and compliance

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.

Price indication · Basic

Leave your work email and you see the price indication right away.

We only use your address to follow up on your question about this integration.

Frequently asked questions

Does this also work with Dynamics 365 Finance and Operations?

This page describes Business Central. Finance and Operations has different APIs; we look at that separately.

Does salary go to Business Central?

No. The integration does not read salary data from Buddee. A payroll run journal entry can be added later as an extension.

What if finance does not have a cost centre as dimension value yet?

Then the employee arrives in Business Central without that dimension and finance gets an alert with the value. Once it exists, the next round adds the dimension.

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 with a dedicated Buddee user (JWT through /auth/token). employees (number, company_id, first_name, last_name_composition, composed_last_name, composed_last_name_prefix, work_email, employment_date, bank_account_iban, archived_at), positions (job_id, department_id, cost_center_id, cost_unit_id, start_date, end_date) and employments (start_date, end_date), up to 200 per page.
  • Business Central through API v2.0 per company - employees (GET, POST, PATCH; number, givenName, middleName, surname, displayName, jobTitle, email, employmentDate, terminationDate, status Active, Inactive or Terminated, iban) and defaultDimensions with parentType Employee; dimensionValues GET only. OAuth 2.0 with an Entra ID app.

Which fields are transferred

The key fields. The full mapping is agreed per customer.

Field in BuddeeHRField in Microsoft Dynamics 365Notes
numbernumberCode field; Business Central stores it in upper case
company_idBusiness Central-bedrijfFixed table per Buddee company
first_namegivenName
composed_last_name_prefix + composed_last_namesurname en displayNameName use according to last_name_composition
work_emailemail
positions.job_id (functienaam)jobTitle
employment_dateemploymentDate
employments.end_dateterminationDate en status Terminated
positions.department_id, cost_center_id, cost_unit_iddefaultDimensions (parentType Employee)
bank_account_ibanibanOnly if Business Central pays out expense claims

Related

Which systems do you want to connect?

Tell us which systems you use and what should happen automatically. Together we define the smallest working solution, with a clear design and a quote before building.