Compliance & Certification Expiry
The Compliance & Certification Expiry screen tracks every certificate held across your workspace: which are current, which expire soon and which have already lapsed, with renewal courses and reminder emails. It is for compliance officers, L&D administrators, managers and team leads who must keep people certified and cannot afford a lapse found at audit time.
At a glance
Section titled “At a glance”- Route:
/skills/cert-expiry. In the sidebar it sits under Skills & Capability as Compliance & Certification Expiry. The page header reads Compliance & Certification Expiry Tracker. - Who can open it: the Admin and Manager roles by default. The Viewer role does not get it by default, because the specialist modules are held back from Viewer. Roles are managed for the whole LearnBoard installation, not from your workspace admin screens. The Learner role never sees it.
- Who can send renewal reminders: only people who can manage your workspace’s reporting configuration, which by default is the Admin role. Managers and team leads see the screen without the reminder buttons. Demo workspaces never send email.
- Team leads: can open it. Every tile, chart and row is limited to the learners in their own Moodle groups. Team leads have no CSV export.
- Plan: part of the Skills & Capability pack. On the standard plans that is Business, Scale and Enterprise. Without the pack the screen shows “Part of the Skills & Capability pack, not included in your current plan.”
- Filters: Cohort, Department, Certificates, Expiry window, Show only inactive, due soon, and a date chip set from the calendar. Every choice is kept in the page address.
- Data it needs: certificates issued from a certificate activity on your Moodle site. To track expiry you also need a validity period for each certificate, set in Certificate setup. Without one, certificates are tracked as Permanent.
- Who is counted: holders are learners: people with an active learner enrolment in any course. Staff in the certificate’s course, suspended accounts and courses excluded in your settings are left out. A certificate earned in a course the holder has since left still counts, because it is what renewals track.

