Personio logoUKG Dimensions logo

Leave, absence and time

Personio to UKG Dimensions integration: employees, managers and approved absence from Personio in UKG

With an integration between Personio and UKG Dimensions, every internal employee from Personio appears automatically in UKG, with their job in the business structure, their manager and the time zone of their office. Absence approved in Personio arrives in UKG as a paycode edit, with half days from the schedule, so the timecard is right without double entry.

What the integration does

Organisations that do HR in Personio and scheduling and timekeeping in UKG Dimensions record new colleagues twice. Approved absence from Personio is not in UKG, so managers closing timecards see missing hours that are actually leave.

  1. HR creates a person with an employment in Personio, with office, department, position and supervisor.
  2. KoppelHet receives the notification and creates internal employees in UKG, with new managers first.
  3. Per employee UKG receives a job in the business structure, a time zone, a pay rule and the licences that fit their role.
  4. Every few minutes KoppelHet fetches the changed absences from Personio and enters approved ones as paycode edits in UKG.
  5. A deleted absence also deletes the paycode edit in UKG.
Personio → KoppelHet → UKG DimensionsSOURCEPersonioTARGETUKG DimensionsKoppelHetmapping · logging · monitoringPersonio → KoppelHet → UKG DimensionsSOURCEPersonioTARGETUKG DimensionsKoppelHetmapping · logging · monitoring
Out: Person with employee number, name and hire date · Job as a path in the business structure, manager and time zone · Approved absence as a paycode edit

What to watch for with Personio and UKG Dimensions

  • Personio has internal and external employments. UKG works with licences per person for scheduling, timekeeping and absence. By default KoppelHet only puts internal employees in UKG; externals only if you schedule them there, and then without an absence licence.
  • Personio notifies creating, moving and deleting an absence, but not its approval. KoppelHet therefore fetches the absences changed since the previous round on an interval of minutes and checks the approval status, so approved leave is on the UKG timecard the same day.
  • An absence in Personio can start or end in the first or second half of the day. UKG can derive the hours for a first or second half day from the schedule itself. KoppelHet passes on the half day from Personio, so UKG deducts exactly the afternoon hours of that shift for an afternoon off.
  • Long-term absence, such as sickness, often has no end date yet in Personio. UKG books a paycode edit per date. KoppelHet enters such an absence in UKG up to an agreed horizon ahead and extends it as long as Personio reports no end.
  • Personio has a status in which the deletion of an absence is still awaiting approval. Until it is approved, the leave still applies. KoppelHet therefore keeps the paycode edit in UKG until the absence is really deleted in Personio.
  • UKG only records an employee under a manager who already exists or appears earlier in the same request. In Personio the supervisor is an ordinary person with their own employment. KoppelHet determines the order on every round, so a new team lead and their people land correctly in UKG in one go.
  • Personio recommends remaining the source of truth for absence itself. KoppelHet therefore writes nothing from UKG back to Personio. A paycode edit a manager adds by hand in UKG stays in UKG and shows up as a difference in the daily check.

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

Do balances from Personio go to UKG?

That can be added later as an extension, through balance updates per accrual code in UKG.

Do hours from UKG go to Personio?

Not in this integration. Hours go from UKG to payroll.

What if an absence type has no paycode in UKG?

Then the absence is not entered and an alert appears in the platform. HR links a paycode or confirms the type does not need to be on the timecard.

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 with client credentials. Persons and employments (type INTERNAL or EXTERNAL, status, office, legal_entity, org_units, position, supervisor, employment_start_date, termination.last_working_day) through webhooks and queries. Absence through GET /v2/absence-periods with updated_at.gte (limit up to 100, cursor), approval.status PENDING, APPROVED, DELETION_PENDING or SUBSTITUTE_REQUESTED, starts_from and ends_at with type FIRST_HALF or SECOND_HALF; ends_at can be empty.
  • To UKG through the UKG Pro Workforce Management API. POST /v1/commons/persons or /multi_create (personNumber, employmentStatusList, primaryLaborAccounts.organizationPath, payRuleName, timeZoneName, supervisorPersonNumber, personLicenseTypes). Absence through POST /v1/timekeeping/pay_code_edits/import (paycode, applyDate, scheduleAmountType FULL_DAY_, FIRST_HALF_DAY_ or SECOND_HALF_DAY_AMOUNT_FROM_SCHEDULE).

Which fields are transferred

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

Field in PersonioField in UKG DimensionsNotes
Personeelsnummer (eigen attribuut)personNumber
first_name, last_namefirstName, lastName, fullName
office en positionprimaryLaborAccounts.organizationPathThrough a table to an existing job in the UKG business structure
supervisorsupervisorPersonNumber
Tijdzone van de officetimeZoneName
legal_entitypayRuleNameThrough a table per country
employment_start_date en termination.last_working_dayemploymentStatusList met effectiveDate
Absence period (approval.status APPROVED)Paycode edit met paycode en applyDateThrough a table of absence types to paycodes
starts_from.type en ends_at.typescheduleAmountType (eerste of tweede helft uit het rooster)

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.