Connect Nmbrs to Microsoft Entra ID

Connect Nmbrs to Microsoft Entra ID

Connect Nmbrs to Microsoft Entra ID

When someone joins, moves or leaves in Nmbrs, you want that change reflected in Microsoft Entra ID without anyone touching it by hand. To connect Nmbrs to Microsoft Entra ID, Joinly reads each HR change at the source — through the Nmbrs REST API — and applies it automatically to the right account. Nmbrs stays your source of truth; Joinly is the engine that keeps every action accurate and traceable.

Key takeaways

  • Nmbrs stays your source of truth; Joinly applies every joiner, mover and leaver to Entra ID automatically.

  • Joinly maps the Nmbrs org model — debtor, company, department and function — to the right Entra ID groups and licences, something a hand-built API integration doesn’t do on its own.

  • Joinly times account creation to the Nmbrs service-interval (dienstverband) start date, so people get access on the day their employment actually starts, not the moment payroll enters them.

  • Because Nmbrs is a payroll-first system that often has no work email, Joinly generates a clean, unique UPN from the name fields with a controlled fallback for duplicates.

  • Every action is logged for a complete audit trail, aligned with NIS2 and ISO 27001.

Nmbrs

Joiner

Mover

Leaver

Microsoft Entra ID (formerly Azure AD)

Quick facts

Source system

Nmbrs (Visma)

Target system

Microsoft Entra ID (formerly Azure AD)

Connection method

Nmbrs REST API → Entra ID

Supported events

Joiner, mover, leaver (incl. rehire and multiple service intervals)

Synced attributes

Name, email / UPN, department, function (job title), manager, company, employee number, service-interval start and end date

Authentication

OAuth 2.0 (Authorization Code Flow) via Nmbrs identity service

Real-time or batch

Frequent sync, multiple times per day

Compliance

ISO 27001, NIS2-ready, GDPR (EU data centre)

How does Joinly sync Nmbrs to Microsoft Entra ID?

Joinly reads each HR change in Nmbrs through the REST API and applies it to the matching Entra ID account automatically. Nmbrs holds the authoritative employment record — the service interval, department and function — so it is the starting point for each identity action.

  1. Joiner. The salary administrator completes the hire in Nmbrs. Joinly reads the new employee and their service interval, determines the role from the company, department and function, and creates the account in Entra ID, assigns the right licences and maps the person into the correct groups — timed to the service-interval start date.

  2. Mover. When someone changes department, function or company in Nmbrs, Joinly updates their group membership, permissions and licences to match. Because Nmbrs data is period-based, Joinly acts on the change in the period it becomes effective, and access that no longer fits the new role is revoked.

  3. Leaver. When the service interval is closed with an end date in Nmbrs, Joinly disables the Entra ID account automatically. There are no orphaned accounts left active after someone has left, and where a person holds more than one service interval, access is only removed when the last active interval ends.

Example: An accountancy firm runs Nmbrs for its own staff and hires a new assistant accountant with a service-interval start date next Monday, in the Audit department. Joinly reads the record, waits until the start date, creates the Entra ID account, assigns an Office E3 licence and adds the assistant to the Audit group. When that person later moves to the Tax function, Joinly swaps the group the same day and leaves a logged trail of exactly which Nmbrs change drove it.

What manual user management costs

Without automation, every account starts as a message from the payroll administrator or a line in a spreadsheet that IT works through by hand. A hand-built Nmbrs API integration or a generic iPaaS connector can copy attributes across, but it maps departments and functions to groups through manual rules and has no sense of the service-interval start date — so the part that actually decides access still falls to people.

  • Onboarding delays. New joiners wait for accounts, licences and group access while a request sits in a queue, losing productive days in their first week.

  • Permissions that don’t keep up (privilege creep). When movers change department or function, old access often stays attached, so people accumulate rights they no longer need.

  • Forgotten offboarding. Accounts that aren’t disabled on time are both a security and audit risk, and unused licences keep costing money — and a closed service interval in payroll is easy to miss without a direct link to IT.

Joinly vs. a hand-built Nmbrs API integration

Because Nmbrs isn’t published as a native Entra ID provisioning app, the usual alternative is a custom integration against the Nmbrs REST API or a generic iPaaS connector. Both can move data, but they stop short of the part that actually decides access. Here’s how the two compare for a Nmbrs-driven setup.


Joinly

Custom REST integration / iPaaS

Source

Reads the Nmbrs REST API directly

Reads Nmbrs directly

Role-to-group mapping

