Nmbrs logoMoodle logo

Training and certificates

Nmbrs to Moodle integration: employees per company in Moodle, enrolled through cohorts and suspended after leaving

With an integration between Nmbrs and Moodle, every employee from Nmbrs automatically gets a Moodle account, with company and department in their profile and a member of the cohorts that belong to their department and job. Through those cohorts Moodle enrols them in the right courses, and after the last working day the integration suspends the account so the learning history stays.

What the integration does

Organisations that use their own Moodle environment for internal training and run payroll in Nmbrs load new employees into Moodle with a CSV file. People who change department keep the old courses, and leavers can still sign in until someone cleans them up.

  1. Payroll enters the new employee in Nmbrs, with department and job.
  2. KoppelHet creates the user in Moodle, with company, department and employee number.
  3. The user joins the cohorts of their department and job; Moodle enrols them through cohort sync in the courses linked to them.
  4. On a change of department KoppelHet removes the user from the old cohort and adds them to the new one.
  5. After the last working day KoppelHet sets the account to suspended, so the employee can no longer sign in and their results are kept.
Nmbrs → KoppelHet → MoodleSOURCENmbrsTARGETMoodleKoppelHetmapping · logging · monitoringNmbrs → KoppelHet → MoodleSOURCENmbrsTARGETMoodleKoppelHetmapping · logging · monitoring
Out: User with name, email and employee number · Company and department in the profile · Cohort per department and per job · Suspension after departure

What to watch for with Nmbrs and Moodle

  • Nmbrs numbers employees per company, so the same number can occur in two companies. Moodle has one field for an external number. KoppelHet fills it with company and employee number together, so the integration finds every employee in Moodle again, even after a new email address.
  • Moodle has the standard profile fields institution and department. KoppelHet puts the Nmbrs company in institution and the department in department, so reports and filters in Moodle work per company without custom profile fields.
  • With cohort sync Moodle enrols all members of a cohort in a course, and unenrols someone who leaves the cohort. KoppelHet only manages cohort membership; which course is linked to which cohort is up to the Moodle administrator.
  • Nmbrs works in periods of a month, four weeks or a week. A department change that takes effect in a later period is only processed by KoppelHet from that period, so the employee is not unenrolled from their current department's courses too early.
  • A suspended Moodle account can no longer sign in but still exists, and suspension can be reversed; deletion cannot. KoppelHet switches on the suspended field after the end date, and switches it off again if the same employee is rehired in Nmbrs, with their earlier courses.
  • By default Moodle does not allow two accounts with the same email address, and usernames may only contain lowercase letters. Employees without a business email address in Nmbrs therefore get a username based on the external number, instead of a shared location address.
  • The Nmbrs REST API does not work with an accountant login, only with a login at debtor level. If a payroll bureau runs the administration, the employer gives the integration access, and the Moodle token only gets the functions for users and cohorts.

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

Can employees sign in with their Microsoft account?

Yes, if Moodle is set up for it. The integration then sets the right authentication method on the account; setting up single sign-on itself happens in Moodle.

Do completed courses go back to Nmbrs?

Not in the first version. Nmbrs is the payroll system; completions stay in Moodle. An overview of completed courses per company can come later as an extension.

Does this also work if a Moodle partner hosts our environment?

Yes. The partner or administrator enables the web services and creates a token for the external service with the functions above.

Technical details for IT

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

  • Nmbrs through the REST API with OAuth 2.0 (authorization code flow) and only read scopes for employee data, with webhooks as the trigger and a daily check. The SOAP API stops on 1 March 2027 and is not used.
  • Moodle through the REST web services with a token for a dedicated external service with only core_user_get_users_by_field, core_user_create_users, core_user_update_users (including idnumber, institution, department, suspended and auth), core_cohort_create_cohorts, core_cohort_add_cohort_members and core_cohort_delete_cohort_members. Enrolment through the Cohort sync enrolment method in the course.

Which fields are transferred

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

Field in NmbrsField in MoodleNotes
Bedrijfsnummer + personeelsnummeridnumberFixed key; employee numbers are unique per company
Zakelijk e-mailadresusername en emailIn lowercase, as Moodle requires
Roepnaamfirstname
Tussenvoegsel en achternaamlastname
Bedrijfinstitution
Afdelingdepartment en cohortCohort per department
FunctieCohort per functieOr a custom profile field if the job does not decide enrolment
Datum uit dienstsuspended = 1

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.