
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.
- HR enters a new employee in AFAS, with job, organisational unit and manager.
- KoppelHet looks up the Zenya user by external ID; if none exists, KoppelHet creates them with the employee number as external ID.
- Job and unit from AFAS determine position, organisational units and user groups in Zenya.
- When the manager changes in AFAS, the manager in Zenya is updated, so reports are routed correctly.
- After the end date KoppelHet sets the user to inactive; deletion does not happen.
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 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
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 Profit | Field in Zenya | Notes |
|---|---|---|
Medewerkernummer | external_id | Fixed key, even with a new work email |
Gebruikersnaam of E-mail werk | login_code | Required; follows the sign-in convention with single sign-on |
Roepnaam + Voorvoegsel + Achternaam | name | |
E-mail werk | email_address | |
Functie | position_id | Position looked up or created by name |
Organisatorische eenheid (met bovenliggende eenheid) | organization_unit_ids | Unit with external_id and parent_id |
Leidinggevende (Medewerkernummer) | manager_id | |
Organisatorische eenheid of functie | user_group_ids | |
Datum uit dienst | active = false |
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