Workday logoAFAS Profit logo

Payroll integration

Workday to AFAS integration: Dutch payroll without retyping

With an integration between Workday and AFAS Profit, every new Dutch hire, contract change and termination from Workday reaches AFAS automatically, with the correct effective date. After every payroll run the payslips go back to the worker's record in Workday, so HR and the employee find them in one place.

What the integration does

International employers with Workday as their global HR system and AFAS Payroll for the Dutch entity have payroll retype new hires and changes from Workday. Payroll has to work out itself which changes were made since the last run.

  1. HR hires a new worker in Workday. Once that is complete, KoppelHet sees the new Dutch colleague.
  2. KoppelHet translates the data to AFAS and adds what Workday does not hold, such as payroll tax credit and collective agreement, per the agreements per field.
  3. The employee then appears in AFAS with contract, schedule, job and salary. If HR wants to review first, the hiring workflow in AFAS starts instead.
  4. Later changes to hours, job or salary reach AFAS with their effective date; for a departure in Workday the end date lands in AFAS.
  5. After the payroll run the payslips are attached as documents to the right worker in Workday.
Workday → KoppelHet → AFAS ProfitSOURCEWorkdayTARGETAFAS ProfitKoppelHetmapping · logging · monitoringWorkday → KoppelHet → AFAS ProfitSOURCEWorkdayTARGETAFAS ProfitKoppelHetmapping · logging · monitoring
Out: Worker and personal data · Employment, contract and schedule · Job and organisational unit · Salary and pay components · Bank account and address
Back: Payslips per period · Annual statements

What to watch for with Workday and AFAS Profit

  • Payroll tax credit, collective agreement grading and pension scheme are usually not in Workday. We capture them in extra fields in Workday or complete them in AFAS; per field we agree which system is the source.
  • Workday records every change with an effective date. A change entered in September but effective in July goes into AFAS dated July, so AFAS settles the difference.
  • In AFAS an employee with two employments is one person with two contracts. Workday may show these as two positions; the integration merges them under one AFAS employee.
  • Only workers of the Dutch entity go to AFAS, so no data from other countries is included.
  • In Workday the integration may only read the data it needs, and only write documents.
  • In AFAS the integration gets its own, limited access. AFAS retires the older access method on 31 August 2027; new integrations use the new one straight away.

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 the integration use our existing AFAS workflows?

For new hires, yes. The hiring workflow in AFAS then starts, so HR checks the data before it is final.

What if data AFAS requires is empty in Workday?

The change is not half-applied. It shows up in the KoppelHet platform with a clear message, and HR completes the data in Workday. The next round picks it up.

What about the privacy of BSN and bank details?

Data travels encrypted from Workday to AFAS and stays on the platform no longer than needed. KoppelHet is ISO 27001 certified and hosted in Amsterdam.

Does this also work with Nmbrs or Loket instead of AFAS?

Yes. The process is the same; only the payroll side differs. We also connect Workday with Nmbrs and Loket.

Technical details for IT

For those who want to know how it works under the hood: APIs, fields and sources used.

  • Workday is read through a RaaS report on change date (Employee_ID, Legal_Name, National_ID NLD, Hire_Date, Scheduled_Weekly_Hours, Job_Profile, Supervisory_Organization, Base_Pay, Payment_Election_Data, Termination_Date), with an Integration System User with read access to the required domains and write access to documents.
  • AFAS is written through the KnEmployee UpdateConnector (contract, schedule, job, salary, bank) or HrOnboarding (onboarding process). A dedicated app connector with only these UpdateConnectors and the required GetConnectors; OAuth or classic token (classic token retired on 31 August 2027).
  • Payslips come from AFAS as attachments of the Loonstrook dossier item and go to Workday with the Put_Worker_Document web service.

Which fields are transferred

The key fields. The full mapping is agreed per customer.

Field in WorkdayField in AFAS ProfitNotes
Employee_IDMedewerker (EmId)The Workday ID becomes the AFAS employee number or goes into a free field
Legal_NameVoornaam, voorvoegsel, achternaamSplit Dutch name prefixes (van, de) into their own field
National_ID (NLD)BSN
Hire_DateDatum in dienst
Scheduled_Weekly_HoursUren per week (rooster)Converted to a part-time factor against full-time hours in AFAS
Job_ProfileFunctieThrough a lookup table, as job codes differ
Supervisory_OrganizationOrganisatorische eenheidThrough a lookup table
Base_PaySalaris
Payment_Election_DataBankrekening (IBAN)
Termination_DateDatum uit dienst

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.