Leave, absence and time
Dayforce to Planday integration: employees, work assignments and approved time off from Dayforce in Planday
With an integration between Dayforce and Planday, every employee from Dayforce appears automatically in Planday, in the departments of their work assignments and with their contract hours per month. Time away from work approved in Dayforce is submitted and approved in Planday as an absence.
What the integration does
Organisations that use Dayforce for HR and payroll and have their sites schedule in Planday enter new employees twice. A transfer HR records ahead of time has to be copied into Planday on the right day by someone, and time off from Dayforce is not in the schedule.
- Every hour KoppelHet asks Dayforce which employees changed, including through a record that takes effect that day.
- New employees are created in Planday in the departments of their work assignments.
- A transfer or different hours are applied in Planday on the effective date.
- Approved time away from work is submitted and approved in Planday; cancelled time off is withdrawn.
- When an employment ends, KoppelHet deactivates the employee on the last day.
What to watch for with Dayforce and Planday
- Dayforce also counts an employee as changed on the day a record entered ahead of time takes effect. Planday changes departments and hours immediately, without an effective date. KoppelHet therefore only applies a transfer when Dayforce reports the employee again on the effective date, so they can be scheduled in their old department until that day.
- Dayforce records normal weekly hours; Planday works with working hours per month. If the weekly hours field is missing in Dayforce, it is not in the response as zero but absent altogether. KoppelHet then leaves the monthly hours in Planday as they are and reports it, instead of setting someone to zero hours.
- An employee with assignments at two locations has one marked as primary in Dayforce. KoppelHet gives them both departments in Planday, with the primary one as main department where the portal has that field. The second site then sees them in its list without their labour cost landing there by default.
- KoppelHet fetches time away from work per employee, with a mandatory date range and a status. Planday only needs leave for people with a Planday profile. KoppelHet limits the calls to those employees and a window of a few months ahead, and requests approved and cancelled leave separately.
- Dayforce flags half days and gives the start time and net hours. Planday calculates the hours per day from the leave account in a draft request. For a half day KoppelHet sets that day's registration to the net hours from Dayforce, so the balance in Planday does not deduct a full day.
- When approved time off is cancelled in Dayforce, it gets another status, which the customer can rename. KoppelHet recognises that status through a value recorded per environment and cancels the request in Planday, so the employee can be scheduled again.
- Planday has its own employee types, for example full-time, part-time or on-call. Dayforce has a pay class per employee. KoppelHet converts the pay class through a table to a Planday type, so filters and contract rules in scheduling keep working per type.
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
Why not the schedule in Dayforce itself?
That is possible, and then this integration is not needed. It is for organisations that keep Planday for their sites.
Do worked hours from Planday go back to Dayforce?
Not in this integration. Hours to payroll in Dayforce can be added later as an extension.
Does the pay rate from Dayforce go to Planday?
Not by default; labour cost in scheduling comes from the employee group. Pay rates can be added 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.
- Dayforce through the RESTful Web Services with the role RESTful Services > Employee and field rights up to the parent item. Changed employees through GET /V1/Employees with filterUpdatedStartDate and filterUpdatedEndDate; details per XRefCode with Expand=EmploymentStatuses,WorkAssignments (NormalWeeklyHours, PayClass, Location, IsPrimary, EffectiveStart, EffectiveEnd). Time off through GET /V1/Employees/{xRefCode}/TimeAwayFromWork with filterTAFWStartDate, filterTAFWEndDate and status.
- Planday through the Open API with OAuth 2.0. POST and PUT /hr/v1.0/employees (departments, primaryDepartmentId, workHours per month, employeeTypeId, salaryIdentifier), GET /hr/v1.0/employeetypes, PUT /hr/v1.0/employees/deactivate/{employeeId}. Time off through GET /absence/v1.0/absencerequests/draft, POST /absence/v1.0/absencerequests (registrations), PUT /absencerequests/{id}/approve and /cancel.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Dayforce | Field in Planday | Notes |
|---|---|---|
XRefCode | salaryIdentifier | KoppelHet keeps the Planday ID itself |
FirstName, LastName, werk-e-mail | firstName, lastName, userName | |
WorkAssignments (Location, IsPrimary) | departments en primaryDepartmentId | |
EmploymentStatuses.NormalWeeklyHours | workHours (per maand) | |
EmploymentStatuses.PayClass | employeeTypeId | Through a table per customer |
TimeAwayFromWork (ReasonName) | absenceType | |
HalfDay, TimeStart, NetHours | Registratie van de eerste of laatste dag | |
Einde dienstverband | deactivate met date |
Related
Ashby → Dayforce
Ashby to Dayforce integration: have Dayforce validate the hire first, then save it
Bullhorn → Dayforce
Bullhorn to Dayforce integration: first placement of an employee as an employee in Dayforce
Carerix → Dayforce
Carerix to Dayforce integration: successful placement as a validated new employee in Dayforce
Dayforce → 4PS Construct
Dayforce to 4PS Construct integration: technicians and site managers from Dayforce in 4PS, with cost centre and end date