Built in, rule-based on department and function

Hand-coded per rule; no role-to-group out of the box

Service-interval timing

Times account creation to the dienstverband start date

Needs custom date-window logic

Multiple service intervals

Resolves the active interval that drives the account

Easy to sync a closed or wrong interval

UPN without a work email

Generates a unique UPN from name fields with fallback

Manual pattern; collisions likely

On-premise AD

Yes, own agent plus the native Microsoft agent

Separate build, no shared logic

Audit trail

Per-action logging tied to the HR source

Whatever you build yourself

Watch-outs when connecting Nmbrs to Microsoft Entra ID

A few Nmbrs-specific details decide whether this connection stays reliable at scale.

  • Service-interval (dienstverband) start date. In Nmbrs the service-interval start date is what payroll uses, and it isn’t always the same as the calendar date the record was entered. Provisioning too early or too late both cause problems. Joinly reads the service-interval start date and times account creation to it, so access is ready on the right day and not before.

  • Period-based department and function changes. Departments and functions in Nmbrs are defined at debtor level and stored per period, so a mover’s new department only becomes authoritative in the period it takes effect. Joinly reads the effective period rather than the latest edit, so a group change lands when the move is actually live.

  • No work email in a payroll-first system. Nmbrs is built around payroll and often doesn’t hold a work email or UPN. Joinly generates the userPrincipalName from the name fields with custom transformation rules — a suffix or controlled tiebreaker — so every UPN is unique and predictable from day one.

  • Mapping departments and functions to Entra groups. A debtor’s departments and functions don’t translate one-to-one to Entra ID groups. Joinly builds explicit mapping rules from those structures to the correct groups and licences, so role drives access rather than manual assignment.

  • Multiple service intervals and rehires. An employee can have more than one service interval over time, including a rehire. Joinly resolves the active interval that should drive the account, so a rehire re-enables the right identity instead of creating a duplicate.

Joinly handles each of these by default with custom mapping and transformation.

Always audit-ready

Every account action Joinly performs is logged: who was affected, when it happened, which access changed and which Nmbrs change triggered it. For NIS2 that matters directly: access can be traced back to an authorised HR source rather than an ad-hoc request. Joinly is ISO 27001 certified, runs in an EU data centre in Amsterdam, applies least-privilege by default, and is built to meet NIS2 and ISO 27001.

Example case

Picture an accountancy and bookkeeping firm with around 180 staff across four offices, running Nmbrs as its HR and payroll core while account creation never quite keeps up. New joiners, interns during busy season and a steady flow of internal moves between the audit, tax and bookkeeping teams all start as a message from the payroll administrator that IT works through by hand — and because Nmbrs holds no work email, someone has to invent a username each time. New hires regularly wait until day two for their account, and a closed service interval sometimes slips past offboarding entirely.

Connect Nmbrs to Microsoft Entra ID with Joinly and that work disappears. Joinly reads each HR change in Nmbrs at the source and acts on it automatically: new hires have their account, Office licence and group access ready on their service-interval start date, moves between departments swap the right groups in the period they take effect, the UPN is generated cleanly from the name fields, and leavers are disabled when their service interval closes with a 30-day soft-delete grace window.

“Half of onboarding used to be inventing a username and chasing the payroll office for a start date. Now the account is simply ready on the first day, and we can show the auditor exactly which change in Nmbrs created every bit of access.” — Head of IT, accountancy firm

The outcome this setup is designed for: onboarding drops from days to zero touch, forgotten offboarding stops entirely, and the team can walk into its next NIS2 assessment with a complete, source-backed audit trail.

More than a connector

A standalone Nmbrs to Entra ID connection is a good start, but identity rarely stops at one target. Joinly manages the complete chain from joiner to leaver across all your systems, with logging and governance built in. You review the exceptions; Joinly maintains the chain.

Schedule a demo

Installation manual

Installation manual

Connect Nmbrs to Microsoft Entra ID

Connect Nmbrs to Microsoft Entra ID

Installation guide

Follow these steps to connect Nmbrs to Microsoft Entra ID with Joinly. The entire cloud setup happens in the platform, with no scripts or local software required.

1. Create your account

Go to platform.joinly.app and create your account.

Note: charges may apply for using the platform after the trial period ends.


Joinly account creation screen at platform.joinly.app


Sign up at platform.joinly.app to get started.

2. Connect your Microsoft account

Open platform.joinly.app/settings/provisioning/idp-setup and connect your Microsoft tenant. Select the scopes you need. For provisioning you don’t need any additional scopes.


