HiBob logoIRIS Payroll logo

Payroll integration

HiBob to IRIS Payroll integration: UK starters, salary and leavers from Bob straight into Staffology

An integration between HiBob and IRIS Staffology Payroll creates new UK employees from Bob as an employee in the UK employer, updates pay as soon as a new salary entry takes effect and marks leavers with the leave date. Staffology has an open REST API, so what HR records in Bob is in payroll without a CSV file in between.

What the integration does

Organisations that do HR in Bob and run UK pay in IRIS Staffology Payroll enter every UK starter and every pay rise twice. HiBob sells its own payroll in the United Kingdom, but those who stay with Staffology now send payroll a list every month.

  1. HR records a new employee in the UK entity in Bob.
  2. KoppelHet receives the webhook and fetches person, address, NI number and the salary entry.
  3. KoppelHet creates the employee with the HiBob ID as payrollCode and PayOptions from the salary entry.
  4. KoppelHet writes a new salary entry or address change back as a complete record after fetching the employee.
  5. On a leaver KoppelHet sets hasLeft and leaveDate; payroll produces the P45.
HiBob → KoppelHet → IRIS PayrollSOURCEHiBobTARGETIRIS PayrollKoppelHetmapping · logging · monitoringHiBob → KoppelHet → IRIS PayrollSOURCEHiBobTARGETIRIS PayrollKoppelHetmapping · logging · monitoring
Out: Employee with personalDetails and starter details · PayOptions with period, basis and amount · Leaver details with leaveDate

What to watch for with HiBob and IRIS Payroll

  • We found no integration between Bob and Staffology Payroll in the HiBob Marketplace or at IRIS. HiBob has its own payroll product for the United Kingdom; this integration is for organisations that deliberately keep UK pay in Staffology.
  • Salary sits in a historical table in Bob with an effective date per entry, and the webhook for that table fires on recording, not on the effective date. KoppelHet keeps a future rise and only writes the new PayOptions to Staffology in the pay run in which that date falls.
  • Staffology has no PATCH, and a PUT without all writable fields clears the missing ones. An address change from Bob only touches a few fields. KoppelHet first fetches the employee, puts only the changed fields in and writes the complete record back.
  • Bob only reports a leaver at midnight after the effective date. For a UK leaver payroll wants the leave date in the final run already, with a P45. KoppelHet therefore reads the future entry in the lifecycle table and sets hasLeft and leaveDate before that run.
  • Staffology also has fields on a leaver for payment after leaving and paying out an accrued balance. Those choices are not in Bob and sit with payroll. KoppelHet only sets the leaver and the date, so a payout is not switched on unnoticed.
  • Bob leaves out fields the HiBob service user has no rights to, without an error. An empty NI number on a UK starter is therefore a rights check first. Staffology can still create the starter; KoppelHet reports the missing number to payroll.
  • An API key in Staffology has exactly the rights of the user per employer. KoppelHet uses a user that only sees the UK employer, and selects on the UK entity in Bob, 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

Why not HiBob's own payroll?

That can be a good choice. This integration is for organisations that keep Staffology, for example because a bureau runs UK pay in it.

Do bonuses from Bob also go to Staffology?

Not in the first version. Variable pay as a pay line in the run 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.

  • HiBob through signed webhooks (employee.joined, table.entry.created and table.entry.updated for salary, work and lifecycle, with effectiveDate) and the People API (POST /v1/people/search, GET /v1/people/{id}/salaries) with a service user with rights per category, for salary also on history.
  • Staffology Payroll REST API with an API key as password in Basic authentication. POST /employers/{employerId}/employee, GET and PUT on /employers/{employerId}/employee/{id} with full JSON, PayOptions and leaverDetails (hasLeft, leaveDate).

Which fields are transferred

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

Field in HiBobField in IRIS PayrollNotes
HiBob employee idemploymentDetails.payrollCodeFixed key
root.firstName, root.surnamepersonalDetails.firstName, lastName
personal.birthDatepersonalDetails.dateOfBirth
National Insurance-nummer (payrollveld)personalDetails.niNumber
address (thuisadres)personalDetails.address
work.startDatestarterDetails.startDate
Salary-tabel (base, frequency, effectiveDate)payOptions.payAmount, basis, period
Lifecycle-regel TerminatedleaverDetails.hasLeft en leaveDate

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.