
HR to ERP
Sage HR to Exact Online integration: teams, new employees and leavers from Sage HR compared with Exact
With an integration between Sage HR and Exact Online, KoppelHet compares the Dutch employees in Sage HR with the employees in Exact every hour, including team and manager. Because Exact Online only lets an integration read employees, the administrator gets new employees, leavers and team changes on a worklist, with the right effective date.
What the integration does
Organisations with HR in Sage HR and a Dutch division in Exact Online enter new colleagues into Exact by hand. Team changes and departures arrive there late, so expense claims land with the wrong manager or department.
- Every hour KoppelHet reads the active employees from Sage HR, with team history, and the list of terminations.
- KoppelHet compares the employees who belong to the Dutch division with Exact.
- New employees, leavers and team changes go on the worklist, with a date.
- After the change in Exact the line disappears at the next comparison.
What to watch for with Sage HR and Exact Online
- The employee list in Sage HR only contains active employees; leavers are in a separate list with their termination date. KoppelHet reads both, so someone who has just left does not silently drop out of the comparison but goes on the worklist as a leaver.
- Sage HR returns the team history with a start and end date per team, if the integration explicitly asks for it. Exact departments can only be read through the API. Finance records which team belongs to which Exact department, and a team change goes on the worklist with its own effective date.
- A team in Sage HR can have several managers, while Exact has one manager per employee. KoppelHet therefore uses not the team managers but the reports to field on the employee. KoppelHet looks that person up as an Exact user in the same division.
- Sage HR has no field for the employer or legal entity. At the start we record whether a team or a custom field determines who belongs in the Dutch Exact division. An employee without that value becomes a question for HR, not a line for finance.
- When a former colleague returns, Sage HR brings them back with a rehire under the same ID, with a new start date. In Exact that employee already exists with an end date. KoppelHet recognises the ID and puts on the worklist that the existing employee gets a new employment, instead of a second employee.
- Sage HR sends no webhooks and cannot filter the employee list on modification date; the list comes in pages of fifty. KoppelHet reads all pages every hour and compares with the previous state. KoppelHet reads Exact in one go per comparison, within the limits per minute and per day.
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 create the employee in Exact itself?
Exact Online's REST API only lets employees be read. KoppelHet therefore prepares everything on the worklist and checks the result at the next comparison.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Sage HR through {subdomain}.sage.hr/api with the X-Auth-Token header. GET /employees (active only; parameters page, team_history, employment_status_history and position_history; fields employee_number, email, employment_start_date, team_id, reports_to_employee_id), GET /terminated-employees (termination_date), GET /teams (manager_ids, employee_ids) and GET /employees/{id}/custom-fields. Pages of 50. Rehire through POST /employees/{id}/rehire with a new start date. No webhooks.
- Exact Online through the REST API with OAuth, per division. payroll/Employees (Code, BusinessEmail, StartDate, EndDate, Manager in the same division and not a subordinate) and hrm/Departments (Code, Costcenter) GET only. Employees is in Payroll, Time & Billing and Professional Services (Plus, Professional and Premium). API limits per minute and per day per division.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Sage HR | Field in Exact Online | Notes |
|---|---|---|
employee_number | Employees.Code (vergelijking) | |
email | Employees.BusinessEmail (vergelijking) | |
Eigen veld of team | Division | Through a table; set at the start |
team_history (team_id, start_date) | Departments.Code (vergelijking) | Through a table |
reports_to_employee_id (e-mail) | Employees.Manager | Looked up as an Exact user in the same division |
employment_start_date en termination_date | Employees.StartDate en EndDate (vergelijking) |
Related
Recruitee → Sage HR
Recruitee to Sage HR integration: hired candidates as employees in Sage HR
Sage HR → Active Directory
Sage HR to Active Directory integration: domain accounts per team, with an expiry date from the termination
Sage HR → ADP iHCM
Sage HR to ADP iHCM integration: compensation and leavers from Sage HR to Dutch ADP payroll
Sage HR → AFAS Profit
Sage HR to AFAS integration: employees of the Dutch entity in AFAS Profit Payroll