
Recruitment to HR
SmartRecruiters to AFAS integration: hired candidate starts onboarding, status back to SmartRecruiters
With an integration between SmartRecruiters and AFAS Profit, a candidate with the hired status in SmartRecruiters starts the onboarding process in AFAS, with start date, salary, job and department from the offer. KoppelHet then sets the onboarding status in SmartRecruiters, so recruiters can see whether the handover to AFAS succeeded.
What the integration does
Anyone recruiting through SmartRecruiters and running Dutch payroll in AFAS Profit does not know after a hire whether HR has already added the new colleague to AFAS. Recruiters ask by email.
- The recruiter sets the application in SmartRecruiters to hired.
- SmartRecruiters reports the change; KoppelHet fetches candidate, vacancy and offer.
- If the vacancy belongs to a Dutch branch, the onboarding process starts in AFAS with name, contact details, start date, salary, job and organisational unit.
- KoppelHet sets the onboarding status in SmartRecruiters to successful, or to failed with a notification to HR.
- HR in AFAS adds BSN and the Dutch details and completes the onboarding.
Back: Onboarding status per hired candidate: successful or failed
What to watch for with SmartRecruiters and AFAS Profit
- SmartRecruiters has its own onboarding status per hired candidate, intended for the system that takes over the employee. KoppelHet sets it to successful or failed, so recruiters see in SmartRecruiters whether the new colleague is in AFAS.
- A SmartRecruiters notification only contains the number of the changed application. KoppelHet then fetches the data itself, with its own access that only sees what belongs to the Dutch vacancies.
- Before SmartRecruiters sends notifications, the KoppelHet address has to return a secret key within twenty seconds. We do that check during setup, so notifications only reach the integration.
- SmartRecruiters retries a failed notification up to ten times, up to a day later, and keeps a log of notifications for thirty days. KoppelHet uses that log to check that no hire has been missed.
- AFAS has an entry that starts the onboarding process, which AFAS recommends over creating an applicant. HR thus keeps control, and HR can reject a withdrawn offer in the AFAS workflow.
- SmartRecruiters is often used for several countries. The vacancy location determines whether the candidate goes to AFAS and at which employer; other countries stay outside the integration.
- Start date and salary are held in SmartRecruiters in the offer properties, which each organisation sets up itself. At the start we record which properties those are and in which unit the salary is.
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
Can recruiters see whether the handover to AFAS succeeded?
Yes. The onboarding status in SmartRecruiters is set to successful or failed. On failure HR also gets a notification with the reason.
What do we need to arrange in SmartRecruiters?
Credentials for the integration with a role that may manage webhooks and read applications and offers. Your SmartRecruiters administrator does this once.
What if the offer is withdrawn after the hire?
The employee is then in onboarding in AFAS, and HR can reject it. KoppelHet reports the change.
What about the GDPR?
You are the controller and KoppelHet is the processor, under a data processing agreement. Only data of hired candidates goes to AFAS, and every action is in the audit logging.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- SmartRecruiters is read through a webhook subscription (activation with the X-Hook-Secret header within 20 seconds; notification with only the ID and a Link header; HMAC-SHA256 in smartrecruiters-signature; acknowledge with 202 within 5 seconds; up to ten retries; 30-day callbacks log) and the Customer API with OAuth 2.0 client credentials. The onboarding status goes back through PUT /candidates/{id}/jobs/{jobId}/onboardingStatus (READY_TO_ONBOARD, ONBOARDING_SUCCESSFUL, ONBOARDING_FAILED). Limit 10 requests per second and 8 concurrent.
- AFAS is written through the HrOnboarding UpdateConnector, which starts the onboarding process; AFAS recommends it over HrCreateApplicant.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in SmartRecruiters | Field in AFAS Profit | Notes |
|---|---|---|
Kandidaat-ID en job-ID | Kenmerk in het onboardingproces | Also needed to set the status back |
firstName en lastName | Voornaam, voorvoegsel en achternaam | Split the name prefix |
email en phoneNumber | E-mail en telefoon privé | |
Startdatum (offer property) | Datum in dienst | |
Salaris (offer property) | Salaris | |
Locatie van de vacature | Werkgever | Through a lookup per branch |
Afdeling van de vacature | Organisatorische eenheid | Through a lookup table |
Functie van de vacature | Functie | Through a lookup table |
Related
SmartRecruiters → ADP Workforce Now
SmartRecruiters to ADP Workforce Now integration: ready to onboard becomes a hire in ADP
SmartRecruiters → BambooHR
SmartRecruiters to BambooHR integration: hire with Dutch fields and feedback
SmartRecruiters → Dayforce
SmartRecruiters to Dayforce integration: validate first, then create the employee
SmartRecruiters → Deel
SmartRecruiters to Deel integration: the right Deel contract per hire