

Payroll integration
BambooHR to IRIS Payroll integration: UK employees from BambooHR as an employee in Staffology Payroll
An integration between BambooHR and IRIS Staffology Payroll creates a new UK employee from BambooHR as an employee at the right employer in Staffology, with NI number, start date and pay, and sets the leaver details on leaving. Pay changes from BambooHR's compensation table go into the pay run in which their effective date falls.
What the integration does
Organisations that use BambooHR as their HR system and run UK payroll in Staffology copy starters and pay rises by hand. A rise that HR records in BambooHR with a future date is sometimes processed too early or too late in payroll.
- HR records a new UK employee in BambooHR.
- KoppelHet receives the signed webhook and picks the Staffology employer for the location.
- KoppelHet creates the employee with name, address, NI number, start date and pay.
- A new pay row waits until the pay run in which the effective date falls; KoppelHet then reads the employee and writes the whole record back.
- A termination sets hasLeft and leaveDate in Staffology.
What to watch for with BambooHR and IRIS Payroll
- BambooHR has its own nin field for the UK NI number, next to ssn for the United States and sin for Canada. KoppelHet only reads nin for Staffology. If it is empty for a UK starter, KoppelHet first checks whether the API user may see the field, because BambooHR does not return fields without rights.
- BambooHR stores pay as rows in the compensation table, each with an effective date, and HR often records a rise weeks ahead. Staffology calculates with the employee's PayOptions at the time of the pay run. KoppelHet therefore only passes a future row on in the pay run in which the effective date falls.
- Staffology has no PATCH on an employee; a PUT replaces the whole record. A BambooHR webhook only reports the fields set up in the webhook. KoppelHet therefore first reads the employee in Staffology and only changes the field that changed in BambooHR.
- The terminationDate field in BambooHR is read-only; a leaver is a new row in the employmentStatus table with status and date. KoppelHet reads that row and sets hasLeft with leaveDate in Staffology, so payroll makes the final payment in the right period.
- BambooHR gives no webhooks for custom tables. If the organisation keeps UK data such as a pension choice in such a table, KoppelHet reads it daily through the changed table data endpoint, before the pay run.
- A pay row in BambooHR has an amount per Hour, Day, Week, Month or Year and a pay type such as salary, hourly or pro rata. Staffology wants a period and a basis in PayOptions. KoppelHet translates per combination, and a pay type without a translation goes to payroll instead of to 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 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.
Frequently asked questions
Do payslips go back to BambooHR?
Not in the first version. That can follow 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.
- BambooHR through signed webhooks (HMAC in X-BambooHR-Signature) and the employees API with nin, hireDate and location; compensation and employmentStatus tables, custom tables through the changed table data endpoint. API key of a separate user with rights to pay and NI number.
- 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 the full record, PayOptions and leaverDetails.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in BambooHR | Field in IRIS Payroll | Notes |
|---|---|---|
location of division | employerId | Lookup table per UK entity |
firstName, lastName, dateOfBirth | personalDetails | |
nin | personalDetails.niNumber | |
address1, city, zipcode | personalDetails.address | |
hireDate | employmentDetails.startDate | |
compensation-tabel (startDate, rate, paidPer, type) | payOptions (basis, period, payAmount) | |
employmentStatus-tabel (Terminated, date) | leaverDetails (hasLeft, leaveDate) |
Related
Ashby → BambooHR
Ashby to BambooHR integration: hire, changed start date and employment status in BambooHR
BambooHR → 4PS Construct
BambooHR to 4PS Construct integration: employees from BambooHR in the 4PS company of their location
BambooHR → Active Directory
BambooHR to Active Directory integration: accounts in your own domain from HR
BambooHR → ADP iHCM
BambooHR to ADP iHCM integration: salary, bonuses and commissions to Dutch payroll