
Payroll integration
Talentech to AFAS integration: employees, contracts and salaries from Talentech PeopleCore in AFAS
With an integration between Talentech PeopleCore and AFAS Profit, new employees, contracts, salaries and resignations of the Dutch legal entity reach AFAS automatically from Talentech, with the dates from Talentech. Payroll no longer copies contract and salary and only adds the bank account and Dutch payroll concepts.
What the integration does
Organisations that have recruitment and HR administration with Talentech and pay their Dutch employees in AFAS Profit enter every contract and rise twice. On a job change Talentech creates a new contract, and that must come back in AFAS with the right date.
- HR records a contract, salary or resignation in Talentech.
- KoppelHet reads employees, contracts, positions and salaries and compares them with the previous state.
- Only contracts at a position of the Dutch legal entity go to AFAS.
- A new contract or salary reaches AFAS with the effective date from Talentech; KoppelHet puts the AFAS number back as an external identifier in Talentech.
- A resignation with an employment end date becomes the end date of the contract in AFAS.
What to watch for with Talentech and AFAS Profit
- In Talentech PeopleCore a contract hangs on a position, and the position determines the legal entity and department. KoppelHet uses the position to decide whether a contract belongs to the Dutch entity, and only sends those to AFAS.
- On a job change Talentech ends the current contract and creates a new contract on the new position. KoppelHet recognises that pair and records a job change in AFAS from the new start date, instead of a termination and a new hire.
- The PeopleCore API cannot request employees, contracts and salaries by change date. KoppelHet keeps the previous state and compares on every run, so only real changes go to AFAS.
- Talentech PeopleCore has no bank account in the API. Payroll adds the IBAN in AFAS, or the employee does so through the AFAS employee portal; KoppelHet reports a new employee without a bank account before the first run.
- A resignation in Talentech has a resignation date, a last working day and an employment end date. KoppelHet takes the employment end date as the end date in AFAS and adds the last working day to the alert for payroll.
- Talentech can store identifiers from other systems per employee. KoppelHet puts the AFAS number there, so the integration still finds an employee after a name change.
- An employee still saved as a draft in Talentech does not go to AFAS. Only once HR completes the profile does KoppelHet create the employee.
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
How do we get access to the Talentech APIs?
Through your account manager or Talentech support. Talentech notes that some APIs incur extra costs; check that in advance.
What does payroll fill in AFAS itself?
Bank account, scale and step, payroll tax credit and pension. Talentech PeopleCore does not provide that data.
Does a hired candidate from Talent Recruiter go along too?
This integration starts with the employee in PeopleCore. A candidate straight from the recruitment module to AFAS is a separate flow and can be added 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.
- Talentech PeopleCore API (api.talentech.io/peoplecore) with a JWT from auth.talentech.io/connect/token (client credentials) and scopes per part, such as peoplecore-employees:read, peoplecore-contracts:read, peoplecore-positions:read, peoplecore-salaries:read and peoplecore-resignations:read. GET /v1/Employees (no change date filter; isDrafted, nationalIds, externalSystemIdentifiers), /v1/Contracts (startDate, endDate, indefinite, probationEndDate, weeklyHours, isForFuture), /v1/Positions (organizationInformation.legalEntityId), /v1/Salaries (paged, effectiveDate), /v1/EmployeeResignApplications (lastDayOfWork, employmentEndDate). The AFAS number through PUT /v1/Employees/{employeeId}/externalSystemIdentifiers (scope peoplecore-employees:write).
- AFAS through the KnEmployee UpdateConnector with AfasContract, AfasTimeTable and AfasSalary.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Talentech | Field in AFAS Profit | Notes |
|---|---|---|
employee.id | Vrij veld in AFAS | |
personalDetails: firstName, middleName, lastName, dateOfBirth | Voornaam, voorvoegsel, achternaam en geboortedatum | |
nationalIds (country NL) | BSN (SoSe) | |
privateContactInformation.address | Adres | |
contract: startDate, endDate, indefinite | Begin- en einddatum contract (DaBe, DaEn) | |
contract.weeklyHours | Aantal uren per week (HrWk) | |
contract.probationEndDate | Einde proeftijd | |
position: jobTitle, departmentId | Functie (FuId) en organisatorische eenheid (DpId) | Through a lookup table |
salary: amount, currency, effectiveDate | Salaris (EmSa) met ingangsdatum | |
AFAS-medewerkernummer | externalSystemIdentifiers op de medewerker | Back to Talentech |
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 → ADP iHCM
Talentech to ADP iHCM integration: salaries and resignations from PeopleCore to Dutch ADP payroll
Talentech → Arbodienst (SIVI)
Talentech to the occupational health service via SIVI: PeopleCore absences as absence reports