ADP Workforce Now logoAFAS Profit logo

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.

  1. HR records the Dutch worker in ADP Workforce Now, with the Netherlands as work location.
  2. ADP sends an event notification; KoppelHet fetches the worker with the state on the effective date.
  3. KoppelHet creates the employee with contract, function, schedule and salary in AFAS, or updates the existing one.
  4. Payroll adds the payroll tax credit and the collective agreement grading in AFAS.
  5. A termination in ADP becomes the end date of the employment in AFAS.
ADP Workforce Now → KoppelHet → AFAS ProfitSOURCEADP Workforce NowTARGETAFAS ProfitKoppelHetmapping · logging · monitoringADP Workforce Now → KoppelHet → AFAS ProfitSOURCEADP Workforce NowTARGETAFAS ProfitKoppelHetmapping · logging · monitoring
Out: Person with name, date of birth and address · Employment and contract · Job, department and hours · Salary · Termination

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, 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

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 NowField in AFAS ProfitNotes
workerID/idValueExtra veld bij de medewerker in AFASUnique per ADP client; fixed key
person/legalNameKnPerson (voornaam, voorvoegsel, achternaam)Split the name prefix
person/birthDateGeboortedatumOnly unmasked
workAssignments/hireDateAfasContract (begindatum)
workAssignments/jobCodeAfasOrguniFunction (functie)Through a lookup table
workAssignments/homeOrganizationalUnitsAfasOrguniFunction (organisatorische eenheid)
workAssignments/standardHoursAfasTimeTable (uren per week)
workAssignments/baseRemunerationAfasSalaryPeriod amount or hourly rate, no annual amount
workAssignments/terminationDateEinddatum 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.