
Payroll integration
Factorial to Loket integration: changes to payroll, payroll results back in Factorial
With an integration between Factorial and Loket, new employees, contract changes, address and bank changes and terminations of the Dutch entity flow from Factorial to Loket automatically, as a concept employee or as a change on the employment. After the payroll run KoppelHet puts the outcomes from Loket, such as net pay, back into Factorial's payroll run.
What the integration does
Organisations that run HR in Factorial and have Dutch payroll processing in Loket, often through a payroll bureau, now pass on changes as an export or email. Afterwards the payroll outcomes only sit in Loket, while HR and finance look for them in Factorial.
- HR records a hire, a new contract version, an address or bank change or a termination in Factorial.
- KoppelHet receives the webhook and fetches the change, only for the Dutch legal entity.
- A hire becomes a concept employee in Loket; other changes go to the existing employment.
- The payroll bureau checks, completes and runs payroll in Loket.
- KoppelHet reads the outcomes per employee from Loket and puts them in Factorial's payroll run in one go.
What to watch for with Factorial and Loket
- Factorial keeps a list of employee updates with types such as hiring, contract, address, bank, termination and legal_entity. KoppelHet filters that list on the Dutch legal entity and only takes types that affect Loket; Spanish types such as irpf are left out.
- Factorial can reverse a termination, and reports it with a separate webhook. Loket has a reinstate action on the employment for that, so KoppelHet reverses a withdrawn termination in Loket too.
- Factorial accepts payroll results from an external payroll provider in the payroll run. KoppelHet fills them after every completed payroll run in Loket, so gross, deductions and net are visible in Factorial.
- Factorial only accepts those payroll results all at once. If one employee or pay concept is wrong, nothing is written; KoppelHet removes the employees named, reports them to HR and resends the rest.
- Every payroll result in Factorial must include the net pay concept, and amounts go in cents. KoppelHet translates the pay components from Loket to the concepts in Factorial with a table the payroll bureau and HR agree on together.
- Factorial retries a failed webhook up to twenty times within 48 hours and then disables the subscription. KoppelHet monitors the subscriptions and compares the updates with Loket before every cut-off, so no change is missing.
- A new employee arrives in Loket as a concept and can first be validated only. KoppelHet uses that check to report missing data before the payroll bureau converts the concept.
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
Does Factorial run Dutch payroll itself?
No. Factorial prepares the data; the calculation and tax filing happen in Loket.
Do the payroll results have to go back to Factorial?
No, that is optional. Start with the changes to Loket; the way back can come later as an extension.
Does this work if a payroll bureau manages Loket for us?
Yes. The bureau gives the integration access to your employer in Loket.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Factorial through the Factorial API (version 2026-10-01 in the path) with OAuth 2.0 - GET resources/employee_updates/summaries with legal_entities_ids[], type[] and starts_on; contract versions and compensations; webhooks for Employee Create with contracts, Updates, Terminates and Unterminates and ContractVersion Creates and Updates. Back through POST resources/compensations/payroll_results/bulk_create (payroll_run_id; per employee_id items with payroll_concept_id and amount in cents; at most 1,000 amounts per request).
- Loket through the Loket REST API with OAuth - conceptemployees (employeeData with iban, employmentData, workingHoursData, wageData), convertToEmployee with header X-ValidateOnly for validation only, wages and workinghours per employment, PATCH terminate and reinstate, and payslips or wage sheets per payroll run to read the outcomes.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Factorial | Field in Loket | Notes |
|---|---|---|
Factorial employee id | Personeelsnummer of vrij veld | Fixed key |
legal_entity_id | Werkgever | Only the Dutch entity |
Update hiring met starts_on | Conceptwerknemer met begindatum | |
Contractversie (uren, salaris) | workingHoursData en wageData | |
Update address | Adres | |
Update bank | IBAN | |
Webhook Terminates | Einde dienstverband (terminate) | |
Webhook Unterminates | Herstel dienstverband (reinstate) | |
Loket loonstrook per periode | Payroll result per concept | Amount in cents, including net_pay |
Related
Factorial → 4PS Construct
Factorial to 4PS Construct integration: fitters and site managers with their cost centre as a dimension in 4PS
Factorial → Active Directory
Factorial to Active Directory integration: domain accounts from Factorial
Factorial → ADP iHCM
Factorial to ADP iHCM integration: contract versions and terminations of the Dutch entity to ADP
Factorial → AFAS Profit
Factorial to AFAS integration: employees and contracts from Factorial in AFAS Profit Payroll