
HR to ERP
Visma Peple to Exact Online integration: cost centres ready in Exact and employee changes on a worklist
With an integration between Visma Peple and Exact Online, KoppelHet automatically creates every cost centre from Peple in the right Exact division, and new employees, leavers and a different department or cost centre from Peple go on a worklist for the Exact administrator with their effective date. KoppelHet does not put the employees themselves into Exact, because Exact Online only lets them be read through the API.
What the integration does
Organisations that run HR and payroll in Visma Peple and their accounting in Exact Online maintain cost centres and employees in Exact by hand. A new cost centre in Peple then does not exist in Exact yet, and a transfer in Peple stays on the old department in Exact.
- KoppelHet reads the cost centres of each Peple unit and creates missing codes in the Exact division that belongs to it.
- A few times a day KoppelHet starts exports of contracts and department history with only the changes since the previous run.
- Differences with the employees in Exact go on the worklist, with the effective date from Peple.
- After the change in Exact the line disappears at the next comparison.
What to watch for with Visma Peple and Exact Online
- Exact Online does not let employees or departments be written through the API, but it does allow cost centres. Peple supplies its cost centres as a separate metadata export. KoppelHet creates every missing code in Exact before an employee appears with it on the worklist, so the administrator can pick it straight away.
- Peple has a separate export of the department history per contract, with organisational unit, cost centre and start and end date. Exact also records the organisation of an employment with a start date. KoppelHet puts that date on the worklist, so a transfer in Exact takes effect on the same day as in Peple.
- In Peple an employee can have several contracts and subcontracts, while Exact has one employee card per person. KoppelHet compares per employee, with the earliest start date and the latest end date of all contracts, and only reports a departure once the last contract ends.
- Peple's Reporting API allows two full exports per endpoint per day. KoppelHet uses one for the nightly comparison with Exact and only requests changes during the day, so one full export remains for recovery after an outage.
- In Peple the manager is a user ID on the contract. Exact only accepts a manager from the same division. KoppelHet looks up who that is through Peple's user export, and puts a manager from another Peple unit on the worklist as a note.
- If HR deletes a contract in Peple, the export returns an empty row with only the keys. KoppelHet treats such a row as a cancelled contract and does not put it on the worklist as a departure, because in Exact a wrongly entered line usually has to go rather than get an end date.
- Each Peple unit has its own organisation ID, and Exact works per division with its own API limits. KoppelHet links each unit to one division and reads Exact per division in one go per comparison.
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
Why does KoppelHet not put the employee into Exact itself?
Exact Online's REST API only lets employees and employments be read. Cost centres can be written; KoppelHet prepares those, the rest goes through the worklist.
Does payroll data from Peple go to Exact?
Not with this integration. The payroll journal to Exact is a separate flow that can be added later as an extension.
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/contracts, /contracts/department-histories (scope exportdepartmenthistory), /users and /metadata/costcenters, results through GET /v1/query/nl/hrm/.../{jobId} as CSV; incremental with changeTimestampAfter. Two full exports per endpoint per tenant per 24 hours; empty rows on deletions.
- Exact Online through the REST API with OAuth 2.0, per division. hrm/Costcenters with GET, POST and PUT (scope Financial costcenters); payroll/Employees, payroll/Employments and payroll/EmploymentOrganizations (DepartmentCode, CostCenter, JobTitleCode, StartDate) GET only. The manager must be in the same division and not be a subordinate.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Visma Peple | Field in Exact Online | Notes |
|---|---|---|
odporgid (Peple-onderdeel) | Division | Fixed table per unit |
Metadata costcenters | hrm/Costcenters (Code, Description) | Is created |
employeeid | Employees.Code (vergelijking) | |
contract startdate en enddate | Employments.StartDate en EndDate (vergelijking) | |
department-histories: orgunit met startdate | EmploymentOrganizations.DepartmentCode (vergelijking) | |
department-histories: costcenter | EmploymentOrganizations.CostCenter (vergelijking) | |
manageruserid via de users-export | Employees.Manager (vergelijking) |
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 → Freshservice
Visma Peple Freshservice integration: requesters per contract and requests on joining and leaving