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.
- Payroll enters the new employee in Nmbrs, with department and job.
- KoppelHet creates the user in Moodle, with company, department and employee number.
- The user joins the cohorts of their department and job; Moodle enrols them through cohort sync in the courses linked to them.
- On a change of department KoppelHet removes the user from the old cohort and adds them to the new one.
- After the last working day KoppelHet sets the account to suspended, so the employee can no longer sign in and their results are kept.
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 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
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 Nmbrs | Field in Moodle | Notes |
|---|---|---|
Bedrijfsnummer + personeelsnummer | idnumber | Fixed key; employee numbers are unique per company |
Zakelijk e-mailadres | username en email | In lowercase, as Moodle requires |
Roepnaam | firstname | |
Tussenvoegsel en achternaam | lastname | |
Bedrijf | institution | |
Afdeling | department en cohort | Cohort per department |
Functie | Cohort per functie | Or a custom profile field if the job does not decide enrolment |
Datum uit dienst | suspended = 1 |
Related
ADP Workforce Now → Nmbrs
ADP Workforce Now to Nmbrs integration: the Dutch payroll group from ADP in the right Nmbrs company
AlexisHR → Nmbrs
AlexisHR (Simployer One) to Nmbrs integration: Dutch employees into payroll
BambooHR → Nmbrs
BambooHR to Nmbrs integration: Dutch payroll next to a global HR system
Bullhorn → Nmbrs
Bullhorn to Nmbrs integration: placements with hourly pay and end date in payroll