FaPayFit logo

Payroll integration

Factorial to PayFit integration: French starters from Factorial in PayFit, payslips back in Factorial

An integration between Factorial and PayFit prepares a new hire of the French entity from Factorial as a collaborator with a basic contract in PayFit, and after every payroll run puts the PayFit payslips back in the Payslip folder in Factorial. The PayFit API cannot write later contract changes; KoppelHet reports those as a worklist for payroll.

What the integration does

Organisations that run HR in Factorial and have French payroll calculated in PayFit enter every starter twice. Factorial has its own framework for external payroll, but no PayFit integration, and employees look for their payslip in Factorial while it only sits in PayFit.

  1. HR creates the employee in Factorial, in the French legal entity, and syncs.
  2. KoppelHet receives the new_hire sync item, reads the employee and reference contract and creates the collaborator and then the contract in PayFit.
  3. Payroll completes the contract in PayFit, including working time and health insurance, and runs payroll.
  4. Contract changes and personal changes from Factorial appear on a worklist for payroll and are reported as processed in Factorial.
  5. After the payroll run KoppelHet fetches the payslips and puts them in the employee's Payslip folder in Factorial.
Factorial → KoppelHet → PayFitSOURCEFactorialFactorialTARGETPayFitKoppelHetmapping · logging · monitoringFactorial → KoppelHet → PayFitSOURCEFactorialFactorialTARGETPayFitKoppelHetmapping · logging · monitoring
Out: New French employees as a collaborator with a basic contract · Worklist with contract and personal changes · Payslips back as a document in Factorial

What to watch for with Factorial and PayFit

  • Factorial delivers payroll changes as separate sync items per kind, such as new_hire, termination, contract_change and one per kind of personal change. Through its API PayFit can only create a collaborator and a contract; KoppelHet therefore processes new_hire and puts the other kinds on a worklist for payroll.
  • For now PayFit only allows contract creation through the API for French companies. KoppelHet determines the country through the legal entity in Factorial, and only processes starters of the French entity.
  • Factorial provides country-specific statutory numbers through a separate endpoint, but only for Portugal, Italy and Germany. KoppelHet only sends the French social security number, fifteen characters at PayFit, if it is complete in Factorial; otherwise payroll fills it in PayFit.
  • PayFit creates a contract without returning any data, and the contract only becomes available after two to five minutes. KoppelHet only reports the sync item in Factorial as processed once the contract can be found in PayFit.
  • PayFit strongly advises against starting several contracts at once. If HR syncs the same starter twice, KoppelHet creates no second contract while the first is still being set up.
  • Factorial expects payslips from external payroll as one document per employee in their Payslip folder, and a correction replaces the existing document. KoppelHet fetches the payslips per collaborator from PayFit and replaces the document after a recalculation instead of adding a second one.
  • PayFit stores the personal email address and Factorial mainly the work address. KoppelHet therefore links the two on the collaborator ID created at setup, not on email.

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

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 does a pay rise not go to PayFit automatically?

The PayFit API cannot change an existing contract. Payroll processes the change in PayFit from the worklist.

Does leave go along too?

Not in the first version. Factorial supplies approved leave with the French count of congés payés and RTT; putting that into PayFit can follow 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.

  • Factorial through the integrations framework of the Factorial API (version 2026-10-01) with OAuth 2.0 - sync items employee_updates/new_hire, termination and contract_change; employees, reference contracts, legal entities, payroll employee identifiers and job catalog tree nodes. Back through documents/folders and POST documents/documents (Payslip folder), PUT on a correction.
  • PayFit through partner-api.payfit.com - POST /companies/{companyId}/collaborators (firstName, lastName, personalEmail, personalAddress, socialSecurityNumber) and POST /companies/{companyId}/collaborators/{collaboratorId}/contracts (jobTitle, startDate; France only, 201 without data). Payslips with GET /companies/{companyId}/collaborators/{collaboratorId}/payslips (scope contracts:payslips:read) and the payslipUrl per payslip.

Which fields are transferred

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

Field in FactorialField in PayFitNotes
Factorial employee idPayFit collaboratorIdStored by KoppelHet; not matched on email
Voornaam, achternaam, privé-e-mailfirstName, lastName, personalEmail
AdrespersonalAddress (streetNumber, addressFirstLine, city, postCode, country)
Referentiecontract: startdatumContract startDate
Functie uit de job catalogContract jobTitle
PayFit-loonstrookDocument in de map Payslip in FactorialReturn path by KoppelHet

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.