AFAS Profit logoStudyTube logo

Training and certificates

AFAS to StudyTube integration: employees and jobs to the academy, certificates with validity back

With an integration between AFAS Profit and StudyTube, every employee from AFAS automatically gets a StudyTube account, in the team of their organisational unit and with the role that belongs to their job. Earned certificates come back to AFAS as a course on the employee, with their expiry date, so HR sees in AFAS who must repeat a mandatory training.

What the integration does

Organisations that run HR and payroll in AFAS Profit and use StudyTube for safety and vocational training add new employees to StudyTube by hand. After a promotion the job title is wrong, and who needs to repeat a VCA or NEN course is kept in an Excel list next to AFAS.

  1. HR enters the new employee with contract, job and organisational unit in AFAS, as today.
  2. KoppelHet sets up the structure of organisational units as teams in StudyTube, from the top unit down.
  3. The employee gets a StudyTube account in the team of their unit, with the role of their job. StudyTube assigns the mandatory training based on that role.
  4. An earned certificate comes back to AFAS as a course on the employee, marked as earned and with the validity dates.
  5. After the last working day in AFAS the account is removed from the academy; StudyTube keeps a backup.
AFAS Profit → KoppelHet → StudyTubeSOURCEAFAS ProfitTARGETStudyTubeKoppelHetmapping · logging · monitoringAFAS Profit → KoppelHet → StudyTubeSOURCEAFAS ProfitTARGETStudyTubeKoppelHetmapping · logging · monitoring
Out: User with name, email, employee number and cost centre · Team per organisational unit, with the parent unit · Team manager · Employee role per AFAS job
Back: Earned certificates with name, achievement date and expiry date

What to watch for with AFAS Profit and StudyTube

  • AFAS can record on an employee's course that the certificate was earned, with a valid-from and valid-until date. A StudyTube certificate with an expiry date lands there, so an overview of expiring certificates can be built in AFAS itself.
  • Every AFAS job becomes an employee role in StudyTube with the AFAS job code as its code. When an employee gets another job in AFAS, the role changes with it and StudyTube assigns the training of the new job.
  • The organisational units in AFAS form a tree. StudyTube only accepts a team when its parent team already exists, so KoppelHet sends the units level by level, with at most five hundred teams at a time.
  • AFAS often knows the termination date weeks in advance. StudyTube ignores an end date in the future and only removes the user once the date has passed. KoppelHet therefore sends the removal on the day after the last working day.
  • The integration reads AFAS through a dedicated GetConnector with only name, job, unit, cost centre and contract dates. Salary, address and citizen service number from the same employee file do not go to StudyTube.
  • If employees work for several employers within one AFAS environment, the employee number stays the key and the employer becomes the top team. A training budget in StudyTube then shows per employer who belongs to it.

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

Does the certificate document itself also go into the AFAS file?

In the first version, name and dates arrive as a course on the employee. The PDF file as a dossier item can be added later as an extension.

What does our AFAS administrator need to arrange?

An app connector with the GetConnector for employees and units and the UpdateConnector for courses per employee. We do this together; the setup of AFAS itself does not change.

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 and organisational units, filtered on change date, through an app connector with only those connectors. Certificates go back through the HrEmpCourse UpdateConnector (courses per employee) with the fields certificate earned, valid from and valid until.
  • StudyTube is written through the Academy API v2 with OAuth 2.0 client credentials and the write scope. POST /users creates, updates or reactivates a user on uid. Teams go through academy-teams/bulk/upsert (at most 500, parents first), roles through employee-roles and users/{id}/employee-roles.
  • StudyTube does not store contract_end_date; only a date in the past removes the user. Certificates are read through users/{userId}/certificates; the expiry date is in verification_expiration_date.

Which fields are transferred

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

Field in AFAS ProfitField in StudyTubeNotes
Medewerkeruid en employee_numberFixed key; a returning employee gets their old account back
Roepnaamfirst_name
Voorvoegsel + Achternaamlast_name
E-mail werkemail
Functie (omschrijving)company_role
Functie (code)Medewerkersrol (code)One role per AFAS job; the role decides the mandatory training
Kostenplaatscost_centre
Organisatorische eenheidTeam (external_id, name, parent)
Leidinggevende van de eenheidTeammanager
Datum uit dienstVerwijderen na de laatste werkdag
StudyTube-certificaatCursus medewerker met Certificaat behaald, Geldig van en Geldig totReturn path to AFAS

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.