Planday logoVisma Raet YouForce logo

Leave, absence and time

Planday to YouForce integration: worked hours per employment to payroll

With an integration between Planday and Visma Raet YouForce, the approved hours and supplements from Planday go to YouForce per employment and per pay component, without an export file. Employees, contract hours and termination dates come from YouForce into Planday, so scheduling and payroll work from the same employments.

What the integration does

Employers that schedule in Planday and run payroll in Visma Raet YouForce export the hours to Excel at the end of the period, after which payroll enters them per pay component. Someone with two contracts then sometimes gets the hours on the wrong employment.

  1. HR records a new employee or contract change in YouForce, also when it only takes effect later.
  2. KoppelHet places the employee in Planday with department, contract hours and the employment number as salary identifier.
  3. Managers approve the shifts. After the period KoppelHet fetches the approved hours, without unpaid breaks.
  4. The hours go to YouForce per employment, pay component and date.
  5. KoppelHet follows processing in YouForce and reports rejected lines in the platform.
Planday → KoppelHet → Visma Raet YouForceSOURCEPlandayTARGETVisma Raet YouForceKoppelHetmapping · logging · monitoringPlanday → KoppelHet → Visma Raet YouForceSOURCEPlandayTARGETVisma Raet YouForceKoppelHetmapping · logging · monitoring
Out: Hours per pay component, per employment and per date · Supplements from Planday
Back: New employees with department · Contract hours on the effective date of a change · Termination date

What to watch for with Planday and Visma Raet YouForce

  • YouForce accepts hours per employment, not per person. Planday has a salary identifier per employee and can record a different one per department. KoppelHet stores the YouForce employment number there, so someone with a seasonal and a permanent contract gets their hours on the right employment.
  • Planday includes the breaks per shift, with a flag per break for whether it is paid. YouForce expects the number of hours to pay. KoppelHet subtracts unpaid breaks from the shift duration before the hours go to YouForce, so payroll does not have to check this per shift.
  • In Planday administrators set salary codes per shift type, employee group and supplement. YouForce has pay components with their own element code. We agree the translation from salary code to element code with payroll; a code without a translation is not sent and raises an alert.
  • A delivery to YouForce first gets a ticket number, and is then processed or rejected. KoppelHet requests the outcome per ticket. A rejected hours line appears in the platform with the reason from YouForce, so scheduling can correct the shift in Planday before the payroll run.
  • YouForce has planned changes, such as an increase in hours from next month. In Planday, assigning contract hours to an employee has no effective date. KoppelHet holds the planned change and applies it in Planday on the effective date itself, so scheduling does not use the new hours too early.
  • Planday calculates contract hours per month, while YouForce records a work schedule per day or per week for each employment. KoppelHet converts the schedule into hours per month, and picks the Planday contract rule that fits the number of hours.

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 leave entitlements from YouForce also go to Planday?

That can be added later as an extension. YouForce supplies leave entitlements per employment and leave type, and Planday can post adjustments to a vacation account. We start with hours and employees.

What happens to hours approved after closing?

They go to YouForce in the next run, with the date of the shift. How YouForce settles a date in a closed period is agreed with payroll in advance.

Technical details for IT

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

  • Planday is read through the Payroll API (GET /payroll/v1.0/payroll with departmentIds, from, to and shiftStatus=Approved; shiftsPayroll with breaks (duration, isPaid) and supplements (salaryCode, duration)). Salary identifiers per department through PUT /pay/v1.0/salaryIdentifiers/employees/{employeeId}/departments/{departmentId}. OAuth 2.0; per portal 750 requests per minute.
  • Hours go to YouForce through the WFM API, POST /v1.0/PayComponents/{employment} with elementCode, value and effectiveDate; the response contains a ticketId, and GET /v1.0/PayComponents/{ticketId}/status returns status and errorMessage. Scope Youforce-WFM:Write_Basic. Employees, employments, planned changes (Employments/PlannedChanges) and work schedules (EmploymentWorkSchedules) are read with the Get_Basic scope, on the last sync date.
  • Planday is written through the HR API (employees with departments, employeeGroups, workHours and contractRulesRuleId; deactivate with date) and the Contract Rules API (PUT /contractrules/v1.0/employees/{employeeId}).

Which fields are transferred

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

Field in PlandayField in Visma Raet YouForceNotes
salaryIdentifier (per afdeling)employmentCodeThe employment number, not the person code
salaryCode van dienst of toeslagelementCodeThrough a translation table
Duur dienst minus pauzes met isPaid falsevalue
date van de diensteffectiveDate
supplements.duration en salaryCodeelementCode en value van de toeslag
YouForce persoon en dienstverband (terug)firstName, lastName, email, departments
YouForce organizationUnit (terug)departmentsThrough a translation table
YouForce werkrooster (terug)workHours (uren per maand)
YouForce dischargeDate (terug)deactivate met 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.