Sympa logoLoket logo

Payroll integration

Sympa to Loket integration: approved HR data from Sympa to Dutch payroll

With an integration between Sympa and Loket, new employees, contract rows, hours, salary, address and bank account of the Dutch entity flow from Sympa to Loket, but only once the row is approved in Sympa. A new employee arrives as a concept employee, and an end date in Sympa ends the employment in Loket.

What the integration does

Organisations that use Sympa as HR system and have their Dutch payroll processing in Loket, often through a payroll bureau, now pass on changes as an export from Sympa. That puts manual work between every approval and the payroll run.

  1. The Sympa administrator opens an interface with only the fields and tables Loket needs.
  2. KoppelHet queries the changed, approved rows for the Dutch entity a few times a day.
  3. A new employee becomes a concept employee in Loket; changes go to the existing employment with their effective date.
  4. The payroll bureau completes the Dutch payroll data and converts the concept.
  5. Before the cut-off KoppelHet compares the valid rows in Sympa with Loket and reports differences.
Sympa → KoppelHet → LoketSOURCESympaTARGETLoketKoppelHetmapping · logging · monitoringSympa → KoppelHet → LoketSOURCESympaTARGETLoketKoppelHetmapping · logging · monitoring
Out: Concept employee with personal details · Contract row with start and end date · Weekly hours and salary · Address and bank account · End of employment

What to watch for with Sympa and Loket

  • Sympa returns an approval status with every table row, from waiting for approval to declined and approved. KoppelHet only takes approved rows, so a salary proposal still waiting with the manager does not end up in the payroll run.
  • An interface in Sympa may make a hundred requests per hour by default, for all kinds together. KoppelHet therefore queries changed rows in batches and filters inside Sympa, instead of querying per employee.
  • Tables with validity in Sympa can be queried per period or per reference date. KoppelHet queries the rows valid in the Loket payroll period, so a retroactive pay rise falls in the right period.
  • If Sympa serves several countries, KoppelHet filters on the Dutch entity in the request. Each Dutch BV goes to its own employer in Loket.
  • Loket sets a termination on the last working day and adjusts pay, hours and absence with it. KoppelHet therefore uses the end date of the contract row in Sympa, not the date on which the termination was entered.
  • Sympa shows the ten most recent requests with errors in the API panel. KoppelHet requests error information too, so an invalid value in Sympa reaches HR as an alert instead of an empty row in Loket.

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

What if a hundred requests per hour are not enough?

According to Sympa the limit can be raised through the contact person. It is usually not needed, because KoppelHet works in batches.

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.

  • Sympa through the Sympa Integration API (OData v4, api.sympahr.net) on its own interface with X-ApiKey - $filter on modified and entity, $expand on tables with $filter=Approval eq 5, since and until for rows with validity, errordata=true for error information and $top and $skip for batches. By default a hundred requests per hour per interface.
  • To Loket through the Loket REST API with OAuth - POST conceptemployees (employeeData with iban, employmentData, workingHoursData, wageData), wages and workinghours per employment, PATCH terminate with the last working day.

Which fields are transferred

The key fields. The full mapping is agreed per customer.

Field in SympaField in LoketNotes
Personeelsnummer (datakaart)PersoneelsnummerFixed key
Voornamen en achternaamVoornaam, voorvoegsel en achternaam
Entiteit (datakaart)WerkgeverOnly the Dutch entity
Contractregel begindatumBegindatum dienstverband
Uren per week (contractregel)Afwijkende uren per week (workingHoursData)
SalarisregelBrutoloon (wageData)With the row's effective date
AdresAdres
BankrekeningIBAN
Contractregel einddatumEinde dienstverband (terminate)

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.