DyLeave, absence and time
AFAS to Dyflexis integration: employees per employer to scheduling, paid hours back as payroll changes
With an integration between AFAS Profit and Dyflexis, new employees and employments from AFAS appear automatically in Dyflexis scheduling, with employer, cost centre and hours and days per week. After a payroll period is locked, the hours and allowances from Dyflexis go to the right employment in AFAS as payroll changes.
What the integration does
Employers that run HR and payroll in AFAS Profit and schedule in Dyflexis enter new staff twice, first in AFAS and then in Dyflexis. After every month payroll imports an hours file, and with several employers in AFAS it has to work out which lines belong to which employer.
- HR enters the new employee in AFAS with employment, employer, cost centre and schedule.
- KoppelHet sends the employee with employer and the employment as a contract to Dyflexis; an administrator links new employees once.
- The planner schedules, employees register their hours and the planner locks the period and sends it on.
- KoppelHet fetches the period, sums the hours per pay component and employment and posts them as payroll changes under the right employer in AFAS.
- The result goes back to Dyflexis. If AFAS refuses a line, the planner sees the reason on the period.
Back: Paid hours per pay component as payroll change · Allowances and expenses as payroll change · Status per period back in Dyflexis
What to watch for with AFAS Profit and Dyflexis
- AFAS can hold several employers in one environment, and Dyflexis keeps an employer reference per employee. KoppelHet fills it with the AFAS employer, so after locking, the hours of a location land as payroll changes under that location's employer.
- A payroll change that enters AFAS through an integration gets no warning on a duplicate posting. Dyflexis gives every locked period its own number in the queue. KoppelHet remembers which numbers have been posted, so a period sent on again is not paid twice.
- If AFAS refuses a payroll change, for example because a pay component does not fit the collective agreement, KoppelHet puts the reason in the status of that period in Dyflexis. The planner sees the problem where they work, instead of it only surfacing in the payroll run.
- The Dyflexis API has no way to create leave; only sickness registrations can be read and updated there. Leave approved in AFAS InSite therefore does not reach the schedule through the integration. We agree per customer whether leave is requested in AFAS or in Dyflexis.
- Dyflexis can also store marital status, partner name and place of birth for an employee, and AFAS holds that data. A dedicated GetConnector only returns what scheduling needs, so that private data does not leave AFAS.
- A contract in Dyflexis can carry an hourly wage, so the planner sees the wage cost of a schedule. That wage lives in AFAS. KoppelHet only sends it if you want wage cost in scheduling; otherwise the field stays empty.
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
Can we keep leave in AFAS?
Yes, but then it does not appear in the schedule automatically, because Dyflexis does not accept leave through the API. An alternative is requesting leave in Dyflexis, with hours taken going back to AFAS as a pay component.
What if a wage component from Dyflexis does not exist in AFAS?
Then the line is not posted, the period in Dyflexis gets the status partial and the reason is in the platform. Payroll assigns a pay component and the line still goes through.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- AFAS through a dedicated app connector with a GetConnector on employees and employments, filtered on change date. Payroll changes go to AFAS through the HrCompMut UpdateConnector. The AFAS classic token expires on 31 August 2027; new integrations use OAuth.
- Dyflexis through the Dyflexis API with a token and scopes per part. Employees with POST /api2/external-employees/{employeeReference} (personnelNumber, employerReferenceId, costCenter, probationDate, employmentStart, employmentEnd), contracts with POST .../contracts (contractReference, office, type, hours, days, salary).
- Hours through the queue GET /api2/payroll/queue/from/{lastQueueId} or the payrollPeriodReady webhook, then GET /api/payroll/v3/hours-per-day per office, contract type group and period. Status back with POST /api2/payroll/queue/{queueId}/status (in progress, success, failed, partial; message up to 1000 characters).
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in AFAS Profit | Field in Dyflexis | Notes |
|---|---|---|
Medewerker (personeelsnummer) | personnelNumber en employeeReference | Fixed key in Dyflexis |
Werkgever | employerReferenceId | Determines which employer the hours return to |
Kostenplaats | costCenter | |
Volgnummer dienstverband | contractReference | Each employment its own contract in Dyflexis |
Uren en dagen per week (rooster) | hours en days | |
Einddatum proeftijd | probationDate | |
Datum in en uit dienst | employmentStart en employmentEnd | |
components per dag (terug) | Looncomponent in de loonmutatie | Through a translation table from Dyflexis wage components to AFAS pay components |
Related
ADP Workforce Now → AFAS Profit
ADP Workforce Now to AFAS integration: Dutch employees from the US HR system in AFAS Profit
AFAS Profit → 4PS Construct
AFAS to 4PS Construct integration: payroll journal per employer in the right 4PS company
AFAS Profit → Adobe Creative Cloud
AFAS to Adobe Creative Cloud integration: users and product profiles from AFAS Profit
AFAS Profit → AG5
AFAS to AG5 integration: employees, employments and absence from AFAS Profit in the skills matrix