Personio logoSage Payroll logo

Payroll integration

Personio to Sage Payroll integration: bonuses, commissions and overtime from Personio as a file for Sage 50 Payroll

With an integration between Personio and Sage 50 Payroll, bonuses, commissions and overtime held as compensation in Personio go into an hours and rates file each pay period, which payroll loads into Sage 50 Payroll. KoppelHet puts them on payments already assigned to the employee in Sage, so they no longer reach payroll by spreadsheet.

What the integration does

Organisations with HR in Personio and a UK entity paid in Sage 50 Payroll often send overtime, bonuses and commissions to payroll by spreadsheet.

  1. Each pay period KoppelHet reads the compensations of the UK employees in Personio.
  2. KoppelHet produces a file with hours and rates in the Sage 50 Employee Payments (Hours and Rates) template.
  3. Payroll makes a backup and loads the file into Sage 50 Payroll through Data Import.
Personio → KoppelHet → Sage PayrollSOURCEPersonioTARGETSage PayrollKoppelHetmapping · logging · monitoringPersonio → KoppelHet → Sage PayrollSOURCEPersonioTARGETSage PayrollKoppelHetmapping · logging · monitoring
Out: Bonuses, commissions and overtime as compensation in Personio · Hours and one-off payments per period

What to watch for with Personio and Sage Payroll

  • Sage 50 Payroll has no open API. Payroll loads KoppelHet's file through Data Import, after a backup.
  • The Hours and Rates template only adjusts payments already assigned to the employee in Sage. KoppelHet therefore puts bonuses, commissions and overtime on those existing payments.
  • Personio's compensations API returns compensations per period of at most a month. KoppelHet therefore requests them per pay period.
  • The compensations API returns every kind, including fixed salary and hourly pay. The Hours and Rates template only updates the payroll run entry, not the employee record in Sage. KoppelHet therefore only includes one-off amounts and bonus payouts; the fixed salary stays in Sage.
  • Personio can filter compensations by legal entity. KoppelHet only requests those of the UK entity, so colleagues in other countries never end up in a file for Sage 50 Payroll.
  • In Sage 50 Payroll an hours and rates import does not work for factored payments; through this template Sage only accepts hours worked or a rate per hour. At the start we record per compensation type in Personio which Sage payment it lands on and whether the amount goes in as hours or as a rate.
  • Assigning a new payment to an employee goes through a separate template in Sage, Assign Employee Payments, and that cannot update existing payments. If an employee does not have the payment yet, KoppelHet puts them on a list for payroll instead of sending a line Sage will not process.
  • Every amount in Personio has an ISO 4217 currency code. Sage 50 Payroll calculates in pounds, so KoppelHet does not include compensation in another currency in the file but reports it to payroll.

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

Can KoppelHet write into Sage 50 Payroll directly?

No. Sage 50 Payroll has no open API; payroll loads the file through Data Import.

Technical details for IT

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

  • KoppelHet reads compensations with GET /v2/compensations (scope personio:compensations:read, per period of at most a month) and writes a CSV in the Employee Payments (Hours and Rates) template, which payroll loads after a backup through File > Data Import.

Which fields are transferred

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

Field in PersonioField in Sage PayrollNotes
Compensatie BONUS_PAYOUT of ONE_TIMEEmployee Payments (Hours and Rates)On a payment already assigned to the employee
person.idEmployee ReferenceThrough a lookup table, filled at the start
legal_entity.idSelectie van de Britse entiteitOnly employees of that entity go into the file
type.nameBetaling in Sage 50 PayrollFixed lookup per compensation type
amount (value, currency)Hours of RateOnly amounts in GBP
effective_fromLoonperiode van het bestandRequested with start_date and end_date

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.