Recruitee logoFa

Recruitment to HR

Recruitee to Factorial integration: hired candidates with a contract in Factorial

With an integration between Recruitee and Factorial, a candidate hired in Recruitee automatically appears as an employee with a contract in Factorial, with entity, team, location, start date, part-time percentage and probation. HR then sends the invitation from Factorial, and nobody retypes the offer any more.

What the integration does

Organisations that have Factorial as HR system and recruit in Recruitee instead of Factorial's recruiting module create every new colleague in Factorial by hand. Contract hours, probation and salary only reach Factorial once HR gets round to it, while leave and time tracking are already waiting for them.

  1. KoppelHet fetches the entities, teams and locations from Factorial daily, so the offer maps to existing values.
  2. The recruiter marks the candidate as hired in Recruitee.
  3. The new colleague appears in Factorial with the first contract, including part-time percentage and end of probation.
  4. The salary from the offer is added as compensation on that contract.
  5. HR checks the employee and sends the invitation; the new colleague can then log in to Factorial.
Recruitee → KoppelHet → FactorialSOURCERecruiteeTARGETFactorialFactorialKoppelHetmapping · logging · monitoringRecruitee → KoppelHet → FactorialSOURCERecruiteeTARGETFactorialFactorialKoppelHetmapping · logging · monitoring
Out: Hired candidate with personal data · Employee with first contract in Factorial · Entity, team and location · Part-time percentage and probation · Salary as compensation on the contract

What to watch for with Recruitee and Factorial

  • Factorial expects the email address the new employee will log in with, not a private address. Recruitee only knows the candidate's private address, so the work address is decided in advance and stored as a profile field in Recruitee.
  • Factorial creates the employee and the first contract in one call. Contract start, part-time and probation do not need to be added by HR afterwards.
  • Part-time is stored in Factorial as a percentage of the full-time week, not as hours. KoppelHet converts the hours from the offer using the full-time week that applies per entity.
  • A new employee created through the API is not yet confirmed and only gets access after a separate invitation. HR thus decides when the new colleague can get into Factorial.
  • Factorial uses dated API versions, for example 2026-10-01. KoppelHet tests a new version first, so a change at Factorial does not halt the hires.
  • Factorial expects nationality and country as two-letter country codes. Recruitee address fields are free text, so KoppelHet translates them, or leaves them empty for the employee to fill in.

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

Why not use Factorial's recruiting module?

That is an option. If you keep recruiting in Recruitee, vacancies and pipelines stay there; the integration only starts at the hire.

Does Factorial run Dutch payroll?

No. Factorial supplies the data to a Dutch payroll such as Nmbrs or AFAS; that is a separate integration.

What if the candidate worked for us before?

KoppelHet then creates no new employee. The return goes to HR as a task, and HR adds the contract in Factorial.

Technical details for IT

For those who want to know how it works under the hood: APIs, fields and sources used.

  • Recruitee is read through the signed candidate_moved webhook to a stage with the hire category (X-Recruitee-Signature header) and the ATS API for candidate, offer and profile fields.
  • To Factorial through API version 2026-10-01, POST /resources/employees/employees/create_with_contract (required company_id, first_name, last_name, email; also legal_entity_id, location_id, team_id, contract_starts_on, contract_effective_on, contracts_working_time_percentage_in_cents, has_trial_period, trial_period_ends_on). Salary through POST /resources/contracts/compensations; invitation through employees/invite by HR.
  • Authentication with OAuth 2.0 or an administrator API key.

Which fields are transferred

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

Field in RecruiteeField in FactorialNotes
namefirst_name, last_nameWe split the single Recruitee name field
Zakelijk e-mailadres (profielveld)emailFactorial wants the login address here, not the private one
phones[0]phone_number
Startdatum (profielveld)contract_starts_on en contract_effective_on
Vacature of plaatsingslocatielegal_entity_id en company_id
placement_locations[0]location_id
offer.departmentteam_idThrough the list of teams from Factorial
Uren per week (profielveld)contracts_working_time_percentage_in_centsConverted to a percentage of the full-time week
Einde proeftijd (profielveld)has_trial_period en trial_period_ends_on
Profielveld salary (amount, currency)Compensation op het contract

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.