Payroll integration
Sage People to PayFit integration: French starters via Payflow to PayFit, payslips back in WX
An integration between Sage People and PayFit prepares new employees of the French entity from a Sage People Payflow export as a collaborator with a basic contract in PayFit. After every payroll run the PayFit payslips go back to Sage People through inbound Payflow, where employees see them in WX.
What the integration does
Organisations that use Sage People as their global HR system and have French payroll calculated in PayFit enter starters twice. Employees expect their payslip in WX, but it only sits in PayFit.
- HR records the French starter in Sage People; a Payflow service selecting on country puts the batch on the SFTP server.
- KoppelHet fetches the batch and creates a collaborator and then a contract in PayFit for every new employee.
- Payroll completes the contract in PayFit and runs payroll; changes from the batch are on a worklist.
- After the payroll run KoppelHet fetches the payslips and puts first the pdfs and then one csv in the SFTP folder for inbound Payflow.
- Sage People attaches every payslip to the right team member; employees see it in WX.
What to watch for with Sage People and PayFit
- A Payflow service selects team members on a field, such as country. KoppelHet keeps that selection on France, because through the API PayFit can only create a contract for French companies.
- With the right setting Payflow only includes salaries that start in or before the period. That keeps a starter who begins next month out of the current run; KoppelHet does create the collaborator, but with a contract on the real start date.
- The PayFit API can create a collaborator and a contract, but cannot change an existing contract. KoppelHet therefore puts salary and job changes from the Payflow batch on a worklist that payroll works through in PayFit.
- Payflow deletes old batches after a configurable number of days, and at zero only the latest remains. KoppelHet fetches every batch before it disappears, so no French starter drops out between two runs.
- Inbound Payflow wants one pdf per payslip without zip, and one csv per payroll run that may only arrive after all pdfs, because the csv starts the import. KoppelHet delivers in that order, so no payslip is missing.
- With only Employee Number and file name WX only shows a created date. KoppelHet also puts the period and pay date from PayFit in the csv, so employees see in WX which month a payslip belongs to.
- A new PayFit contract only becomes available after two to five minutes, and PayFit advises against starting several contracts at once. If a starter appears in two consecutive batches, KoppelHet creates no second contract.
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 not through the Sage People API?
Payflow is the intended route for pay data in Sage People and already knows the period logic. The API can follow later as an extension, for example for faster notifications.
Does this also work for Spain?
Not fully yet. Through the API PayFit only creates contracts for France; for Spain the integration currently only creates the collaborator.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Sage People Payflow (outbound) with Team Member Select Field on country, Salary Select Dates, Team Member Include Period Back, UTF-8, Batch Start Cron Command, Delete Batch After Days and Managed File Transfer via SFTP. Back through inbound Payflow - pdfs per payslip and then one csv per run with Employee Number, file name, Period and Pay Date.
- PayFit through partner-api.payfit.com - POST /companies/{companyId}/collaborators 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).
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Sage People | Field in PayFit | Notes |
|---|---|---|
Team member Employee Number | Bij KoppelHet gekoppeld aan het PayFit collaboratorId | |
Voornaam, achternaam, privé-e-mail, adres | firstName, lastName, personalEmail, personalAddress | |
Employment start date | Contract startDate | |
Job title | Contract jobTitle | |
PayFit-loonstrook (pdf) | Inbound Payflow-csv met Employee Number en bestandsnaam | Plus period and pay date for WX |
Related
Sage People → Active Directory
Sage People to Active Directory integration: domain accounts for the Dutch office
Sage People → ADP iHCM
Sage People to ADP iHCM integration: salary records, bonuses and leavers of the Dutch payroll company to ADP
Sage People → AFAS Profit
Sage People to AFAS integration: Dutch employees and salaries from Sage People in AFAS Profit
Sage People → Arbodienst (SIVI)
Sage People to the occupational health service via SIVI: absence records as absence reports