Payroll integration
Factorial to Sage Payroll integration: UK starters and pay elements from Factorial as a Sage 50 import
An integration between Factorial and Sage Payroll prepares new UK employees, changes and leavers from Factorial as an Employee Details file for Sage 50 Payroll, and the period's pay elements as a second file. Sage 50 Payroll has no API, so payroll starts the import; nobody retypes Factorial data anymore.
What the integration does
Organisations with HR in Factorial and a UK entity that stays on Sage 50 Payroll pass starters, contract changes and bonuses to payroll every month. Factorial tracks those changes per kind, but without an integration they are entered again in Sage.
- HR records a starter, contract change, leaver or pay element in Factorial for the UK entity and syncs.
- KoppelHet receives the sync items, reads the employee, contract version and entity and converts them to the Employee Details template.
- Before the cut-off KoppelHet turns the period's pay elements into a file for Employee Payments (Hours and Rates).
- Payroll takes a backup and loads both files into Sage 50 Payroll.
- KoppelHet reports the sync items in Factorial as processed; rejected lines appear on a list for HR.
What to watch for with Factorial and Sage Payroll
- Factorial delivers changes for external payroll as sync items per kind, such as new_hire, contract_change, termination and a separate kind per personal change. KoppelHet only takes the kinds Sage 50 Payroll can load and then reports each item as processed, so HR sees in Factorial what is already in Sage.
- Amounts from Factorial are integers, in cents for money and in minutes for time. KoppelHet converts them to pounds and hours before they go into the Sage template; a bonus of 150000 thus becomes £1,500, not £150,000.
- Pay elements for a period usually get the last day of the payroll run as their date in Factorial. KoppelHet bundles them per run into one payments file, and puts a component without a matching payment in Sage on the list for manual entry, because Hours and Rates only updates assigned payments.
- Factorial only provides statutory numbers through a separate endpoint for Portugal, Italy and Germany. The National Insurance number therefore comes from the employee profile; if it is missing, KoppelHet does not put the starter in the file but on the list.
- The RTI Payroll ID cannot be changed in Sage after the import. KoppelHet leaves it empty for new employees, so Sage creates it, and puts the Factorial ID in the Employee Reference.
- A contract change comes from Factorial as a contract version with its own effective date. KoppelHet takes the version that takes effect in the pay period and lets a version for a later period wait, so Sage does not calculate with the new salary a month early.
- Sage 50 Payroll only loads files when a user starts the import, with a backup first. KoppelHet delivers the files with the period in the name, so payroll sees which file belongs to which run.
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
Can KoppelHet load the files into Sage itself?
Only with the SDK from the paid Sage Developers Programme. Without that SDK payroll starts the import.
Do payslips go back to Factorial?
Not in the first version. Factorial has a Payslip folder per employee; putting payslips from Sage there 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, contract_change, termination and personal changes, plus compensations/compensation for the pay elements of a payroll run; employees, reference contracts, contract versions, legal entities and payroll runs. Amounts in cents, time in minutes.
- Sage 50 Payroll through File > Data Import with the CSV templates Employee Details and Employee Payments (Hours and Rates), or Advanced Data Import with a custom field mapping. Fully automatic loading requires the SDK from the paid Sage Developers Programme.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Factorial | Field in Sage Payroll | Notes |
|---|---|---|
Factorial employee id | Employee Reference | Never in the RTI Payroll ID |
Voornaam, achternaam, geboortedatum | Forename, Surname, Date of Birth | |
National Insurance-nummer uit het profiel | NI Number | |
Referentiecontract: startdatum en salaris | Start Date en regular pay in Employee Details | |
Compensatie per payroll_concept_id (bedrag in centen) | Employee Payments (Hours and Rates) | Converted to pounds or hours |
terminated_on | Leaving Date |
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