Payroll integration
Sage HR to Nmbrs integration: Dutch employees from Sage HR into payroll
With an integration between Sage HR and Nmbrs, new employees of the Dutch entity from Sage HR are in Nmbrs, with employment, position, schedule and salary. A departure or return in Sage HR also reaches Nmbrs, so payroll no longer keeps lists.
What the integration does
Organisations that use Sage HR for staff in several countries and have the Dutch employees paid through Nmbrs, often by a payroll bureau, send an overview of new and departed people every month. A contract change in the middle of the month then regularly arrives a period late.
- HR records the new employee in Sage HR in the team or entity that belongs to the Netherlands.
- At the next round KoppelHet sees the new employee and reads compensation and custom fields.
- In Nmbrs employee, employment, schedule and salary are created, in that order.
- The payroll bureau completes payroll tax credit, pension and collective agreement.
- A termination or rehire in Sage HR becomes an end date or a new employment in Nmbrs.
What to watch for with Sage HR and Nmbrs
- Sage HR has no field for the employer. With several Dutch entities, the team or a custom field in Sage HR decides which Nmbrs company the employee goes to; we fix that mapping at the start.
- Sage HR only returns position changes with a start and end date when the integration explicitly asks for position_history. KoppelHet does so, so a promotion takes effect in Nmbrs on the right date and not on the day the integration sees it.
- Because Sage HR works without webhooks, a change can take up to an hour to come through. Before the close of every Nmbrs period KoppelHet therefore also reads the list of terminations in full.
- A compensation in Sage HR with period monthly goes to Nmbrs as monthly salary. If the Nmbrs company uses four-week periods, KoppelHet reports this instead of converting by itself.
- Sage HR does not provide hours per week through the API. They come from a custom field; without it Nmbrs cannot record a schedule and KoppelHet holds the employee back until HR fills it in.
- A rehire in Sage HR brings the employee back into the active list under the same id. KoppelHet recognises that id and creates a new employment for the existing employee in Nmbrs.
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 this work with an external payroll bureau?
Yes. The bureau grants access to the customer's Nmbrs company. HR sees notifications about missing hours or IBAN in the KoppelHet platform.
Does leave from Sage HR come along too?
Not by default. Sage HR has leave requests in the API; if you want leave in Nmbrs, 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.
- Sage HR through {subdomain}.sage.hr/api with the X-Auth-Token header - GET /employees with position_history and employment_status_history, GET /terminated-employees, GET /employees/{id}/compensations and GET /employees/{id}/custom-fields. No webhooks; KoppelHet reads periodically.
- Nmbrs through the REST API with OAuth 2.0, authenticated at client level. The SOAP API is no longer supported from 1 March 2027.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Sage HR | Field in Nmbrs | Notes |
|---|---|---|
id | Vrij veld in Nmbrs | Key |
employee_number | Personeelsnummer | |
first_name, last_name, date_of_birth, adres | Persoonsgegevens | |
team of eigen veld werkgever | Nmbrs-bedrijf | Fixed mapping |
employment_start_date | Startdatum dienstverband | |
position_history (position_name, start_date) | Functie met ingangsdatum | |
Eigen veld uren per week | Rooster | |
Compensation (amount, period, start_date) | Salaris met ingangsdatum | |
termination_date | Datum uit dienst |
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