DyLoket logo

Leave, absence and time

Dyflexis to Loket integration: payroll hours and allowances per pay component, employees back

With an integration between Dyflexis and Loket, the hours and allowances of a locked payroll period in Dyflexis go automatically to the right employment in Loket as variable changes. New employees, contract hours and end dates from Loket come back into Dyflexis, so scheduling works with the same data payroll uses.

What the integration does

Employers that schedule in Dyflexis and run payroll in Loket through an accounting firm lock the period per location. With several employers the firm then works out which hours belong to which employer, and a correction after reopening a period sometimes puts double hours on the payslip.

  1. HR or the accounting firm records a new employee with employment and working hours in Loket.
  2. KoppelHet places the employee in Dyflexis with contract, site and contract hours. An administrator links them to a Dyflexis employee there the first time.
  3. The planner approves the hours, locks the period and sends it for payroll.
  4. KoppelHet fetches the hours per day, translates each item into a Loket pay component and books them on the right employment and employer.
  5. In Dyflexis the planner sees per period whether Loket accepted everything. Rejected lines are in the platform with a reason.
Dyflexis → KoppelHet → LoketSOURCEDyflexisDyflexisTARGETLoketKoppelHetmapping · logging · monitoringDyflexis → KoppelHet → LoketSOURCEDyflexisDyflexisTARGETLoketKoppelHetmapping · logging · monitoring
Out: Worked hours per day and per pay component · Allowances and expenses from the locked period · Cost centre per line · Employee and employment (back to Dyflexis) · Contract hours and end date (back to Dyflexis)
Back: New employees with employment · Contract hours per week from working hours · Employment end date

What to watch for with Dyflexis and Loket

  • Dyflexis delivers hours per combination of site, contract type group and period. If a contract changes mid-period, the same employee appears more than once. Loket books per employment. KoppelHet adds the lines up per employment, so they reach the right payslip.
  • Dyflexis gives every part of the hours its own name, such as worked hours or a 150 percent allowance, set in the columns of the timesheet. Loket recognises a pay component by the number payroll professionals know by heart. We agree the translation from name to number with payroll before the first run.
  • If the planner reopens a locked period and locks it again, the period gets a new identifier in Dyflexis. Loket overwrites the value of a pay component when the same period and cost centre already exist, instead of adding a line. KoppelHet therefore always sends the full total for the period, so a correction does not double the hours.
  • Dyflexis keeps the working days separate from the payroll period in which the hours must be paid. Hours from the last week of December can therefore be paid in January. KoppelHet books on the payroll period Dyflexis specifies, not on the date of the shift.
  • One Loket environment can contain several employers, and the same employee number can exist at two employers. Dyflexis passes an employer reference per employee. KoppelHet uses it to choose the employer, so hours from site A do not end up under employer B.
  • Loket recommends fetching an employment's default values, such as cost centre and shift, before supplying period data. KoppelHet does this per employment. Hours therefore land on the cost centre and shift payroll has set up, unless Dyflexis supplies a different cost centre.
  • Dyflexis shows a status per sent period on its payroll page, from in progress to success, failed or partial. KoppelHet sets that status after every delivery to Loket, so the planner sees in Dyflexis whether the period arrived without calling the accounting firm.

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 · Basic

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

Dyflexis has its own payroll integration with Loket. Why would we use KoppelHet?

Often it is enough. Choose KoppelHet when your Loket environment has several employers, when hours must land on varying cost centres or when you want to see per employee what was booked and what was not.

What happens if the planner reopens a period?

After locking again the period is ready once more. KoppelHet sends the new total, and Loket overwrites the earlier values for the same period. If the payroll run for that period has already been done, payroll gets an alert.

Do leave balances from Loket also go to Dyflexis?

Loket can supply leave balances, but the public Dyflexis API has no entry point for leave or balances. That is why it is not part of the integration. If that entry point arrives, it can be added 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.

  • Dyflexis reports a sent period through the Payroll period ready webhook or the queue GET /api2/payroll/queue/from/{lastQueueId} (at most 10 items per call; the consumer tracks which queueId has been processed). Hours come from GET /api/payroll/v3/hours-per-day/{officeUrl}/{contractTypeGroupName}/{period}, with personnelNumber, employerReferenceId and costCenter per employee and components per day (for example work, break, Allowance.150). The status goes back through POST /api2/payroll/queue/{queueId}/status (in progress, success, failed, partial). Scopes payroll and payroll_hours; token in the Authorization header with the Token prefix.
  • Loket is written through the Loket REST API with OAuth (authorization code flow) using PATCH /v2/providers/employers/employees/employments/{employmentId}/payrollperioddata, the REST successor to ImporteerGegevens (Variabele Gegevens). A record is unique on payrollPeriod, shift, payslipType, distributionUnit, costCenter and costUnit; supplied payrollComponents overwrite existing values, others stay as they are. Defaults through /defaults. Loket allows at most 15 shifts per payroll administration.
  • Employees go to Dyflexis through POST /api2/external-employees/{employeeReference} and /contracts (upsert on employeeReference and contractReference, scope external_employees). A new employee is first an external employee that an administrator links in Dyflexis.

Which fields are transferred

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

Field in DyflexisField in LoketNotes
personnelNumberemployeeNumber (via het dienstverband)The Loket employee number is the key in both directions
employerReferenceIdWerkgever (employerId)Decides which Loket employer the hours land under
period.targetYear en targetPeriodpayrollPeriod.year en periodNumber
components (bijvoorbeeld work, Allowance.150)payrollComponents (key en value)Through a translation table approved by payroll
costCentercostCenter van de periodegegevensOtherwise the employment's default cost centre
Loket firstName, prefix, lastName (terug)firstName, lastNamePrefix, lastName
Loket begin- en einddatum dienstverband (terug)employmentStart en employmentEnd
Loket averageHoursPerWeek (terug)hours van het Dyflexis-contract

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.