
Payroll integration
ADP Workforce Now to Loket integration: hires, pay, hours and bonuses from ADP to the Dutch payroll run
With an integration between ADP Workforce Now and Loket, a new Dutch employee from ADP arrives in Loket as a concept employee, and pay, hours, bonuses and termination go to the employment in Loket. KoppelHet responds to ADP's events for the payroll group of the Dutch entity and checks everything again before the cut-off.
What the integration does
Organisations that use ADP Workforce Now in America or Canada and have a Dutch entity paid in Loket often pass changes on with an export from ADP. Bonuses and commissions HR records in ADP then arrive separately from the rest and sometimes fall outside the payroll run.
- HR hires an employee in ADP in the payroll group of the Dutch entity.
- On the hire event KoppelHet creates a concept employee in Loket at the employer that belongs to that payroll group.
- Payroll completes the Dutch details and converts the concept into an employee.
- A change of base pay or standard hours goes with the effective date to the pay or working hours. A bonus or commission goes as a change to the period it falls in.
- A termination ends the employment in Loket. On a rehire KoppelHet starts a new employment for the same employee.
What to watch for with ADP Workforce Now and Loket
- ADP sends separate events for adding and changing an additional remuneration, such as a bonus or commission. KoppelHet places it as a one-off change in the Loket payroll period in which the payment date falls, so a bonus is not processed as a pay rise.
- A change of standard hours has its own event in ADP, separate from pay. Loket also keeps working hours and pay apart, so on such an event KoppelHet only changes the employment's working hours.
- ADP stores a salary as an amount per period, per hour or per day, and calculates the annual amount itself. KoppelHet takes the stored amount with the pay frequency and converts it to the payroll period of the employer in Loket, so differently for four weeks than for a month.
- ADP has a separate event for a rehire. Loket holds several employments under one employee. On a return KoppelHet therefore creates a new employment for the existing employee, so BSN and history are not duplicated in Loket.
- Every payroll group in ADP belongs to one employer in Loket. If the organisation has more Dutch entities, KoppelHet picks the employer based on the employee's payroll group, and a move between groups becomes a termination at one and a hire at the other employer.
- ADP masks BSN and date of birth in the API by default, and if a project chooses the demographics variant they also stay hidden in events. The integration therefore only uses the full workers variant, and the administrator releases those fields for this project.
- ADP determines whether someone is employed from the primary position. If an employee has another position next to the Dutch one, KoppelHet checks the Dutch position itself before ending the employment in Loket.
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
Can we test before going live?
Yes. Loket has an acceptance environment. ADP offers a test environment on request, not for every variant of Workforce Now; we check that in the intake.
Does the pension come from ADP?
No. Pension, collective agreement and payroll tax credit are recorded by payroll in Loket. The integration leaves those fields alone.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- ADP Workforce Now through the Worker Management API: GET /hr/v2/workers with $filter=workers/workAssignments/payrollGroupCode eq '{code}', $top at most 100 and $skip, Accept application/json;masked=false (after release), $select on payCycleCode, standardHours and baseRemuneration. Events through the API Central project's message queue, including worker.hire, worker.rehire, worker.terminate, worker.work-assignment.base-remuneration.change, worker.work-assignment.standard-hours.change and worker.work-assignment.additional-remuneration.add/change. Salary only as payPeriodRateAmount, hourlyRateAmount or dailyRateAmount.
- Loket is written through the Loket REST API (api.loket.nl/v2) with OAuth 2.0: concept-employee, convert to employee, create-employment for a new employment, wage, working-hours, period data for one-off changes and ending the employment. Testing in the acceptance environment with test data.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in ADP Workforce Now | Field in Loket | Notes |
|---|---|---|
workerID/idValue | Personeelsnummer | Unique per employee at the client |
person/legalName | Voornaam, voorvoegsel en achternaam | |
person/governmentIDs (NL) | Burgerservicenummer | |
workAssignments/payrollGroupCode | Werkgever in Loket | |
workAssignments/hireDate | Begindatum dienstverband | |
baseRemuneration (payPeriodRateAmount of hourlyRateAmount) | Loon per verloningsperiode of uurloon | |
workAssignments/standardHours | Arbeidstijd | |
additionalRemunerations (bonus, commissie) | Variabele mutatie in de periode | |
workAssignments/terminationDate | Einde dienstverband |
Related
ADP Workforce Now → 4PS Construct
ADP Workforce Now to 4PS Construct integration: employees with company, dimensions and statistics group in 4PS
ADP Workforce Now → Active Directory
ADP Workforce Now to Active Directory integration: accounts in your own domain, with expiry date and rehire from ADP
ADP Workforce Now → AFAS Profit
ADP Workforce Now to AFAS integration: Dutch employees from the US HR system in AFAS Profit
ADP Workforce Now → AllSolutions
ADP Workforce Now to AllSolutions integration: employees with department, cost centre and manager in AllSolutions