Personio logoPower BI logo

HR data to BI

Personio to Power BI integration: employees, absence and pay costs from Personio in Power BI

With an integration between Personio and Power BI, employees, employments, absence per day and compensation per month from Personio sit in a fixed Power BI model, per legal entity and cost centre. HR and finance then report in Power BI on the same figures, without merging separate Personio exports.

What the integration does

Organisations with Personio for HR and absence want to see sickness absence and labour costs per cost centre in Power BI, next to their other figures. Without an integration HR makes an export every month, and absence in hours and in days is aligned by hand.

  1. Personio administration creates API credentials with read access only and releases the required attributes.
  2. Every day KoppelHet fetches changed persons, employments and absence.
  3. Absence is broken down per day, so days and hours come together in one measure.
  4. After the end of the month the compensation for that month is added, per cost centre.
  5. KoppelHet refreshes the Power BI model; site managers see only their own site.
Personio → KoppelHet → Power BISOURCEPersonioTARGETPower BIKoppelHetmapping · logging · monitoringPersonio → KoppelHet → Power BISOURCEPersonioTARGETPower BIKoppelHetmapping · logging · monitoring
Out: Persons and employments · Absence per day, in days or hours · Compensation per month · Legal entities, cost centres, departments and teams · Workplaces

What to watch for with Personio and Power BI

  • Personio supplies compensation for at most one month per request. KoppelHet therefore builds a history of pay costs in Power BI month by month and keeps it, so a yearly overview does not have to be requested twelve times again on every refresh.
  • The base salary in Personio's compensation data is without proration for part of a month. Someone who joins or leaves mid-month appears with the full monthly amount. KoppelHet flags those months in the model, so finance knows where the amount is an upper limit.
  • Absence in Personio is tracked per type in days or in hours. Personio can break an absence down per day. KoppelHet uses that breakdown, so absence from the Netherlands and Germany counts the same way in Power BI and a period across a month boundary belongs to the right month.
  • Legal entities, cost centres, departments, teams and workplaces are separate items in Personio with their own ID. KoppelHet turns them into separate dimensions in Power BI, so a renamed department does not appear as a new department in the reports.
  • In the older Personio API only attributes released as readable in advance come along. An attribute added later stays empty in Power BI until someone releases it. KoppelHet reports an empty column instead of showing an empty report.
  • Personio has its own report builder, and saved reports can be retrieved through the API. If HR already reports on a Personio report, KoppelHet can use it as a source, so the figures in Personio and Power BI stay the same.

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

Is there no ready-made Power BI connector for Personio?

There are third-party connectors. Personio itself does not supply one. KoppelHet builds the model on the Personio API, with history and security per site.

Does Personio handle Dutch payroll?

No. If pay comes from a Dutch payroll package, KoppelHet can put those pay costs next to the Personio data in the same model.

What about the GDPR?

You are the controller and KoppelHet is the processor, under a data processing agreement. The reason for absence stays outside the model; only the absence type is included.

Technical details for IT

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

  • Personio API v2 with OAuth 2.0 client credentials and read-only scopes. Employments through /v2/persons/{person_id}/employments with a filter on updated_at; absence through /v2/absence-periods and /v2/absence-periods/{id}/breakdowns; compensation through /v2/compensations with start_date and end_date (at most one month per request). Dimensions through legal entities, cost centers, org units (type department or team) and workplaces.
  • Saved reports through the Reporting Engine Service (/v2/reports/{id}) with cursor pagination. Power BI semantic model in import mode, refreshed through the Power BI REST API, with row-level security on workplace or entity.

Which fields are transferred

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

Field in PersonioField in Power BINotes
Person IDPersoonsleutel
Employments (met updated_at)Tabel dienstverbandenMost recent employment first
Absence periods en daily breakdownsTabel afwezigheid per dag
Compensations (start_date tot end_date, maximaal één maand)Tabel vergoedingen per maand
Legal entities en cost centersDimensie entiteit en kostenplaats
Org units (type department of team)Dimensie afdeling en team

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.