AFAS Profit logovP

Leave, 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.

  1. HR records a new employee in AFAS with employment and schedule.
  2. KoppelHet creates a resource of type employee in vPlan, with the start date and the AFAS employee number as reference.
  3. The working hours per day come from the AFAS schedule, even when someone does not work the same every week.
  4. Approved leave and absence from AFAS reduce the available hours in vPlan on the days concerned.
  5. On departure the resource gets the end date from AFAS, so no more work can be planned on it after that.
AFAS Profit → KoppelHet → vPlanSOURCEAFAS ProfitTARGETvPlanvPlanKoppelHetmapping · logging · monitoringAFAS Profit → KoppelHet → vPlanSOURCEAFAS ProfitTARGETvPlanvPlanKoppelHetmapping · logging · monitoring
Out: Resource of type employee · Start and end date · Working hours per day from the AFAS schedule · Leave hours per day · Absence hours per day

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, 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

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 ProfitField in vPlanNotes
Medewerker (EmId)external_ref van de resourceUnique in vPlan, also against archived resources
Roepnaam en achternaamname
Vaste waardetype = employee
Datum in dienststart_date
Datum uit dienstend_date
Rooster (uren per dag)workdays of schedules[].hours_workPer date when the schedule differs between weeks
Verlofboeking (minuten)schedules[].hours_leaveConverted to hours per day
Verzuimschedules[].hours_absenceHours only, no reason or diagnosis

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.