vPLeave, absence and time
AFAS to vPlan integration: employees as resources, schedule hours and leave in work planning
With an integration between AFAS Profit and vPlan, every employee from AFAS appears in vPlan as a resource automatically, with the working hours per day from the AFAS schedule and an end date on departure. Approved leave and sick reports from AFAS reduce the available hours on those days, so planners do not schedule work on someone who is not there.
What the integration does
Anyone who runs HR in AFAS Profit and plans work orders in vPlan creates every new employee as a resource by hand, with a standard 40-hour week. The planner does not see leave approved in AFAS, so jobs end up scheduled on someone who is on holiday.
- HR records a new employee in AFAS with employment and schedule.
- KoppelHet creates a resource of type employee in vPlan, with the start date and the AFAS employee number as reference.
- The working hours per day come from the AFAS schedule, even when someone does not work the same every week.
- Approved leave and absence from AFAS reduce the available hours in vPlan on the days concerned.
- On departure the resource gets the end date from AFAS, so no more work can be planned on it after that.
What to watch for with AFAS Profit and vPlan
- AFAS has three kinds of schedules, hours per day, hours per week and fixed times. vPlan calculates with working hours per weekday. A daily schedule transfers one to one; for a schedule in hours per week KoppelHet spreads the hours over the working days in AFAS, by a rule you choose beforehand.
- A resource in vPlan has one fixed working week, unless the integration manages the schedule per date. If an engineer works a schedule in AFAS that changes per week, KoppelHet switches vPlan to a schedule managed by the integration and sends the hours per day.
- As soon as a resource in vPlan has an external reference, vPlan blocks certain manual changes by planners. That is intended, because name, dates and schedule come from AFAS. Planners keep the work orders and cards in their own hands.
- AFAS records leave in minutes per entry. vPlan calculates with hours per day for work, leave and absence. KoppelHet converts half a day of leave in AFAS to that day's leave hours in vPlan, so the planner still sees that a morning is left.
- A reference may occur only once in vPlan, also on an archived resource. If a former employee returns in AFAS, KoppelHet restores the existing resource from the archive instead of creating a new one.
- In vPlan a resource and a user are two different things. An engineer does not need a login to be scheduled. The integration only creates resources; users for planners and work preparers stay in vPlan itself.
- No salary, citizen service number or leave type goes from AFAS to vPlan. vPlan only needs to know how many hours someone is available on a day, not why.
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 hours logged in vPlan go back to AFAS?
vPlan can export time tracking per day, week or user. Booking those hours in AFAS as project costing or payroll change can be added later as an extension.
What if a planner gives time off in vPlan directly?
Leave belongs in AFAS, where the balance is kept. If the integration manages the schedule, the next round overwrites what was changed by hand in vPlan. We agree that with the planners beforehand.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- AFAS is read with a dedicated GetConnector on employees, employments, schedules, leave entries and absence reports, filtered on change date. In the UpdateConnector HrAbsence the leave hours depend on the schedule type (DuBe for hours per day, DuRa for hours per week, DaBe/DaEn for fixed times), in minutes.
- vPlan is written through the vPlan API (https://api.vplan.com/v1) with OAuth 2 or API key. Resources with name, type (employee), start_date, end_date, workdays and external_ref; with integration_schedule set to true the integration manages the schedule through PUT /resource/{resource_id}/schedule with hours_work, hours_leave and hours_absence per date.
- An alternative for leave is schedule deviations per resource (type holiday or leave, time_per_day in minutes, skip_non_workday). vPlan returns RateLimit headers; a duplicate external_ref returns HTTP 422 Duplicate entry.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in AFAS Profit | Field in vPlan | Notes |
|---|---|---|
Medewerker (EmId) | external_ref van de resource | Unique in vPlan, also against archived resources |
Roepnaam en achternaam | name | |
Vaste waarde | type = employee | |
Datum in dienst | start_date | |
Datum uit dienst | end_date | |
Rooster (uren per dag) | workdays of schedules[].hours_work | Per date when the schedule differs between weeks |
Verlofboeking (minuten) | schedules[].hours_leave | Converted to hours per day |
Verzuim | schedules[].hours_absence | Hours only, no reason or diagnosis |
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