
Payroll integration
ADP Workforce Now to AFAS integration: Dutch employees from the US HR system in AFAS Profit
With an integration between ADP Workforce Now and AFAS Profit, new hires and changes of the Dutch entity flow from ADP Workforce Now into AFAS, with the effective date from ADP. AFAS then calculates Dutch pay with the collective agreement and payroll tax, and payroll only adds the Dutch tax details.
What the integration does
Organisations with a US headquarters that runs HR in ADP Workforce Now and a Dutch branch that runs payroll in AFAS receive new Dutch employees by email or spreadsheet. Payroll retypes them into AFAS and sometimes only hears about pay changes after the run.
- HR records the Dutch worker in ADP Workforce Now, with the Netherlands as work location.
- ADP sends an event notification; KoppelHet fetches the worker with the state on the effective date.
- KoppelHet creates the employee with contract, function, schedule and salary in AFAS, or updates the existing one.
- Payroll adds the payroll tax credit and the collective agreement grading in AFAS.
- A termination in ADP becomes the end date of the employment in AFAS.
What to watch for with ADP Workforce Now and AFAS Profit
- ADP Workforce Now masks date of birth, national IDs and salary in the API by default. AFAS needs them, so the integration requests them unmasked and the administrator opens them in the API Central profile in Workforce Now, for this integration only.
- KoppelHet only selects workers in ADP with the Netherlands as work location or with the payroll group of the Dutch entity. US colleagues therefore never end up in AFAS.
- An annual salary in Workforce Now is always calculated from the period amount or hourly rate and the pay frequency. KoppelHet therefore uses the period amount or hourly rate from ADP and converts it to the monthly salary or hourly rate in AFAS.
- A worker in Workforce Now can hold several positions at once, each with its own positionID. Each Dutch position becomes its own contract under the same employee in AFAS, so hours and salary per job are correct.
- With a reference date KoppelHet requests a worker's state on the effective date. A pay rise that starts next month therefore reaches AFAS with that date, not with the date HR entered it.
- Payroll tax credit, collective agreement grading and pension scheme do not exist in Workforce Now. AFAS therefore starts the hire through the onboarding process, so payroll adds those details with the same checks as for manual entry.
- A test environment in Workforce Now is not available by default; the customer requests it from ADP. Without one, KoppelHet tests with a Dutch test worker in production who never reaches an AFAS payroll run.
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
Are Dutch employees in ADP Workforce Now at all?
That differs per organisation. This integration is for organisations that also register their Dutch employees in Workforce Now, with the Netherlands as work location. If they are not there, AFAS is the source and this integration is not needed.
Why does the integration see no date of birth or salary?
ADP masks them by default. The administrator has to open them in the API Central profile in Workforce Now; KoppelHet then requests them unmasked.
Does anything go back to ADP?
No, ADP remains the source for HR data. Payslips and annual statements stay in AFAS. A flow back can follow 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.
- ADP Workforce Now through the Worker Management API - GET /hr/v2/workers with Accept application/json;masked=false, $filter on workAssignments/homeWorkLocation or payrollGroupCode, asOfDate (MM/DD/YYYY) and paging with $top (maximum 100) and $skip. Events worker.hire, worker.rehire and worker.terminate in the API Central project; choose /hr/v2/workers and not also /hr/v2/worker-demographics. Which workers the API user sees is set by People Access in Workforce Now.
- To AFAS Profit through the HrOnboarding UpdateConnector for a new employee and KnEmployee (AfasContract, AfasTimeTable, AfasOrguniFunction, AfasSalary) for changes; workerID in a free field as key.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in ADP Workforce Now | Field in AFAS Profit | Notes |
|---|---|---|
workerID/idValue | Extra veld bij de medewerker in AFAS | Unique per ADP client; fixed key |
person/legalName | KnPerson (voornaam, voorvoegsel, achternaam) | Split the name prefix |
person/birthDate | Geboortedatum | Only unmasked |
workAssignments/hireDate | AfasContract (begindatum) | |
workAssignments/jobCode | AfasOrguniFunction (functie) | Through a lookup table |
workAssignments/homeOrganizationalUnits | AfasOrguniFunction (organisatorische eenheid) | |
workAssignments/standardHours | AfasTimeTable (uren per week) | |
workAssignments/baseRemuneration | AfasSalary | Period amount or hourly rate, no annual amount |
workAssignments/terminationDate | Einddatum 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 → AllSolutions
ADP Workforce Now to AllSolutions integration: employees with department, cost centre and manager in AllSolutions
ADP Workforce Now → Dyflexis
ADP Workforce Now to Dyflexis integration: employees and contracts of the European sites in the schedule