HR to ERP
Visma Peple to Dynamics 365 integration: employees from Peple in Business Central, with cost centre as a dimension
With an integration between Visma Peple and Microsoft Dynamics 365 Business Central, every employee from Peple automatically becomes an employee in the Business Central company of their Peple unit, with job title, business email and cost centre as a default dimension. KoppelHet applies a transfer from Peple's department history on the effective date, and after the last contract the employee gets the status terminated.
What the integration does
Organisations with Visma Peple for payroll and HR and Business Central for finance create employees in Business Central by hand for hours, expenses or projects. After a transfer in Peple the old cost centre stays in Business Central.
- KoppelHet starts exports of employees, contracts and department history in Peple with only the changes since the previous run, and collects the files once they are ready.
- A new employee becomes an employee in the Business Central company of their Peple unit.
- Cost centre and department from the department history become default dimensions on the effective date.
- A code that does not yet exist in Business Central goes to finance as an alert.
- After the end date of the last contract the employee gets the status terminated.
What to watch for with Visma Peple and Microsoft Dynamics 365
- Business Central keeps one value per dimension per employee, without an effective date. Peple supplies the department history with start and end date, also for transfers that have yet to take effect. KoppelHet keeps such a future row and only puts the new cost centre into Business Central on the day itself.
- Peple can split a contract's wage costs over several cost centres, but a default dimension in Business Central has one code. KoppelHet takes the cost centre from the department history as the default. A split over several centres goes to finance as an alert, and finance can deviate on postings itself.
- Dimension values are read-only in the Business Central API. Peple supplies its cost centres as a separate metadata export. KoppelHet compares that list with the dimension values in Business Central and reports a new Peple code to finance before the first employee arrives with it.
- An employee can have more than one contract in Peple, while Business Central has one employee per person. KoppelHet takes the earliest start date as the employment date and only sets the status to terminated once the last contract has ended, so someone who loses one appointment can still submit expenses.
- The business email falls under the standard permissions in Peple's employee export. Private address and private email require a separate scope. Business Central does have fields for them, but KoppelHet does not request that scope and leaves the fields empty, because hours and expenses do not need them.
- Peple runs an export as a background job, with maintenance on Saturday evening during which the API is temporarily unavailable. KoppelHet repeats a refused job after the waiting time Peple returns, so an employee appears in Business Central a few hours later at most.
- Each Peple unit has its own organisation ID, and the Business Central API works per company. KoppelHet links each unit to one company, so employees of a foundation and its subsidiary do not end up in the same company.
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 payroll data go to Business Central?
No. The integration requests no salary exports in Peple. The payroll journal is a separate flow that can be added later as an extension.
Does this also work with Dynamics 365 Finance?
This page assumes Business Central. For Dynamics 365 Finance we look at the entities separately.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Peple through the Visma.net HRM & Payroll Reporting API with Visma Connect - exports through POST /v1/command/nl/hrm/employees (businessemailaddress without extra scope), /contracts (functionname, startdate, enddate), /contracts/department-histories and /metadata/costcenters, results through GET /v1/query/nl/hrm/.../{jobId}; incremental with changeTimestampAfter. 503 with Retry-After during maintenance; two full exports per endpoint per tenant per 24 hours.
- Business Central API v2.0 per company with an app registration in Microsoft Entra ID - employees (POST, PATCH; number, givenName, middleName, surname, jobTitle, email, employmentDate, terminationDate, status) and defaultDimensions with parentType Employee; dimensionValues GET only.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Visma Peple | Field in Microsoft Dynamics 365 | Notes |
|---|---|---|
employeeid | number | |
Naamvelden uit de werknemersexport | givenName, middleName, surname | |
functionname | jobTitle | |
businessemailaddress | email | |
odporgid | Bedrijf in Business Central | Fixed table per unit |
department-histories: costcenter | defaultDimensions (kostenplaats) | |
department-histories: orgunit | defaultDimensions (afdeling) | Only if finance uses a department dimension |
Vroegste startdate van de contracten | employmentDate | |
Laatste enddate van de contracten | terminationDate en status Terminated |
Related
Visma Peple → Active Directory
Visma Peple to Active Directory integration: accounts from Peple HRM & Payroll
Visma Peple → Arbodienst (SIVI)
Visma Peple to occupational health service via SIVI: sick and recovery notifications from Peple to the health service
Visma Peple → Microsoft Entra ID
Visma Peple to Entra ID integration: Microsoft accounts from Peple HRM & Payroll
Visma Peple → Exact Online
Visma Peple to Exact Online integration: cost centres ready in Exact and employee changes on a worklist