
Accounts in applications
Dayforce to Simplicate integration: employees and timetables with effective dates from Dayforce in Simplicate
With an integration between Dayforce and Simplicate, every new employee of the Dutch unit in Dayforce automatically appears as an employee in Simplicate, with manager and a timetable based on the normal weekly hours. A change of hours in Dayforce closes the old timetable and starts a new one on the same effective date, so time registration in Simplicate is right.
What the integration does
Organisations that run HR and payroll in Dayforce and projects and hours in Simplicate enter new employees and their contract hours twice. When someone starts working fewer hours, nobody adjusts the Simplicate timetable, and productivity per employee is no longer right.
- HR records a new employee or a change of hours in Dayforce with an effective date.
- KoppelHet reads the change and the state on the effective date from Dayforce.
- A new employee becomes a person and employee in Simplicate, with a timetable from the start date.
- The Simplicate administrator gets an alert to invite the new colleague as a user.
- On termination the timetable ends on the last working day and the employee becomes inactive.
What to watch for with Dayforce and Simplicate
- In Dayforce the normal weekly hours sit on the employment status, with their own start and end date. Simplicate works with timetables that each have a start and end date. On a change of hours KoppelHet closes the current Simplicate timetable on the day before and creates a new timetable from the effective date, so past weeks keep their old hours.
- Dayforce only gives a weekly total, while a Simplicate timetable asks for hours per day and can have separate even and odd weeks. KoppelHet spreads the hours by a fixed rule for your organisation; anyone who works differently every other week gets a timetable with odd weeks if HR records that in a custom Dayforce field.
- Dayforce leaves a field out of the response when it is empty or when the API user has no field-level rights on it. KoppelHet therefore does not read a missing field as empty, and clears nothing in Simplicate based on a field Dayforce does not return.
- An employee can have several work assignments in Dayforce, one of which is primary. Simplicate has one manager per employee. KoppelHet takes the manager of the primary assignment, and only if that manager is in Simplicate too.
- According to the public specification, the Simplicate API can only write person, manager, status and custom fields on an employee, and there is no endpoint for users. Job title and work phone from Dayforce therefore do not come along, and inviting someone as a user stays an action for the administrator, which KoppelHet sends an alert for.
- Dayforce can filter employees on an organisation unit. KoppelHet only requests the Dutch unit, so colleagues from other countries in Dayforce never end up in Simplicate.
- A new employee is often ready in Dayforce weeks before the start date. KoppelHet requests them with the start date as the as-of date, so the Simplicate timetable has the hours that apply from day one and not an interim state.
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
Do written hours go back to Dayforce?
No. This integration only runs from Dayforce to Simplicate. Sending hours back can be added later as an extension.
What if someone comes back?
The Dayforce number is in a custom field, so KoppelHet finds the old Simplicate employee and starts a new timetable there.
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 (https://www.dayforcehcm.com/api/{CompanyName}/V1/Employees) with orgUnitXRefCode, filterUpdatedStartDate and filterUpdatedEndDate, filterHireStartDate and filterTerminationStartDate. Details per XRefCode with expand for EmploymentStatuses (NormalWeeklyHours, EffectiveStart, EffectiveEnd), WorkAssignments (IsPrimary), EmployeeManagers and Contacts, with contextDate as the as-of date. Role with Web Services Field-Level Access on the fields used.
- Simplicate is written through REST API v2 (Authentication-Key and Authentication-Secret headers). POST /api/v2/crm/person, POST and PUT /api/v2/hrm/employee with person_id, supervisor, status and custom_fields; POST /api/v2/hrm/timetable with employee_id, start_date, even_week and has_odd_weeks, PUT /api/v2/hrm/timetable/{id} to set end_date. At least 60 requests per minute; HTTP 429 above that.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Dayforce | Field in Simplicate | Notes |
|---|---|---|
XRefCode | Eigen veld bij de medewerker (custom_fields) | Fixed key, also on rehire |
FirstName en LastName | first_name, family_name_prefix en family_name (persoon) | |
Werk-e-mailadres (Contacts) | email (persoon) | |
EmployeeManagers | supervisor (medewerker) | Looked up by the custom field holding the XRefCode |
EmploymentStatuses.NormalWeeklyHours | even_week day_1 … day_7 (rooster) | Spread over the working days by an agreed rule |
EmploymentStatuses.EffectiveStart | start_date (rooster) | |
Uitdienstdatum | end_date (rooster) en status (medewerker) |
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