Leave, absence and time
Rippling to Dyflexis integration: work schedule and work location from Rippling as a Dyflexis contract
With an integration between Rippling and Dyflexis, employees of the Dutch work locations in Rippling appear in Dyflexis automatically, with a contract holding the office, hours and working days from the Rippling work schedule. A departure or a different schedule in Rippling updates the contract in Dyflexis, so the planner works with what HR has recorded.
What the integration does
Organisations that use Rippling as their global HR system and schedule their Dutch sites in Dyflexis copy new employees and schedule changes by hand. Dyflexis then holds hours that have long been different in Rippling.
- HR records a worker in Rippling at a Dutch work location, with a work schedule per day.
- KoppelHet fetches changed workers and checks whether the work location is linked to a Dyflexis office in the table.
- The employee goes to Dyflexis, with a contract whose hours and days are calculated from the work schedule.
- An administrator links the new employee once in Dyflexis; after that every delivery keeps them up to date.
- On departure the employee and contract get the end date from Rippling.
What to watch for with Rippling and Dyflexis
- The work schedule in Rippling holds the number of scheduled hours for each day of the week. Dyflexis asks per contract for hours per week and the average number of working days. KoppelHet adds up the hours and counts the days with hours, so a schedule of four eight-hour days becomes 32 hours over four days in Dyflexis.
- Rippling calls someone full-time from thirty hours a week and part-time below that. That threshold does not match a Dutch collective agreement. KoppelHet therefore does not use amount_worked for the hours, but does use it with the employment type to choose the Dyflexis contract type.
- Rippling distinguishes a location for tax purposes and a work location. An employee with location REMOTE has no work location. Only workers with a work location linked to a Dyflexis office in the table go through; remote workers and colleagues in other countries stay out of the schedule.
- Rippling has the statuses INIT, HIRED, ACCEPTED, ACTIVE and TERMINATED. KoppelHet sends an employee to Dyflexis from ACCEPTED, so the planner can roster a new worker before the first working day, with the start date as the contract start.
- In Rippling the employee number is an integer within the organisation, separate from the user's profile number. KoppelHet puts the former in Dyflexis as personnel number, so hour exports later match the same number as in payroll.
- Rippling indicates per worker whether they are paid hourly or salaried. Dyflexis can store an hourly wage per contract for the wage cost estimate. KoppelHet only fills it for hourly paid employees, and only if scheduling wants to see wage costs.
- Rippling allows filtering on updated_at, but not on the work schedule itself. KoppelHet fetches changed workers in pages of at most a hundred and compares the schedule with what Dyflexis already holds, so only a real change triggers a new delivery.
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 worked hours go back to Rippling?
No. Rippling usually does not pay Dutch employees itself. The hours from Dyflexis go to Dutch payroll; that flow can be added later as an extension.
What if the work schedule in Rippling is empty?
Then the employee does go to Dyflexis, but without a contract, and HR gets an alert. Once the schedule is filled in, the next round creates the contract.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Rippling through the REST API (List workers) with a token with only the required scopes. Filter on updated_at, expand on user, employment_type, department and compensation; cursor pagination with limit up to 100. Fields include number, work_email, status, location (type REMOTE or WORK), work_location_id, work_schedule (hours per day), start_date, end_date and employment_type (CONTRACTOR or EMPLOYEE, compensation_time_period HOURLY or SALARIED, amount_worked).
- To Dyflexis through POST /api2/external-employees/{employeeReference} (lastName required; personnelNumber, email, costCenter, employmentStart, employmentEnd) and POST /api2/external-employees/{employeeReference}/contracts (contractReference, office, type, start, end, hours, days, salary). Scope external_employees; offices through GET /api2/offices, contract types through GET /api2/contract-types.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Rippling | Field in Dyflexis | Notes |
|---|---|---|
id (Rippling-worker) | employeeReference | Fixed key in the delivery path |
number | personnelNumber | |
user.name.preferred_given_name, family_name | firstName, lastNamePrefix, lastName | |
work_email | email | |
start_date en end_date | employmentStart en employmentEnd | |
work_location_id | office (contract) | Through a table from work locations to offices |
work_schedule (uren per dag) | hours en days (contract) | Sum of the hours, number of days with hours |
employment_type en amount_worked | type (contract) | |
compensation (HOURLY) | salary (contract, per uur) | |
department | costCenter |
Related
Carerix → Rippling
Carerix to Rippling integration: successful match as a hire for review in Rippling
Greenhouse → Rippling
Greenhouse to Rippling integration: every hire straight into Rippling for review
Recruitee → Rippling
Recruitee to Rippling integration: hired candidates ready to hire
Rippling → 4PS Construct
Rippling to 4PS Construct integration: own employees of the construction entity in 4PS, with department as a dimension