FaDy

Leave, absence and time

Factorial to Dyflexis integration: Factorial contract versions as contracts in Dyflexis

With an integration between Factorial and Dyflexis, employees of the Dutch entity in Factorial appear in Dyflexis automatically, and every contract version in Factorial becomes a contract in Dyflexis with hours, working days, weekly maximum and effective date. A change of hours or a departure in Factorial thus reaches scheduling from the right day.

What the integration does

Organisations that use Factorial for HR and schedule their Dutch staff in Dyflexis copy every change of hours by hand. A new contract version in Factorial only reaches the schedule when the planner hears about it.

  1. HR hires an employee in Factorial at the Dutch entity, with working hours and working days in the contract version.
  2. Factorial reports the hire or change; KoppelHet fetches the employee and the contract versions.
  3. The employee goes to Dyflexis, with a contract per version from the effective date.
  4. An administrator links the new employee once in Dyflexis; after that every new version follows automatically.
  5. On leaving KoppelHet closes the last contract on the end date from Factorial.
Factorial → KoppelHet → DyflexisSOURCEFactorialFactorialTARGETDyflexisDyflexisKoppelHetmapping · logging · monitoringFactorial → KoppelHet → DyflexisSOURCEFactorialFactorialTARGETDyflexisDyflexisKoppelHetmapping · logging · monitoring
Out: Employee with name, work email and start date · Contract per contract version, with effective date · Hours per week, working days and maximum hours per week · Probation period · End date on leaving

What to watch for with Factorial and Dyflexis

  • Factorial stores working days as a list of day names, for example Monday to Thursday. Dyflexis wants the average number of working days per week. KoppelHet counts the days in that list, so a Monday-to-Thursday contract becomes four days in Dyflexis.
  • In Factorial the working hours come with a frequency, such as per week. Dyflexis always calculates per week. If a contract in Factorial has a different frequency, KoppelHet converts to weekly hours, or reports it if the conversion is not unambiguous.
  • Factorial can record a maximum number of hours per week per contract version. Dyflexis only takes such a maximum when the upper limit setting is on for the contract type. KoppelHet sends the maximum along; scheduling decides per contract type whether Dyflexis uses it.
  • A new contract version in Factorial has its own effective date. KoppelHet turns it into a new contract in Dyflexis with the same start date, and sets the day before as the end of the previous one, so the change of hours takes effect on exactly the right day.
  • Factorial explicitly separates the end of the probation period from the end of the contract. Dyflexis has its own field for each. KoppelHet puts the probation period in the probation field and does not touch the employment end date with it.
  • Factorial can hold several legal entities in one account. KoppelHet only requests changes for the Dutch entity, so colleagues from other countries do not end up in Dutch scheduling.
  • Factorial stores salary in cents with a frequency, such as per year. Dyflexis can store an hourly wage per contract. KoppelHet only fills it when the frequency is per hour, so an annual salary does not end up as a wrong hourly wage in the wage cost estimate.

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

Which Dyflexis office does an employee get?

We determine that with a table based on the workplace or team in Factorial. If a row is missing, the employee arrives without a contract and scheduling gets an alert.

Do worked hours go back to Factorial?

No. Worked hours go to Dutch payroll; that flow 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.

  • Factorial through the Factorial API (version date in the path) with OAuth 2.0. Employee updates (new hires, contract changes, terminations) filtered on the Dutch legal entity, and contract versions with effective_on, starts_on, ends_on, working_hours (integer), working_hours_frequency, working_week_days, maximum_weekly_hours, trial_period_ends_on, salary_amount (cents) and salary_frequency. Webhooks for changes, with a daily check.
  • To Dyflexis through POST /api2/external-employees/{employeeReference} (lastName required; firstName, lastNamePrefix, email, probationDate, employmentStart, employmentEnd, jobDescription) and POST /api2/external-employees/{employeeReference}/contracts (contractReference, office, type, start, end, hours, days, salary, maxHoursPerWeek). Scope external_employees.

Which fields are transferred

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

Field in FactorialField in DyflexisNotes
id (Factorial-medewerker)employeeReference
first_name, last_namefirstName, lastNamePrefix, lastName
emailemail
contract version idcontractReferenceEvery version its own contract
effective_on en ends_onstart en end (contract)
working_hours met working_hours_frequencyhours (contract)Converted to hours per week
working_week_daysdays (contract)Number of listed days
maximum_weekly_hoursmaxHoursPerWeek (contract)
trial_period_ends_onprobationDate
job_titlejobDescription

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.