MOODLE™ PLUGINNO AIMOODLE 4.4 – 5.3

Client Portal for Moodle™

Give every corporate client its own branded portal. Their managers sign in and see their own people's progress, grades and certificates, and nothing else. You stop answering "how are my people going?" emails.

lms-labs.com →

1Welcome

Client Portal gives every corporate client its own branded portal in your Moodle™ site, so their managers can check on their own people without emailing you.

What Client Portal is for
What Client Portal is for
What Client Portal is for. Moodle training providers, if your corporate clients keep emailing to ask how their people are going, this one is for you.
One branded portal per client
One branded portal per client123
One branded portal per client. Client Portal gives each client its own branded portal inside your Moodle site. Their managers see their own learners, progress, grades and certificates, and nothing else.
  1. 1 Branded
  2. 2 Learners
  3. 3 Certificates
The demo and no AI
The demo and no AI
The demo and no AI. Our demo uses Saltbush Training and its client, Bayside Freight. Both are fictional, made for this tutorial. And there's no AI here. No AI, no AI credits, and no ChatGPT. Just your Moodle data.

2Set up a client

Site administrators set up each client once: the client, its cohort, its staff and which enrolments it owns.

The clients list
The clients list12
The clients list. Start in Site administration, under Client portal, then Clients. Each client is one cohort, so its learners are simply the cohort's members.
  1. 1 Clients
  2. 2 Cohort
Add a client
Add a client12
Add a client. Add a client with its name, business number and contact details. Pick an existing cohort, or let the portal create one for you.
  1. 1 Name
  2. 2 Contact
Add client staff
Add client staff12
Add client staff. Next, add the client's staff. A client manager sees everything in the portal. A client representative sees learners, groups, reports and certificates.
  1. 1 Manager
  2. 2 Representative
Existing or new accounts
Existing or new accounts12
Existing or new accounts. Add someone who already has an account, or create a new one, and Moodle emails them a password. Staff use their own account, separate from any learner account.
  1. 1 Already
  2. 2 New
Owned enrolments
Owned enrolments1
Owned enrolments. Nope! Clients only see the courses they enrolled their people in. New enrolments are assigned to the learner's client automatically.
  1. 1 Courses
Learners in two clients
Learners in two clients1
Learners in two clients. If a learner works for two clients, like Kai here, you choose which client owns that enrolment.
  1. 1 Kai
Settings
Settings123
Settings. In the settings, choose whether new enrolments are assigned automatically, whether learner emails are shown, and any extra pages staff may open.
  1. 1 Automatically
  2. 2 Emails
  3. 3 Pages

3Signing in

Client staff use your normal login page and land straight in their portal. The rest of the site is closed to them.

Sign in
Sign in1
Sign in. Client staff log in on your usual Moodle login page.
  1. 1 Log
Locked to the portal
Locked to the portal12
Locked to the portal. And they land straight in their own portal, with their company's logo and colours. Try to open a course, the dashboard or a profile, and Moodle brings them right back here.
  1. 1 Logo
  2. 2 Course

4Dashboard

The first page client staff see: headline numbers, every course, the latest completions and each group.

Headline numbers
Headline numbers123
Headline numbers. The dashboard shows learners, course enrolments, completions, work in progress, and anyone who hasn't started.
  1. 1 Learners
  2. 2 Completions
  3. 3 Started
Courses, completions and groups
Courses, completions and groups123
Courses, completions and groups. Below that, every course with its completion rate, the latest completions, and how each group is going.
  1. 1 Course
  2. 2 Latest
  3. 3 Group
Filter by group
Filter by group1
Filter by group. Pick a group, like Depot, and every number updates for just that team.
  1. 1 Group

5Learners

Every learner the client has, with drill-down to each course, each activity and each certificate.

The learners list
The learners list12
The learners list. Learners lists everyone at Bayside Freight, with their groups, courses, completions, and when they last signed in.
  1. 1 Groups
  2. 2 Signed
Add learners to a group
Add learners to a group1
Add learners to a group. Select a few learners, pick a group, and add them in one go.
  1. 1 Group
One learner
One learner123
One learner. Open a learner to see every course: status, progress, enrolment and completion dates, grade, and certificates.
  1. 1 Status
  2. 2 Progress
  3. 3 Grade
Every activity
Every activity12
Every activity. Open a course to drill into each activity, with the date and time it was completed, and its grade.
  1. 1 Activity
  2. 2 Completed
Certificates for a learner
Certificates for a learner12
Certificates for a learner. Certificates download right here. If a learner has earned one but hasn't opened it yet, the portal issues it for them.
  1. 1 Download
  2. 2 Issues

6Groups

The client's own way of organising people. Portal groups never change your courses, cohorts or Moodle groups.

Client groups
Client groups12
Client groups. Groups let the client organise learners their own way, like Depot, Drivers and Office, with an optional cost centre.
  1. 1 Depot
  2. 2 Cost
Create a group
Create a group12
Create a group. Creating a group takes a name, and a cost centre if they use one.
  1. 1 Name
  2. 2 Cost
