Visma Peple logoMicrosoft Dynamics 365 logo

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.

  1. 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.
  2. A new employee becomes an employee in the Business Central company of their Peple unit.
  3. Cost centre and department from the department history become default dimensions on the effective date.
  4. A code that does not yet exist in Business Central goes to finance as an alert.
  5. After the end date of the last contract the employee gets the status terminated.
Visma Peple → KoppelHet → Microsoft Dynamics 365SOURCEVisma PepleTARGETMicrosoft Dynamics 365KoppelHetmapping · logging · monitoringVisma Peple → KoppelHet → Microsoft Dynamics 365SOURCEVisma PepleTARGETMicrosoft Dynamics 365KoppelHetmapping · logging · monitoring
Out: Employee with number, name, job title and business email · Cost centre and department as default dimensions · Business Central company per Peple unit · Employment date, termination date and status

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, 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 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 PepleField in Microsoft Dynamics 365Notes
employeeidnumber
Naamvelden uit de werknemersexportgivenName, middleName, surname
functionnamejobTitle
businessemailaddressemail
odporgidBedrijf in Business CentralFixed table per unit
department-histories: costcenterdefaultDimensions (kostenplaats)
department-histories: orgunitdefaultDimensions (afdeling)Only if finance uses a department dimension
Vroegste startdate van de contractenemploymentDate
Laatste enddate van de contractenterminationDate en status Terminated

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.