Personio logoDeputy logo

Leave, absence and time

Personio to Deputy integration: employees and approved absences from Personio in Deputy, worked time back as attendance

With an integration between Personio and Deputy, every employee marked for shift planning in Personio appears automatically in Deputy, at the right location. Approved absences from Personio arrive in Deputy as approved leave, and timesheets approved for payroll in Deputy go back to Personio as attendance.

What the integration does

Organisations that do HR and payroll preparation in Personio and schedule their floor staff in Deputy retype new starters and track absences in two places. Worked time sits in Deputy, while Personio needs it for the payslip.

  1. HR marks an employee in Personio for shift planning, with office and start date.
  2. KoppelHet creates the employee in Deputy at the location that belongs to the office.
  3. Approved absence is entered per day as approved leave in Deputy; a deleted absence is withdrawn there.
  4. Timesheets approved for payroll in Deputy go to Personio as work and break periods, without a second approval.
  5. After the last working day KoppelHet terminates the employee in Deputy.
Personio → KoppelHet → DeputySOURCEPersonioTARGETDeputyKoppelHetmapping · logging · monitoringPersonio → KoppelHet → DeputySOURCEPersonioTARGETDeputyKoppelHetmapping · logging · monitoring
Out: Employee with name, email and start date · Office as Deputy location · Approved absence per day · Departure on the last working day
Back: Work and break periods from timesheets approved for payroll

What to watch for with Personio and Deputy

  • Personio advises shift planning integrations to take over only the employees switched on for it. KoppelHet only takes people with that marker to Deputy, so office staff without shifts do not appear in the list of schedulable employees. If the marker is switched on later, the employee follows with the next notification.
  • For absences Personio only sends notifications for creation, a changed time range and deletion, not for an approval. Deputy should receive the leave as approved. KoppelHet therefore requests the changed absences every few minutes and only enters leave with status approved in Deputy after approval.
  • Deputy wants a start and end time for leave, even for a full day. Personio gives a per-day breakdown of what is deducted from the balance for each absence, and whether the first or last day is a half day. KoppelHet builds the times per day from those day parts, so a half day in Deputy also covers half a day.
  • Personio advises sending approved worked time from the planning system to Personio, so time is not recorded twice. Deputy has an approval for time and one for payroll. KoppelHet only sends timesheets with that second approval, and writes them to Personio without an extra approval step.
  • Personio can generate breaks itself based on the customer's break rules. If KoppelHet also sends the breaks from Deputy, a break appears twice in Personio. At the start we choose one source for breaks: the Deputy breaks, or the rules in Personio.
  • Personio accepts start and end time of worked time without a time zone, and attributes a night shift to one date. Deputy gives times with the location's time zone. KoppelHet converts the times to the office's local time and lets a shift across midnight belong to its start date.
  • Personio limits how often one day's worked time may be changed. Deputy can still change a timesheet after approval. KoppelHet only sends a day once all of that day's timesheets are approved for payroll, and a later correction as one change, so the limit is not reached.

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

Can employees request leave in Deputy?

They can, but Personio advises keeping Personio leading for absences. This integration follows that advice.

Do premiums from Deputy also go to Personio?

No, only work and break time. Premiums are calculated by payroll. Pay components from Deputy can be added later as an extension.

What if an absence type has no leave rule in Deputy?

Then the leave is not entered and an alert appears. HR links a leave rule or confirms the type is not needed in the schedule.

Technical details for IT

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

  • Personio through the API v2 with client credentials. Persons and employments (office, termination.last_working_day) through webhooks and requests. Absences through GET /v2/absence-periods with updated_at and approval.status, and GET /v2/absence-periods/{id}/breakdowns per day; webhooks absence-period.created, absence-period.updated.timerange and absence-period.deleted. Worked time through POST /v2/attendance-periods (person, type WORK or BREAK, start and end without time zone) with skip_approval; 403 when the day limit is exceeded.
  • Deputy through POST /api/management/v2/employees (firstName, lastName, primaryLocation, workplaces[].agreement.payrollId, externalId, startDate) and POST /api/v1/supervise/employee/{employeeid}/terminate. Leave through POST /api/v1/resource/Leave (Employee, LeaveRule, Company, DateStart, DateEnd, Start, End, Status 1). Timesheets through POST /api/v1/resource/Timesheet/QUERY (500 records by default) with TimeApproved and PayRuleApproved.

Which fields are transferred

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

Field in PersonioField in DeputyNotes
Person ID (Personio)externalId en workplaces[].agreement.payrollId
first_name, last_name, emailfirstName, lastName, contact.email1
office (employment)primaryLocationThrough a table of offices to locations
Absence period (APPROVED) met breakdownsLeave met Status 1, Start en End per dag
termination.last_working_dayterminate na die datum
Timesheet (PayRuleApproved), StartTime, EndTimeAttendance period type WORKLocal time without time zone
Pauzes op de timesheetAttendance period type BREAK

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.