Payroll integration
Talentech to ADP iHCM integration: salaries and resignations from PeopleCore to Dutch ADP payroll
An integration between Talentech and ADP iHCM passes new salaries from Talentech PeopleCore and the end date from a resignation to Dutch payroll in ADP iHCM. Employees of the Dutch legal entity who already exist in ADP get their salary change and termination without retyping; creating new employees in ADP remains work for payroll.
What the integration does
Organisations that use Talentech as their HR platform for the Nordics and the Netherlands and process Dutch payroll in ADP iHCM keep salaries in two places. A pay rise in Talentech reaches payroll by email, and a resignation with a last day of work different from the end date easily leads to a wrong date in ADP.
- HR records a new salary or a resignation in Talentech.
- KoppelHet reads salaries, positions and resignations hourly and compares them with the previous state.
- A new salary at the Dutch entity goes to ADP as a salary change.
- A resignation starts the termination in ADP with the employment end date.
- KoppelHet writes the ADP employee number back to Talentech as an external identifier.
What to watch for with Talentech and ADP iHCM
- A salary in Talentech PeopleCore has an amount, a currency and an effective date, but no field saying whether it is a monthly or annual amount. ADP wants a salary code with the salary that does record this. KoppelHet agrees per customer which period the amount in Talentech means, and fixes that code in the integration.
- Talentech's salary API only filters by employee and has no filter on change date. KoppelHet therefore fetches the salaries page by page and compares them with the previous run; only a new or changed salary goes to ADP.
- In Talentech the legal entity belongs to the position, not to the employee. KoppelHet uses the position to decide whether someone works at the Dutch entity, and uses that to choose the ADP pay group.
- A resignation in Talentech has a resignation date, a last day of work, an employment end date and a date the position closes. KoppelHet gives ADP the employment end date, because salary payment ends on it, even if the last day of work is earlier.
- Talentech lets external systems put their own identifier on the employee. KoppelHet writes the ADP employee number into it, so HR can see in Talentech which employees are linked to ADP.
- A contract in Talentech can be set for the future, with its own salary. KoppelHet only passes on a salary with a future effective date once the ADP period for that date exists in iHCM; otherwise it stays in the queue.
- Access to the PeopleCore API runs through scopes per part, such as salaries, positions and resignations. KoppelHet only asks for read access to those three plus write access on the employee for the external identifier; contract details beyond salary stay out of reach.
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 bonuses go along as well?
We found no separate bonus object in the PeopleCore API. Bonuses therefore stay in ADP in the first version; if Talentech provides them through the API later, that can be added as an extension.
Does the integration create new employees in ADP?
No. Payroll creates the employee in ADP; KoppelHet then puts the number in Talentech and keeps them up to date.
How do we get access to the Talentech API?
Through your account manager at Talentech. We then create a client with only the scopes the integration needs.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Talentech PeopleCore API (https://api.talentech.io/peoplecore): GET /v1/Salaries (PageNumber, PageSize, EmployeeId; amount, currency, effectiveDate), GET /v1/Positions (organizationInformation.legalEntityId), GET /v1/Contracts (isActive, isForFuture, salary), GET /v1/EmployeeResignApplications (resignationDate, lastDayOfWork, employmentEndDate, positionClosedDate, reason) and PUT /v1/Employees/{employeeId}/externalSystemIdentifiers. Scopes include peoplecore-salaries:read, peoplecore-positions:read, peoplecore-resignations:read and peoplecore-employees:write.
- ADP iHCM through GET /hr/v2/workers, the Base Remuneration Change API (2416 and 2417; the effective date may not be before the start of the work assignment) and the Worker Terminate API (worker.terminate, worker-termination.cancel). Canonicals in the Consumer Application Registry (CAR).
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Talentech | Field in ADP iHCM | Notes |
|---|---|---|
externalSystemIdentifiers (ADP) | payrollfilenumber | KoppelHet writes the number back |
Position organizationInformation.legalEntityId | payrollGroupCode | Lookup per legal entity |
Salary amount | Salarisbedrag 2417 met salariscode 2416 | Period agreed per customer |
Salary effectiveDate | effectiveDateTime van de salariswijziging | |
EmployeeResignApplication employmentEndDate | Beëindiging in worker.terminate | |
EmployeeResignApplication reason | Reden van beëindiging | Lookup |
Related
Recruitee → Talentech
Recruitee to Talentech integration: hired candidates with a contract on a position in Talentech
Talentech → Active Directory
Talentech to Active Directory integration: accounts in your own domain from PeopleCore
Talentech → AFAS Profit
Talentech to AFAS integration: employees, contracts and salaries from Talentech PeopleCore in AFAS
Talentech → Arbodienst (SIVI)
Talentech to the occupational health service via SIVI: PeopleCore absences as absence reports