ADP Workforce Now logoLoket logo

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.

  1. HR hires an employee in ADP in the payroll group of the Dutch entity.
  2. On the hire event KoppelHet creates a concept employee in Loket at the employer that belongs to that payroll group.
  3. Payroll completes the Dutch details and converts the concept into an employee.
  4. 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.
  5. A termination ends the employment in Loket. On a rehire KoppelHet starts a new employment for the same employee.
ADP Workforce Now → KoppelHet → LoketSOURCEADP Workforce NowTARGETLoketKoppelHetmapping · logging · monitoringADP Workforce Now → KoppelHet → LoketSOURCEADP Workforce NowTARGETLoketKoppelHetmapping · logging · monitoring
Out: Concept employee with personal details and BSN · Employment at the right employer · Pay and working hours · Bonus and commission as one-off change · End of employment and new employment on return

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, architecture and compliance

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.

Price indication · Complex

Leave your work email and you see the price indication right away.

We only use your address to follow up on your question about this integration.

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 NowField in LoketNotes
workerID/idValuePersoneelsnummerUnique per employee at the client
person/legalNameVoornaam, voorvoegsel en achternaam
person/governmentIDs (NL)Burgerservicenummer
workAssignments/payrollGroupCodeWerkgever in Loket
workAssignments/hireDateBegindatum dienstverband
baseRemuneration (payPeriodRateAmount of hourlyRateAmount)Loon per verloningsperiode of uurloon
workAssignments/standardHoursArbeidstijd
additionalRemunerations (bonus, commissie)Variabele mutatie in de periode
workAssignments/terminationDateEinde dienstverband

Related

Which systems do you want to connect?

Tell us which systems you use and what should happen automatically. Together we define the smallest working solution, with a clear design and a quote before building.