Sympa logoPayFit logo

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.

  1. HR records the starter in Sympa in the French entity; the rows are approved.
  2. KoppelHet reads the Sympa interface for France in one request and creates a collaborator and a contract in PayFit for every new employee.
  3. Payroll completes the contract in PayFit and runs payroll; changes from Sympa are on a worklist.
  4. After the payroll run KoppelHet fetches the payslips from PayFit.
  5. KoppelHet creates a new table row in Sympa per payslip with the pdf attached.
Sympa → KoppelHet → PayFitSOURCESympaTARGETPayFitKoppelHetmapping · logging · monitoringSympa → KoppelHet → PayFitSOURCESympaTARGETPayFitKoppelHetmapping · logging · monitoring
Out: Approved French starters as a collaborator with a basic contract · Worklist with contract and salary changes · Payslips as pdf on a table row in Sympa

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, 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

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 SympaField in PayFitNotes
Uniek kenmerk van de datacard (personeelsnummer)Bij KoppelHet gekoppeld aan het PayFit collaboratorId
Voornaam, achternaam, privé-e-mail, adresfirstName, lastName, personalEmail, personalAddress
Sofinummer (Frans, 15 tekens)socialSecurityNumber
Contractregel: startdatum en functieContract startDate en jobTitle
PayFit-loonstrook (pdf)Nieuwe tabelregel met pdf-bijlage in Sympa

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.