How expiry dates are worked out
Section titled “How expiry dates are worked out”- A certificate’s expiry date is the date stored on the certificate when it has one. Otherwise it is the issue date plus the validity window set for that certificate, in whole months. Dates are anniversary-clamped: a certificate issued on 29 February with a 12-month window expires on 28 February the following year.
- A certificate with no validity window is Permanent and is not tracked for expiry.
- Only the most recent issue per person per certificate counts as their current holding.
- Every figure counts certificates held, not people. One person can hold several certificates.
- “Today” is your workspace’s clock, so a certificate does not change band at the server’s midnight.
Each holding gets a status:
- Overdue: the expiry date has passed. The person is no longer compliant.
- Expiring soon: expires within the next 90 days, including today.
- Valid: expires more than 90 days from now.
- Permanent: no validity window.
A holding is also flagged inactive, due soon when the holder has had no recorded activity in the last 30 days and the certificate expires within 90 days (or is already overdue). This is not the risk-score bands used for at-risk learners elsewhere; it marks disengaged holders with a deadline approaching.
What you see before setup
Section titled “What you see before setup”When no certificates have been issued on the workspace yet, the screen shows a single Certification tracking card reading “No certificates issued yet”. It fills in automatically once learners start earning certificates.
Filters
Section titled “Filters”The bar at the top of the screen.
- Cohort: “All learners” or one cohort, each with its member count. Cohorts are your Moodle groups, grouped by name or kept separate according to your workspace’s reporting configuration.
- Department: “All departments” or one department, taken from the department on your Moodle user profiles. It only appears when your site stores departments.
- Certificates: a multi-select of every certificate, each with its number of holders. Clear selection empties it. It reads “No certificates issued.” when there are none.
- Expiry window: All, Overdue, ≤30 days, ≤60 days, ≤90 days or >90 days.
- Show only inactive, due soon: limits the table to holdings with the inactive, due soon flag.
- Expiring on (date): a removable chip that appears when you click a day on the Expiry calendar.
- Clear all: resets every filter.
Cohort, Department and Certificates change the whole screen. Expiry window, Show only inactive, due soon and the date chip change the Certificate holders table only.
Stat tiles
Section titled “Stat tiles”Four tiles sit under the filters. Each has an info tooltip, Ask AI about this and Pin to dashboard. The Expiring ≤30 days and Already overdue figures turn red when they are above zero.
Active certificate holdings
Section titled “Active certificate holdings”
Every current certificate holding that has not expired yet, including Permanent ones.
- How it is worked out: the most recent issue per person per certificate, with overdue holdings left out. It counts certificates, not people.
- How to read it: the unit line says how many of these holdings are still in a current enrolment. That is why this figure can be higher than Certified on the enrolment funnel, which only counts active learner enrolments holding their course’s certificate.
Expiring ≤30 days
Section titled “Expiring ≤30 days”Holdings whose expiry date falls between today and 30 days from now, inclusive.
- How to read it: a certificate that expires today counts here, not as overdue.
Expiring ≤90 days
Section titled “Expiring ≤90 days”Holdings whose expiry date falls between today and 90 days from now, inclusive.
- How to read it: this figure is cumulative. It includes the ≤30 days count and equals the two expiring bands of the Expiry timeline added together.
Already overdue
Section titled “Already overdue”Holdings whose expiry date has already passed.
- How to read it: these are the operational priority. Use the Expiry window filter set to Overdue to list them in the table.
Charts and tables
Section titled “Charts and tables”Expiry timeline
Section titled “Expiry timeline”
One horizontal stacked bar per certificate, split into four expiry bands.
- How to read it: the bands are Overdue (red), Expiring ≤30 days, Expiring 31-90 days and Valid >90 days (green). Certificates with the most holders sit at the top. Hover a bar for each band’s count and the total holders.
- How it is worked out: for each certificate, the holdings (most recent issue per person) in each band. Overdue matches the Already overdue tile, the ≤30 band the Expiring ≤30 days tile, and the two expiring bands together the Expiring ≤90 days tile. Permanent certificates are left out because they never expire.
- What you can do: click a bar to filter the Certificate holders table to that certificate. Info tooltip, Ask AI about this, Pin to dashboard.
- Empty states: “All certifications healthy” with “No upcoming expiries in the next 90 days for this scope” when expiry rules are set and nothing is overdue or due within 90 days. “No expiring certificates in scope.” when there is nothing to chart.
Expiry calendar
Section titled “Expiry calendar”
A calendar of the next 12 months, each day shaded by how many certificates expire on it.
- How to read it: darker days mean more renewals fall due that day. Look for clusters, for example a wall of annual renewals in one month, and plan a renewal campaign a month ahead. Hover a day for the number expiring and the certificates involved.
- What you can do: click a day to filter the holder list to that date (an Expiring on chip appears in the filter bar). Info tooltip, Ask AI about this, Pin to dashboard.
- Empty state: “No certificates expire in the next 12 months for this scope.”
Certificate holders
Section titled “Certificate holders”
Every current certificate holding, one row per person and certificate.
- Columns: a selection tick box, Learner, Certificate, Issued, Expiry (for example “in 14 days”, “Today”, “overdue 6 days” or “Permanent”, with the date), Status (Overdue, Expiring soon, Valid or Permanent, plus “inactive, due soon” where it applies), Renewal pathway (the course mapped to renew the certificate, or “-”), Last activity and Action.
- Sorting: click any column heading except Renewal pathway. The default is Expiry, soonest first; click again for the reverse order, and a third time to go back to the default.
- Pages: “Showing N-N of N holdings”, 15, 50 or 100 rows per page, and page buttons.
- How it is worked out: holdings as described in How expiry dates are worked out. Last activity is the learner’s most recent recorded activity on the workspace.
- What you can do:
- Click a row to open the Certificate holding drawer.
- Remind on a row (admins only) emails that learner a renewal reminder.
- Tick rows, or tick the heading box to select every row on the page, then Send renewal reminders to selected (admins only).
- Download CSV (file
cert-expiry-export.csv) exports the rows that match your filters, with Learner name, Email, Certificate, Issued date, Expiry date, Days until expiry, Status, Renewal pathway and Last activity. It needs CSV export on your plan and a role with export rights. - Info tooltip, Ask AI about this, Pin to dashboard.
- Empty state: “No certificate holdings match the current filters.”
Certificate holding
Section titled “Certificate holding”The drawer that opens when you click a row in Certificate holders.
- It shows the learner’s name and email, the status (and “inactive, due soon” where it applies), Certificate, Issued, Expires (or “Permanent (no expiry)”), Remaining, Department, Last activity, Renewal pathway, a Suggested action and Recent activity.
- Suggested actions:
- Overdue with a renewal course: “Overdue: enrol in (course) to renew now.”
- Overdue with none: “Overdue, no renewal pathway mapped. Configure one under Certificate Setup.”
- Expiring soon and inactive: “Expiring soon and inactive, start a re-engagement campaign.”
- Expiring soon with a renewal course: “Expiring soon: enrol in (course) ahead of the deadline.”
- Otherwise: “No action needed.”
- What you can do: Send renewal reminder (admins only). Close with the close button, by clicking outside the drawer, or with Escape.
How do I send renewal reminders?
Section titled “How do I send renewal reminders?”Reminders email learners, so nothing is ever sent automatically. An admin has to press the button.
- Make sure each certificate has a validity window, and ideally a renewal course, in Certificate setup.
- On this screen, narrow the table, for example Expiry window set to ≤30 days.
- Press Remind on one row, or tick several rows and press Send renewal reminders to selected.
- Read the message at the top of the screen. It says how many reminders were emailed and why any were not sent.
The reminder tells the learner which certificate expires, when, and the renewal course. Every reminder is recorded in the audit log. A reminder is not sent when:
- the certificate never expires (“never expires”);
- the learner has no email address (“no email address”);
- that learner was already reminded about that certificate in the last day (“already reminded today”);
- more than 200 are selected at once.