Payroll integration
Sage People to Nmbrs integration: Dutch payroll driven by Sage People
With an integration between Sage People and Nmbrs, team members of the Dutch payroll company are in Nmbrs with employment, schedule and gross monthly salary, and new salary records and end dates from Sage People follow with their start date. After the run the payslips from Nmbrs can go back to Sage People, so Dutch employees find them in the same place as colleagues in other countries.
What the integration does
Anyone using Sage People for HR and having Dutch payroll processed in Nmbrs, often by a payroll bureau, sends a spreadsheet of changes every month. Salaries are an annual amount in Sage People and are sometimes divided by twelve when retyped, instead of by twelve plus holiday allowance.
- KoppelHet reads the team members with a Dutch payroll company and their employment record in Sage People.
- A new team member arrives in the right Nmbrs company, with start date, schedule, gross monthly salary and IBAN.
- A new active salary record goes to Nmbrs with its start date, converted according to the agreement on holiday pay.
- An end date on the employment record becomes the end date in Nmbrs.
- After the run the payslips from Nmbrs go to Sage People as PDFs, if you want that.
Back: Payslips as PDF per employee, with the Sage People employee number
What to watch for with Sage People and Nmbrs
- A salary in Sage People is an amount with a multiplier to annual. Nmbrs pays a gross monthly salary, and in the Netherlands holiday pay is often included in head office's annual amount. At the start we agree what KoppelHet divides the annual amount by, and that is fixed in the integration.
- A salary record in Sage People only counts once it is active. KoppelHet only sends active records to Nmbrs, so a proposal HR is still working on does not end up in the payroll run.
- The start date of a salary record can lie before or after the award date. A future rise is already in Sage People; KoppelHet puts it in Nmbrs with the right date, so the payroll bureau does not need to remember it.
- Through the payroll company Sage People determines who is paid by which payroll provider. If the organisation has several Dutch payroll companies, each has its own Nmbrs company.
- Sage People accepts payslips from an external payroll provider as one PDF per payslip, with a CSV list containing the Sage People employee number, and not as a zip file. KoppelHet fetches the payslips per employee from Nmbrs and delivers them in that form.
- The integration reads Sage People with a separate API user, who only sees the fields in its permission set. Reviews and absence notes therefore stay out of sight of payroll.
- If a payroll bureau runs payroll in Nmbrs, the bureau grants the integration access to your company only. Collective agreement, payroll tax credit and pension stay with the bureau and are not overwritten by the integration.
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
How does the integration handle holiday pay in the annual salary?
We agree that at the start with HR and the payroll bureau. The integration then always divides the annual amount the same way, so no difference arises per month.
Do the payslips also reach Sage People?
If you want that, yes. After the run each payslip is in Sage People as a PDF with the right employee.
Do all employees from Sage People go to Nmbrs?
No, only team members with a Dutch payroll company. Colleagues in other countries stay out of Nmbrs.
What about the GDPR?
You are the controller and KoppelHet is the processor, under a data processing agreement. The integration only sees the fields you release in Sage People, and every action is in the audit logging.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Sage People is read through the Salesforce API with SOQL on fHCM2__Team_Member__c, fHCM2__Employment__c and the Salary object (Amount, Annual Multiplier, Period, Start Date, Award Date, Active). Sign-in through an External Client App with OAuth 2.0 client credentials and an API user with a Salesforce Integration licence and a read-only permission set.
- Payslips back through inbound Payflow on the Sage People SFTP platform (one PDF per payslip, CSV with Employee Number and file name).
- Nmbrs is written through the Nmbrs REST API, which authenticates per debtor; the SOAP API is retired from 1 March 2027.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Sage People | Field in Nmbrs | Notes |
|---|---|---|
Employee Number (team member) | Personeelsnummer | Fixed key, also for the payslips back |
First Name en Last Name | Voornaam, tussenvoegsel en achternaam | |
Payroll Company | Nmbrs-bedrijf | |
Start Date en End Date (employment) | Datum in dienst en datum uit dienst | |
Salary: Amount × Annual Multiplier | Bruto maandsalaris | Annual amount divided as agreed, for example by 12.96 |
Salary: Start Date | Ingangsdatum salaris | |
Uren per week (employment record) | Rooster | |
Department | Afdeling | Through a lookup table |
Bankrekening | IBAN | Only if HR records it in Sage People |
Related
Sage People → Active Directory
Sage People to Active Directory integration: domain accounts for the Dutch office
Sage People → ADP iHCM
Sage People to ADP iHCM integration: salary records, bonuses and leavers of the Dutch payroll company to ADP
Sage People → AFAS Profit
Sage People to AFAS integration: Dutch employees and salaries from Sage People in AFAS Profit
Sage People → Arbodienst (SIVI)
Sage People to the occupational health service via SIVI: absence records as absence reports