Personio logoIRIS Payroll logo

Payroll integration

Personio to IRIS Payroll integration: UK employees from Personio as an employee in Staffology Payroll

An integration between Personio and IRIS Staffology Payroll creates UK employees from Personio as an employee with a payroll code and starter details, with their fixed salary as PayOptions. KoppelHet builds this route on the Staffology API.

What the integration does

Organisations with HR in Personio and a UK entity paid in IRIS Staffology Payroll keep employees, addresses and salaries in Personio. Before every pay run someone copies the UK changes into Staffology.

  1. KoppelHet gets an API key from a Staffology user with access to only the UK employer.
  2. Every hour KoppelHet reads the changed employees of the UK entity in Personio.
  3. A new employee becomes an employee with payroll code, starter details and PayOptions.
  4. For a change KoppelHet fetches the full record from Staffology and writes it back in full.
  5. Before the pay run payroll gets an overview of starters, changes and records held back.
Personio → KoppelHet → IRIS PayrollSOURCEPersonioTARGETIRIS PayrollKoppelHetmapping · logging · monitoringPersonio → KoppelHet → IRIS PayrollSOURCEPersonioTARGETIRIS PayrollKoppelHetmapping · logging · monitoring
Out: Employee with personalDetails and employmentDetails · Starter details with start date and starterDeclaration · PayOptions with period, basis and amount · Leavers marked as leaver

What to watch for with Personio and IRIS Payroll

  • Staffology says itself that the web application uses the same API it offers publicly. An integration can therefore do everything payroll does on screen.
  • Staffology has no PATCH; a change goes with PUT and must contain all writable fields. KoppelHet therefore first fetches the whole record, changes only the fields from Personio and sends the whole thing back, so an address change does not silently wipe the salary or tax code.
  • A new employee in Staffology needs starter details with a starterDeclaration. Personio has no standard field for this; KoppelHet reads a custom attribute for the starter statement and holds back a starter without a choice.
  • Without PayOptions Staffology gives a new employee the employer's DefaultPayOptions. KoppelHet therefore always sends the employee's own salary from Personio, so a starter does not enter the first pay run with the entity's default amount.
  • An hourly rate is only possible in Staffology with basis Hourly, and only then can the national minimum wage check be on. For UK hourly workers from Personio KoppelHet sets the basis to Hourly and the number of hours as multiplier; for salaried staff it stays Monthly.
  • IRIS sells several payroll products, and the public API belongs to Staffology Payroll. If UK payroll runs in another IRIS product, this route does not apply; we establish that before anything is built.
  • Personio returns persons in pages of at most fifty and filters on updated_at. KoppelHet only requests the persons changed since the previous round and then checks whether they belong to the UK entity, so colleagues from other countries never end up in Staffology.

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 bonuses and overtime go across as well?

Not in the first version. Starters, salary and leavers first; variable payments per pay run can follow later as an extension.

Does this also work with IRIS Earnie or IRIS Payroll Business?

This route applies to Staffology Payroll, which the public API belongs to. For other IRIS products we first check what they accept.

Technical details for IT

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

  • Personio through API v2 (GET /v2/persons with updated_at.gt, scope personio:persons:read, cursor pagination) and the employments with the UK entity.
  • Staffology Payroll API (JSON) with an API key; POST /employers/{employerId}/employee with personalDetails and employmentDetails, changes with PUT including all writable fields, leavers with the Mark as Leavers operation. PayOptions with period, basis, payAmount and payAmountMultiplier.

Which fields are transferred

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

Field in PersonioField in IRIS PayrollNotes
first_name, last_name, genderpersonalDetails (naam, geslacht)
Geboortedatum en adres in PersoniopersonalDetails (dateOfBirth, address)
Personio person idemploymentDetails.payrollCode
Startdatum dienstverbandstarterDetails.startDate
Eigen attribuut starter statementstarterDetails.starterDeclaration (A, B of C)
Vast jaarsalarisPayOptions (period Monthly, basis Monthly, payAmount)Annual salary divided by twelve

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.