Payroll integration
Factorial to ADP iHCM integration: contract versions and terminations of the Dutch entity to ADP
With an integration between Factorial and ADP iHCM NL, every new salary from a contract version in Factorial reaches ADP iHCM with the right effective date, and a termination in Factorial is also processed in ADP, or reversed again. HR works in Factorial, payroll in ADP, and nobody retypes amounts.
What the integration does
Organisations that do HR in Factorial and calculate Dutch pay in ADP iHCM need a second action in ADP for every salary raise. If HR reverses a termination, it often stays terminated in ADP for weeks.
- Payroll creates a new worker in ADP iHCM; KoppelHet links it once to the employee in Factorial.
- Factorial reports a new or changed contract version; KoppelHet fetches salary, frequency and effective date.
- If the employee belongs to the Dutch entity, the new salary goes to ADP with that effective date.
- A termination in Factorial starts the termination in ADP; a reversed termination cancels it.
- Before the cut-off KoppelHet compares the updates in Factorial with what is in ADP.
What to watch for with Factorial and ADP iHCM
- Factorial records a salary raise as a new contract version with its own effective date, separate from the hire date. KoppelHet uses that effective date for ADP, so a raise from the first of the month also takes effect from that date there.
- Factorial stores the salary in cents, together with a frequency such as yearly. ADP iHCM wants an amount with decimals and a salary code. KoppelHet converts the amount and translates the frequency into the code the pay group in ADP knows.
- Factorial can reverse a termination and reports it with a separate webhook. ADP iHCM has a cancellation of the termination for that. KoppelHet links the two, so an employee who stays after all also keeps being paid in ADP.
- Factorial often holds employees from several countries. KoppelHet filters the updates on the Dutch legal entity, so only contract versions of that entity go to ADP iHCM.
- Factorial retries a failed webhook up to twenty times within 48 hours and then disables the subscription. Because ADP must have a change before the cut-off, KoppelHet monitors the subscriptions and compares all updates again before that date.
- ADP iHCM rejects a salary change dated before the start of the work assignment. KoppelHet therefore does not send a contract version from before ADP, for example from an earlier migration.
- An end date cannot be changed in ADP iHCM. If HR moves the end of the contract in Factorial, KoppelHet cancels the termination in ADP and starts it again with the new date.
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
Do contract hours go to ADP too?
Not in the first version. Factorial has hours with a frequency per contract version; which ADP field should receive them differs per pay group. That can be added later as an extension.
Does the integration create new workers in ADP?
No. ADP's public iHCM guides contain no API for that. A new employee arrives as a task for payroll.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Factorial through the Factorial API (version in the path, for example 2026-10-01) with OAuth 2.0. Contract versions (employee_id, effective_on, starts_on, ends_on, salary_amount in cents, salary_frequency, working_hours and working_hours_frequency), employee_updates/summaries filtered on legal_entities_ids[] and type[], and webhooks for ContractVersion Creates and Updates and Employee Terminates and Unterminates. Failed webhooks: up to twenty attempts within 48 hours, then disabled.
- ADP iHCM through the Base Remuneration Change API (worker.work-assignment.base-remuneration.change; 2417 amount and 2416 salary code, one event per call, effective date not before the start of the work assignment) and the Worker Terminate API (worker.terminate and worker-termination.cancel). Canonical URIs in the Consumer Application Registry (CAR).
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Factorial | Field in ADP iHCM | Notes |
|---|---|---|
employee_id | payrollfilenumber | Linked once; KoppelHet stores the key |
salary_amount (in centen) | 2417 salarisbedrag | Divided by a hundred |
salary_frequency | 2416 salariscode | Lookup per frequency |
effective_on | effectiveDateTime | |
Legal entity | payrollGroupCode | Dutch entity only |
Beëindiging (ends_on) | worker.terminate | |
Teruggedraaide beëindiging | worker-termination.cancel |
Related
Factorial → 4PS Construct
Factorial to 4PS Construct integration: fitters and site managers with their cost centre as a dimension in 4PS
Factorial → Active Directory
Factorial to Active Directory integration: domain accounts from Factorial
Factorial → AFAS Profit
Factorial to AFAS integration: employees and contracts from Factorial in AFAS Profit Payroll
Factorial → AllSolutions
Factorial to AllSolutions integration: employees per legal entity with their main cost centre in AllSolutions