
Recruitment to HR
Recruitee to Unit4 HR integration: hired candidate as employee in Unit4, validated before it is saved
With an integration between Recruitee and Unit4 HR, a candidate hired in Recruitee automatically becomes an employee in the right Unit4 company, with an employment on the job's position and the start date from the offer. KoppelHet first has Unit4 check the data without saving, and puts the employee number Unit4 issues back on the candidate in Recruitee.
What the integration does
Organisations that manage staff, finance and projects in Unit4 and recruit in Recruitee retype every hire into Unit4. Only then can the approval workflow in Unit4 start, and recruiters do not know which employee number the new hire received. A typing error leads to an employee who can only be terminated in Unit4.
- The recruiter moves the candidate in Recruitee to the stage for hired candidates.
- KoppelHet fetches candidate, job and the fields of the offer form.
- Unit4 checks the new employee without saving. If anything is missing, HR gets a notice and nothing is in Unit4.
- After a successful check Unit4 creates the employee in the company of the location, with an employment on the job's position.
- The employee number from Unit4 goes into a field on the candidate in Recruitee. If approval is switched on in Unit4, the employee waits there for the approver.
What to watch for with Recruitee and Unit4 HR
- Unit4 can validate a new employee without saving, and afterwards cannot really delete an employee but only terminate them. KoppelHet therefore has every hire from Recruitee validated first, so an error in the offer form does not remain in Unit4 as a terminated employee.
- When automatic numbering is switched on in Unit4, Unit4 issues the employee number itself. KoppelHet writes that number back to a custom field on the candidate in Recruitee, so recruiters and HR see the same number without searching in Unit4.
- If the organisation has switched on approval for new employees in Unit4, Unit4 creates the employee but holds the data for an approver. KoppelHet reports this to HR as pending, not as an error, so nobody enters the hire again.
- A Unit4 environment often holds several companies, for example a foundation and a private company. Recruitee only has locations. Per location we record which Unit4 company the employee belongs to; a job without that choice stops with a notice.
- In Unit4 HR and finance share the same employee. An employment belongs to a position, and through it to a cost centre for project hours. Per job we record the position, so a new employee can book hours on the right projects from day one.
- If the start date moves later after the hire, Unit4 does not simply allow the start date of an employment to be set later. KoppelHet reports a changed start date in Recruitee to HR instead of rebuilding the employment itself.
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
Why Recruitee when Unit4 offers recruitment itself?
That is the organisation's choice. Many teams already recruit in Recruitee. The integration keeps Unit4 the source for employees.
Does salary go to Unit4?
Not in the first version. HR records grading and salary in Unit4. Taking it from the offer can come later as an extension.
What if a location has no Unit4 company?
Then the integration stops with a notice and nothing is in Unit4. After a line in the table the hire goes through.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Recruitee through the candidate_moved webhook (only stages with the hire category) and the ATS API (candidate with profile fields, placement_locations and custom fields of the offer form). The employee number goes back through the custom fields endpoints on the candidate. API token of a separate integration user.
- 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). Without personId and with automatic numbering (RESNO) Unit4 returns the personId (201); with an active workflow 202 follows with the fields awaiting approval. A duplicate personId returns 409.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Recruitee | Field in Unit4 HR | Notes |
|---|---|---|
id (kandidaat) | Vrij veld in Unit4 | Recognises a second notification for the same candidate |
Vestiging van de vacature (placement_locations) | companyId | Through a table per location |
name | nameInformation (firstName, surname) | Recruitee has one name field; we split it and keep name prefixes separate |
emails[0] en address | contactPoints | Single-line address split into street, house number, postcode and city |
Startdatum (aanbiedingsformulier) | employments (startDate) en dateFrom | |
Vacature (afdeling en functie) | employments (positionId) | Position recorded per job |
Soort dienstverband (aanbiedingsformulier) | personnelType | |
personId (antwoord van Unit4) | Eigen veld personeelsnummer in Recruitee |
Related
Recruitee → ADP Workforce Now
Recruitee to ADP Workforce Now integration: hired candidates as an in-progress hire
Recruitee → AFAS Profit
Recruitee to AFAS integration: from hired candidate to new employee
Recruitee → AlexisHR
Recruitee to AlexisHR integration: hired candidates as employees in Simployer One
Recruitee → BambooHR
Recruitee to BambooHR integration: hired candidates in BambooHR without clicking and retyping