Nmbrs logoLinkedIn Learning logo

Training and certificates

Nmbrs to LinkedIn Learning integration: licences per company, groups per department

With an integration between Nmbrs and LinkedIn Learning, employees from Nmbrs automatically get a LinkedIn Learning licence according to the rules you choose per company or department, with company and department as groups. After the termination date the integration sets the licence to inactive, even when the termination is only entered during the payroll run.

What the integration does

Organisations that run payroll in Nmbrs, with several companies in one environment, and buy LinkedIn Learning licences per company often track who has a licence in a spreadsheet. Leavers are only noticed at the annual renewal, and reporting per company is only possible after manual work.

  1. You choose per company or department who gets a licence.
  2. Nmbrs reports changes; KoppelHet collects them and retrieves the employees.
  3. Once a day a file with all changes goes to LinkedIn Learning.
  4. LinkedIn creates learners and sets licences and groups; KoppelHet reads the result back and reports rejected rows.
  5. The day after the termination date the licence is set to inactive.
Nmbrs → KoppelHet → LinkedIn LearningSOURCENmbrsTARGETLinkedIn LearningKoppelHetmapping · logging · monitoringNmbrs → KoppelHet → LinkedIn LearningSOURCENmbrsTARGETLinkedIn LearningKoppelHetmapping · logging · monitoring
Out: Learner with name, business email and unique ID · Licence: active or inactive · Job as work_title · Groups per company and department

What to watch for with Nmbrs and LinkedIn Learning

  • In Nmbrs an employee number is only unique within one company. If your single sign-on does not use the email address as ID, KoppelHet builds the unique ID for LinkedIn from company number and employee number together, so two employees with the same number do not become one learner.
  • Every Nmbrs company becomes a group in LinkedIn Learning, and every department a group prefixed with the company name. Purchasing per company and reporting on usage per company thus follow the same structure as payroll.
  • LinkedIn Learning needs an email address for every learner. Frontline employees often have no business address in Nmbrs. KoppelHet does not pass on a private address, but puts those employees on a list for HR, who decide whether they get a work address.
  • Nmbrs sends a webhook per change, while LinkedIn processes a whole file and gives one result per file. KoppelHet bundles a day's notifications into one file, so there is one result per day to check, and adds an extra round on the day after a termination.
  • A termination sometimes only arrives in Nmbrs during the payroll run, with a date that has already passed. KoppelHet then sets the licence to inactive at the next round, so a forgotten departure does not cost months of licence.
  • Department and job have an effective period in Nmbrs. KoppelHet only updates group and work_title on the day the new value applies, so reports in LinkedIn Learning do not already count the employee in their future department.
  • Access to the Nmbrs REST API is at debtor level, with scopes the owner of the environment approves. The integration only requests employee and company data; pay components and bank details never enter the file for LinkedIn.

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

What if our payroll bureau manages Nmbrs?

Then the owner of the environment approves the access. The integration works at debtor level; an accountant login is not suitable for this.

Does progress go back to Nmbrs?

No. Nmbrs is the payroll system; progress and certificates stay in LinkedIn Learning. A report per company can be added later as an extension.

Do we need Entra ID or Okta?

Not for the licences. For single sign-on you do; we then align the unique ID with the ID your identity provider uses.

Technical details for IT

For those who want to know how it works under the hood: APIs, fields and sources used.

  • Nmbrs is read through the Nmbrs REST API with OAuth 2.0 (authorization code, at debtor level) and only the scopes for employee and company data, with webhooks as the trigger. The SOAP API stops on 1 March 2027 and is not used.
  • LinkedIn Learning HTTPS Org Sync in manual mode - upload through media/upload (enterprise_csv_upload), processing through enterpriseUploadJobs, reading back resultStats and resultMedia. CSV in UTF-8 with lowercase headers, unique_user_id, group/<name> with 0 or 1 and the product's licence column.

Which fields are transferred

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

Field in NmbrsField in LinkedIn LearningNotes
Bedrijfsnummer + Personeelsnummerunique_user_idOr your single sign-on ID
Zakelijk e-mailadresprimary_email_addressEmpty? Then no learner but an alert
Roepnaampreferred_first_name
Naamstellingpreferred_last_name
Functiework_title
Bedrijfgroup/<bedrijf>
Afdelinggroup/<bedrijf - afdeling>
Licentieregel en Datum uit dienstLicentiekolom van het product (active of inactive)

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.