Joinly identity provider setup screen for connecting a Microsoft Entra tenant


Connect your Microsoft tenant and pick your scopes.

3. Import your existing accounts from Entra ID

Import all existing accounts from Entra ID at platform.joinly.app/settings/provisioning/entra-import. This gives Joinly a baseline of every account that already exists, so it can match people to their current account instead of creating duplicates.

4. Find the Nmbrs integration in the Joinly marketplace

Open the Joinly marketplace and search for the Nmbrs integration.

Don’t see your system listed? Get in touch at support@koppelhet.nl and we’ll help you out.


Joinly marketplace showing available HR integrations


Search the marketplace for the Nmbrs integration.

5. Follow the installation wizard

You may be redirected to integrations.joinly.app. Create an account there and authorise Joinly against Nmbrs. The Nmbrs REST API uses OAuth 2.0, so you sign in to Nmbrs and consent — Joinly receives a token rather than a stored password. We only ask for the access needed to establish a successful connection with Nmbrs. All data is encrypted and stored securely.


Joinly installation wizard for connecting to Nmbrs via OAuth


Authorise Joinly against Nmbrs with OAuth in the wizard.

6. Configure your field mapping

Set up all your field mappings here. Templates support Liquid, so you can build your display name, UPN and other attributes dynamically from Nmbrs fields.

Frequently asked questions

  • How do I map the manager? Reference the manager on the Nmbrs record in the mapping and Joinly resolves the link to the right manager automatically.

  • How do I build a UPN when Nmbrs has no work email? Generate it from the name fields; Joinly exposes first name, last name and prefix so you can construct a clean address.

  • How do I prevent duplicate usernames? Use the generateUniqueUsername helper, which falls back to the next pattern when the first one is already taken:
    {{ generateUniqueUsername: “{firstName}.{prefix}.{lastName}”, “{initials}.{prefix}.{lastName}” }}


Joinly field mapping screen for Nmbrs attributes using Liquid templates


Map Nmbrs fields to Entra ID attributes with Liquid templates.

7. Configure the scheduled import

At platform.joinly.app/settings/import-configs, configure how often the import from Nmbrs should run.

8. Configure your workflows

Workflows are where Joinly turns each HR change into the right action in Entra ID. Create an onboarding (joiner) and offboarding (leaver) workflow with trigger-based execution, then an Identity updated workflow with a Create/update employee in Entra action so every change in Nmbrs flows straight through to Entra ID. Finally, add a threshold workflow with the Entra soft delete action that runs a set period after the service-interval end date (for example 30 days) to retire accounts safely.


Joinly workflow editor creating an employee onboarding workflow


Create a trigger-based onboarding workflow.


Adding the create or update employee in Entra action to a workflow


Add the create/update action, then set your matching strategy and field mapping.


Adding the Entra soft delete action to remove accounts on employee leave


Add the Entra soft delete action to retire accounts safely.

## AD on-premise support

Need to provision to an on-premise Active Directory as well? See our dedicated guide on connecting Nmbrs to Active Directory, or contact support at support@koppelhet.nl to request setup of the Joinly AD Agent.

Frequently asked questions

Does the Nmbrs to Microsoft Entra ID connection work in real time?
It runs as a frequent sync that updates multiple times per day, so changes in Nmbrs reach Entra ID quickly without waiting for a nightly batch.

How does Joinly build a username when Nmbrs has no work email?
Nmbrs is payroll-first and often holds no work email, so Joinly generates the UPN from the name fields with a Liquid template and a uniqueness fallback, giving every person a clean, predictable address from day one.

How are service-interval start dates handled?
Joinly reads the service-interval (dienstverband) start date on the Nmbrs record and times account creation to it, so access is ready on the day employment actually starts rather than the moment payroll saved the record.

Which attributes sync from Nmbrs to Entra ID?
Name, email / UPN, department, function (job title), manager, company, employee number, and service-interval start and end date. Additional Nmbrs fields can be mapped via Liquid templates.

Do I need to build my own Nmbrs API integration?
No. Joinly connects to the Nmbrs REST API for you and takes over the provisioning, role-to-group mapping and service-interval timing that a hand-built integration would leave to you, and maintains it as your Nmbrs data changes.

Does Joinly also support AD on-premise or hybrid provisioning?
Yes. Joinly has its own AD on-premise agent and also supports the native Microsoft Entra provisioning agent, so you can provision users to your on-premise AD environment as well. See the Nmbrs to Active Directory guide.

Request installation support