AFAS Profit logoZenya logo

Accounts in applications

AFAS to Zenya integration: users, positions and organisational units from AFAS Profit in Zenya

With an integration between AFAS Profit and Zenya, every new employee from AFAS gets a Zenya user with position, manager and the organisational units protocols and incident reports are set up on. After the end date in AFAS the user becomes inactive, so their read confirmations and reports are kept but they can no longer sign in.

What the integration does

Organisations that manage employees in AFAS and quality documents, incident reports and risks in Zenya maintain users and their department in Zenya by hand. A new colleague then does not see their team's protocols, and a report goes to a manager who has already left.

  1. HR enters a new employee in AFAS, with job, organisational unit and manager.
  2. KoppelHet looks up the Zenya user by external ID; if none exists, KoppelHet creates them with the employee number as external ID.
  3. Job and unit from AFAS determine position, organisational units and user groups in Zenya.
  4. When the manager changes in AFAS, the manager in Zenya is updated, so reports are routed correctly.
  5. After the end date KoppelHet sets the user to inactive; deletion does not happen.
AFAS Profit → KoppelHet → ZenyaSOURCEAFAS ProfitTARGETZenyaKoppelHetmapping · logging · monitoringAFAS Profit → KoppelHet → ZenyaSOURCEAFAS ProfitTARGETZenyaKoppelHetmapping · logging · monitoring
Out: Zenya user with login code, name, work email and status · Job as Zenya position · Organisational unit as Zenya organisational unit · Manager · User groups per unit or job

What to watch for with AFAS Profit and Zenya

  • For a new user Zenya only requires a login code and a name. KoppelHet also sets the employee number from AFAS as external ID. Searching on that ID also works if an employee's work email or login code changes later, for example after a name change.
  • Organisational units in AFAS have a parent unit, and in Zenya an organisational unit can have a parent and its own external ID. KoppelHet rebuilds the AFAS tree in Zenya, with the AFAS code as external ID, so a renamed unit stays the same Zenya unit.
  • In Zenya the manager points to another Zenya user, and AFAS knows the manager as an employee. KoppelHet looks up the manager's Zenya user through their employee number. If a manager starts on the same day as their team, they are created in Zenya first.
  • Zenya has personal accounts and group accounts, such as an account for a department computer. Group accounts are not in AFAS. KoppelHet only touches users with an external ID from AFAS, so group accounts and external auditors stay as they are.
  • For a user group in Zenya members can be added and removed without replacing the whole member list. KoppelHet only changes the members that come from AFAS, so someone an administrator added by hand to a working group stays there.
  • Zenya can delete a user, but then the link to their earlier read confirmations and reports is lost. On a departure in AFAS KoppelHet therefore sets the user to inactive. When someone is rehired, the same user becomes active again.
  • Infoland itself offers an AFAS integration for users from AFAS Online. If you already use it, KoppelHet does not rebuild it. Custom work mainly makes sense if positions, organisational units and managers must also come from AFAS, or if AFAS does not run in the cloud.

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

We already connect Zenya through Entra ID with SCIM. Do we need this?

Not for accounts. Then let Entra ID stay the source for users. Only position, organisational units or manager from AFAS can be a supplement; we avoid two sources for the same users.

Does single sign-on still work afterwards?

Yes. The login code follows the convention you use for single sign-on, for example the work email. We agree that at the start.

What happens to temporary staff and interns?

If they are in AFAS, they can come along with their own group. If not, they stay outside the integration and Zenya manages them as now.

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 under its own app connector, with employees (employee number, preferred name, prefix, last name, work email, job, organisational unit, manager, end date) and organisational units with parent unit, filtered on modification date.
  • To Zenya through REST API v5 with a token through POST /tokens (api_key and username). POST /users (login_code and name required; email_address, external_id, position_id, manager_id, organization_unit_ids, user_group_ids, active, account_type), PATCH /users/{user_id}, GET /users with external_ids. POST /organization_units (name required; parent_id, external_id), POST /positions, PATCH /user_groups/{id} with add_user_ids and remove_user_ids.

Which fields are transferred

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

Field in AFAS ProfitField in ZenyaNotes
Medewerkernummerexternal_idFixed key, even with a new work email
Gebruikersnaam of E-mail werklogin_codeRequired; follows the sign-in convention with single sign-on
Roepnaam + Voorvoegsel + Achternaamname
E-mail werkemail_address
Functieposition_idPosition looked up or created by name
Organisatorische eenheid (met bovenliggende eenheid)organization_unit_idsUnit with external_id and parent_id
Leidinggevende (Medewerkernummer)manager_id
Organisatorische eenheid of functieuser_group_ids
Datum uit dienstactive = false

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.