SmartRecruiters logoUnit4 HR logo

Recruitment to HR

SmartRecruiters to Unit4 HR integration: hire on the position from SmartRecruiters, with onboarding status back

With an integration between SmartRecruiters and Unit4 HR, a candidate hired in SmartRecruiters automatically becomes an employee in Unit4, on the position that was already attached to the job. SmartRecruiters then gets the onboarding status back, so recruiters see whether the hire succeeded in Unit4 or is waiting for HR.

What the integration does

Organisations that use Unit4 as their ERP and recruit in SmartRecruiters record headcount positions in both systems. After a hire HR retypes the candidate in Unit4 and looks up the matching position, while recruiters cannot see whether the new employee is in Unit4 yet.

  1. The recruiter sets the application in SmartRecruiters to hired.
  2. KoppelHet confirms the notification immediately and then fetches candidate, job, position and offer.
  3. Unit4 checks the new employee without saving, with the position from SmartRecruiters.
  4. After a successful check Unit4 creates the employee in the right company.
  5. KoppelHet sets the onboarding status on the candidate in SmartRecruiters to successful, or to failed with an alert to HR.
SmartRecruiters → KoppelHet → Unit4 HRSOURCESmartRecruitersTARGETUnit4 HRKoppelHetmapping · logging · monitoringSmartRecruiters → KoppelHet → Unit4 HRSOURCESmartRecruitersTARGETUnit4 HRKoppelHetmapping · logging · monitoring
Out: Candidate with name, email and address · Job with position and target start date · Offer with start date · Employee with employment in Unit4 · Onboarding status back in SmartRecruiters

What to watch for with SmartRecruiters and Unit4 HR

  • A job in SmartRecruiters can have positions, each with its own positionId that the organisation fills in, a type (new or replacement) and a target start date. If we fill in the position from Unit4 there, a hire lands on the right Unit4 position without a translation table, and with it on the right cost centre.
  • For a position of the replacement type SmartRecruiters records the name of the departing employee. KoppelHet checks whether that person has an end date in Unit4, and alerts HR if the new employee starts before the previous one leaves.
  • SmartRecruiters has an onboarding status per application, but only if that property is activated in the account. Without it SmartRecruiters refuses the status. We switch it on at the start, so recruiters see for every hire whether Unit4 has taken it in.
  • A notification from SmartRecruiters only contains an ID and must be confirmed within five seconds. The check and the creation in Unit4 take longer. KoppelHet therefore confirms first and only then talks to Unit4, so SmartRecruiters does not offer the same hire again.
  • Unit4 does not allow a saved employee to be deleted, only terminated, and can validate a hire in advance. KoppelHet validates first and sets the onboarding status in SmartRecruiters to failed if Unit4 rejects something, so the recruiter can fix it in SmartRecruiters before an employee exists in Unit4.
  • SmartRecruiters keeps thirty days of successful and failed notifications in a log per subscription. KoppelHet compares that log daily with the employees in Unit4, so a hire missed during an outage is still processed.
  • If approval for new employees is switched on in Unit4, the hire waits there for an approver. KoppelHet then leaves the onboarding status on ready to onboard until Unit4 has approved the employee, and only then sets it to successful.

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 · Basic

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

Do we have to maintain positions in SmartRecruiters?

It helps. Without positions we record a Unit4 position per job in a table. Putting positions from Unit4 into SmartRecruiters automatically can come later as an extension.

Does the salary from the offer go to Unit4?

Not in the first version. HR records salary and grading in Unit4; that can come 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.

  • SmartRecruiters through a webhook subscription (notification with only the ID and a Link header, smartrecruiters-signature with HMAC-SHA256, 202 within 5 seconds, up to 10 retries, 30-day callbacks log, suspension on 410). Data through the Customer API with OAuth 2.0; positions through GET /jobs/{jobId}/positions (positionId, type NEW or REPLACEMENT, incumbentName, targetStartDate). Status back through PUT /candidates/{id}/jobs/{jobId}/onboardingStatus with READY_TO_ONBOARD, ONBOARDING_SUCCESSFUL or ONBOARDING_FAILED (scope candidates_manage).
  • Unit4 ERPx through the Employees API with client ID and client secret. POST /v1/employees/validate, then POST /v1/employees with companyId, nameInformation, contactPoints, personnelType and employments (positionId, startDate). 202 with an active workflow listing the fields awaiting approval, 409 for a duplicate personId, 422 for a missing mandatory field. For a large hiring round POST /v1/employees/batch, up to 200 per call.

Which fields are transferred

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

Field in SmartRecruitersField in Unit4 HRNotes
Kandidaat-IDVrij veld of relatie in Unit4Recognises a repeated notification
firstName en lastNamenameInformation (firstName, surname)
email en locationcontactPoints
Positie van de vacature (positionId)employments (positionId)positionId in SmartRecruiters is a free reference; we fill in the Unit4 position there
Startdatum uit het aanbodemployments (startDate) en dateFromOtherwise the position's target start date, with an alert
Vestiging of entiteit van de vacaturecompanyIdThrough a table
Resultaat in Unit4onboardingStatus (ONBOARDING_SUCCESSFUL of ONBOARDING_FAILED)

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.