Loket logoPower BI logo

HR data to BI

Loket to Power BI integration: payroll costs, FTE and absence per employer and department, including retroactive corrections

With an integration between Loket and Power BI, payroll results, FTE, employments and absence from Loket sit per employer and department in a fixed data model that Power BI refreshes after every payroll run. Retroactive corrections are included in the period they belong to, so the figures in Power BI match Loket.

What the integration does

Employers and payroll bureaus that process salaries in Loket often line up Loket exports in Excel for management information on payroll costs, headcount and absence. A retroactive correction changes the figures of an earlier month, and the export from then no longer matches.

  1. Someone with rights on the employers gives the integration read access in Loket once.
  2. After a payroll run KoppelHet fetches the payroll results, including earlier periods changed by the run.
  3. Every day KoppelHet fetches employments, working hours and absence per employer.
  4. After fetching, KoppelHet starts the refresh of the Power BI model.
  5. Managers see only their own employer or department in Power BI.
Loket → KoppelHet → Power BISOURCELoketTARGETPower BIKoppelHetmapping · logging · monitoringLoket → KoppelHet → Power BISOURCELoketTARGETPower BIKoppelHetmapping · logging · monitoring
Out: Payroll results per employment and period · FTE, department and job per period · Employments with start and end date · Working hours, including on-call and min-max contracts · Absence with incapacity percentage

What to watch for with Loket and Power BI

  • A payroll run in Loket can contain payroll results for an earlier period, for example a correction in July for January. Loket can give the current state per period. After every run KoppelHet fetches the changed earlier periods again, so January's payroll costs in Power BI are right after the correction.
  • With the payroll results per employment Loket also supplies department, job, gross pay, employer costs and FTE. Payroll costs and headcount per department therefore come from the same source as the payslip, without the model having to calculate them.
  • When requesting payroll results Loket can filter on pay components or a fixed set of components. KoppelHet only requests the components the report needs, so for example net pay and deductions per person do not end up in Power BI.
  • For on-call workers and min-max contracts Loket can record an average number of hours per week that does not affect the payroll calculation. The model uses that average alongside the contract hours, so flexible employees do not count as zero hours in headcount.
  • Loket records for each absence progress the percentage for which someone is unfit for work. KoppelHet calculates absence pro rata to that percentage, so someone who is half sick does not count as full absence in Power BI.
  • Employee numbers in Loket are per employer. In the model the key is employer plus number, so a group with several employers in one Loket environment can report per employer and for the whole.
  • Loket versions the shape of its responses per resource, and an old version expires about six months after a new one. KoppelHet requests a fixed version and switches deliberately, so a column in the Power BI model does not change name or meaning unnoticed.

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

Why not load the Loket export into Power BI?

An export is a snapshot. After a retroactive correction it is no longer right. The integration fetches the current state per period and keeps history.

Does this work for a payroll bureau with many employers?

Yes. Per employer we record who sees the reporting. A separate report per end client can come later as an extension.

What about the GDPR?

You are the controller and KoppelHet is the processor. Citizen service number, addresses and bank details do not go into the model.

Technical details for IT

For those who want to know how it works under the hood: APIs, fields and sources used.

  • Loket through REST API v2 with OAuth 2.0 (authorization code with refresh token) and read rights only. Payroll results through GetPayrollPeriodResultsByPayrollAdministrationIdAndPayrollPeriodId (current state per period, with payrollComponents or payrollComponentSet) and GetPayrollResultsByPayrollRunId; employments and working hours per employer (averageHoursPerWeek, isOnCallEmployment); absence through GetCalendarAbsencesByEmployerId and GetAbsenceByAbsenceId (incapacityPercentage). Resource version in the Accept header; paging with pageNumber and pageSize.
  • Power BI semantic model in import mode on a database KoppelHet fills, refreshed through the Power BI REST API after every payroll run and daily. Shared capacity - eight scheduled refreshes a day; Premium, PPU or Fabric - 48. Row-level security per employer or department, viewers only.

Which fields are transferred

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

Field in LoketField in Power BINotes
Werkgever + personeelsnummerMedewerkersleutelEmployee numbers are per employer
Loonresultaten per periode (bruto, werkgeverslasten, fte)Tabel loonkosten per periode
Afdeling en functie bij het loonresultaatDimensies afdeling en functie
Dienstverband (begin, einde, oproepkracht)Tabel dienstverbanden
Werkuren (gemiddeld per week, werkpatroon)Tabel uren
Verzuim met percentage arbeidsongeschiktTabel verzuimPartial absence counts pro rata

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.