Payroll integration
Sympa to PayFit integration: French starters from Sympa in PayFit, payslips back as pdf in Sympa
An integration between Sympa and PayFit prepares an approved new employee of the French entity from Sympa as a collaborator with a basic contract in PayFit. After every payroll run KoppelHet puts the PayFit payslips back as a pdf on a table row in Sympa; the PayFit API cannot write later contract changes, so those go on a worklist.
What the integration does
Organisations that manage HR in Sympa and have French payroll calculated in PayFit enter a starter twice, and employees look for their payslip in Sympa while it only sits in PayFit.
- HR records the starter in Sympa in the French entity; the rows are approved.
- KoppelHet reads the Sympa interface for France in one request and creates a collaborator and a contract in PayFit for every new employee.
- Payroll completes the contract in PayFit and runs payroll; changes from Sympa are on a worklist.
- After the payroll run KoppelHet fetches the payslips from PayFit.
- KoppelHet creates a new table row in Sympa per payslip with the pdf attached.
What to watch for with Sympa and PayFit
- A Sympa interface allows a hundred requests per hour by default, shared between reading and writing. KoppelHet therefore reads all French employees in one request with $expand instead of per employee, and spreads the return of payslips over several hours when needed.
- Table rows in Sympa have an approval status, where 5 means approved. KoppelHet only creates a collaborator in PayFit for a starter with approved rows, so a draft never ends up as an employee in French payroll.
- In the Sympa API attachments can only be written as pdf, only on a table row, and only when creating that row, up to about 30 MB per request. KoppelHet therefore creates a new row in a fixed table per payslip instead of adding to an existing row.
- What KoppelHet writes to Sympa can only be seen through a GET after a short delay, usually within a minute and sometimes up to thirty minutes. KoppelHet therefore does not check a returned payslip immediately, but at the next read.
- Through the API PayFit can create a collaborator and a contract, but only for French companies and without changing existing contracts. KoppelHet puts salary and job changes from Sympa on a worklist for payroll.
- The French social security number has fifteen characters at PayFit. KoppelHet only sends the number from Sympa if it has that length; otherwise payroll fills it in PayFit.
- Rows with a validity period can be requested in Sympa with since and until. KoppelHet requests starters with a start date in the coming weeks, so payroll can complete the contract in PayFit in time.
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
Do we need to raise Sympa's API limit?
Usually not. With many payslips at once it can help; Sympa raises the limit on request.
Does leave go to PayFit too?
Not in the first version. Approved absence to 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.
- Sympa through the Sympa Integration API (OData v4, api.sympahr.net) on its own interface with X-ApiKey, opened for GET and POST - $filter on entity, $expand on tables with $filter=Approval eq 5, since and until, and POST api/{interface}({id})/{table} with a pdf attachment. By default a hundred requests per hour per interface.
- PayFit through partner-api.payfit.com - POST /companies/{companyId}/collaborators and POST /companies/{companyId}/collaborators/{collaboratorId}/contracts (France only, 201 without data, available after two to five minutes); payslips with GET /companies/{companyId}/collaborators/{collaboratorId}/payslips.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Sympa | Field in PayFit | Notes |
|---|---|---|
Uniek kenmerk van de datacard (personeelsnummer) | Bij KoppelHet gekoppeld aan het PayFit collaboratorId | |
Voornaam, achternaam, privé-e-mail, adres | firstName, lastName, personalEmail, personalAddress | |
Sofinummer (Frans, 15 tekens) | socialSecurityNumber | |
Contractregel: startdatum en functie | Contract startDate en jobTitle | |
PayFit-loonstrook (pdf) | Nieuwe tabelregel met pdf-bijlage in Sympa |
Related
Greenhouse → Sympa
Greenhouse to Sympa integration: hired candidate as a data card with contract row in Sympa
Recruitee → Sympa
Recruitee to Sympa integration: hired candidates as a data card in Sympa
SmartRecruiters → Sympa
SmartRecruiters to Sympa integration: ready to onboard becomes a data card in Sympa
Sympa → 4PS Construct
Sympa to 4PS Construct integration: fitters of the Dutch employer from Sympa in 4PS, with cost centre as a dimension