Group members
Group members12
Group members. Then move learners in and out of the group. These groups live only in the portal, so your courses don't change.
  1. 1 In
  2. 2 Out

7Reports and certificates

A progress matrix with filters and exports, and every certificate in one place.

The progress matrix
The progress matrix1
The progress matrix. Reports shows every learner against every course on one page.
  1. 1 Course
Filter and export
Filter and export123
Filter and export. Filter by group, course or status, then export to Excel or CSV for their own records.
  1. 1 Filter
  2. 2 Excel
  3. 3 Csv
All certificates
All certificates12
All certificates. Certificates lists every certificate issued to their learners. Download one, or all of them as a zip.
  1. 1 One
  2. 2 All

8Team and privacy

Who has access, what they did, and how one client's view stays separate from another's.

Team and activity log
Team and activity log12
Team and activity log. Managers also see who has portal access, and an activity log of exports, downloads and changes.
  1. 1 Access
  2. 2 Log
The representative view
The representative view1
The representative view. Representatives see the same portal, without the team page.
  1. 1 Representatives
Privacy between clients
Privacy between clients1
Privacy between clients. And privacy holds. Sofia also works for another client, so Bayside sees only the courses Bayside enrolled her in.
  1. 1 Privacy

9Help

Client staff can't reach your site's other pages, so the portal has its own Help tab: 17 short guides to every page, each with a screenshot, numbered pins and steps. Representatives don't see the Team guide.

The Help tab
The Help tab12
The Help tab. Stuck? The Help tab has seventeen short guides, one for every page of the portal.
  1. 1 Help
  2. 2 Guides
Pinned guides
Pinned guides12
Pinned guides. Each guide has a screenshot with numbered pins, so client staff never need to ask you.
  1. 1 Screenshot
  2. 2 Pins

10Wrap up

Where to get it and what it works with.

Where to get it
Where to get it
Where to get it. Client Portal 1.0.5 works with Moodle 4.4 to 5.3, the Premium SaaS theme and Cohort Branding. Your clients stay informed, and your inbox stays quiet. Find it at lms-labs.com.

★No AI, by design

Client Portal reads your Moodle data: enrolments, activity completion, grades and certificates. It uses no AI, no AI credits and no ChatGPT, so there is nothing extra to pay and nothing sent to an AI service.

⚙Install and requirements

  1. Download local_clientportal_v1.0.5.zip from lms-labs.com.
  2. Go to Site administration › Plugins › Install plugins, drop the ZIP in and finish the upgrade.
  3. When the upgrade finishes, run Site administration › Development › Purge caches › Purge all caches so every browser loads the theme with the portal's styles. Do this after every update too.
  4. Open Site administration › Plugins › Local plugins › Client portal › Clients and add your first client.
Works withMoodle™ 4.4 to 5.3 (tested on 4.4, 4.5, 5.0, 5.1, 5.2 and 5.3)
RecommendedCohort Branding (client logo and colours) and the Premium SaaS theme
CertificatesCustom certificate (mod_customcert, including 5.2+) and Course certificate (Certificate manager)
Role created"Client portal user", given automatically to client staff

🔒Permissions

WhoWhat they can do
Site administrator or anyone with local/clientportal:manageclientsAdd clients and staff, assign owned enrolments, open any client's portal (support view)
Client managerEverything in their portal, including the team page and activity log
Client representativeLearners, groups, reports and certificates for their client
LearnersNothing changes for them

✓Best practice

🛡Privacy and data

A client sees only members of its cohort, and only the course enrolments it owns. A learner who also studies privately or through another client keeps those courses private. The plugin stores client staff, owned enrolments, client groups and an activity log, all covered by the Moodle privacy API (export and delete). Removing a learner from a client's cohort removes them from that client's groups.

?FAQ

Can client staff open courses or other pages?

No. Client staff are sent back to their portal from every other page. Site administrators are never locked.

What if a learner works for two clients?

Their new enrolments are not assigned automatically. Choose the owner under Owned enrolments; the other client never sees that course.

Do portal groups change Moodle groups?

No. They exist only in the portal.

Can clients enrol their own people or pay online?

That is the next release: enrolling from the portal at per-course prices, invoices (including Xero) and card or invoice payment.

Does it use AI?

No. No AI, no AI credits, no ChatGPT.

📝Changelog

1.0.5 (12 November 2026): passes the full GitHub CI on Moodle 4.4 to 5.3; now supports Moodle 4.4; cleaner template and styles.

1.0.4 (11 November 2026): release-desk fixes: an empty thirdpartylibs.xml and stricter field types (no PARAM_RAW).

1.0.3 (11 November 2026): first stable release. New Help tab with 17 guides for client staff; portal styles renamed to cport- so other plugins can't restyle the portal; install notes say to purge caches after an update; tidier tabs in the Premium SaaS theme.

0.1.1 (11 November 2026): certificate downloads work with Custom certificate 5.2+; a calm "This course is private" notice; course totals as percentages; links in the client's colour; tested on Moodle 4.5 and 5.3.

0.1.0 (11 November 2026): first release: clients, staff, lockdown, dashboard, learners, groups, reports, certificates, team and activity log.