Admin GuidesRecertification & Renewals

Recertification / CE Renewals

Who this guide is for: Admins running training that expires and must be retaken periodically (e.g. certifications valid for 12 months).

Give a course a validity period. When a learner completes it, their completion is stamped with an expiry date. As that date approaches, the recert worker automatically re-assigns the course so they renew before the credential lapses.

Set a validity period

  1. Open the course in Courses.
  2. In the editor’s Certificate panel, find Recertification.
  3. Set Valid for (months) — e.g. 12 for an annual certification.
  4. Leave it blank for courses that never expire.

How renewals work

  • On completion, the enrollment’s expiry = completion date + validity period.
  • A daily worker finds completions expiring within the lead window (default 30 days, RECERT_LEAD_DAYS) and re-assigns the learner: the enrollment returns to active, prior progress is cleared, and the due date is set to the expiry — so they must retake the course to stay certified.
  • When they complete again, a fresh expiry is stamped and the cycle repeats.

Previously earned certificates remain in the learner’s wallet; each renewal cycle produces a new completion.

Recertification vs. recurring assignments

UseFeature
Re-assign a course to a group on a fixed cadence (annual compliance)Recurring Assignments
Renew an individual’s credential before their personal expiryRecertification (this page)

They can be combined, but for most “valid for N months” certifications a validity period alone is enough.

Configuration reference

FieldWhereNotes
Valid for (months)Course editor → Certificate panel1–120; blank = never expires
Lead windowRECERT_LEAD_DAYS env (default 30)How early before expiry to re-assign

See what is about to expire (LMS-294)

Analytics → Certificate Expiry Forecast lists every certification lapsing in the next 90 days, so renewals can be scheduled before they turn into overdue training.

Reading it

Three buckets across the top: within 30 days, 31–60 days, 61–90 days. They are non-overlapping, so the three add up to the total — a credential lapsing in 20 days is counted once, in the first bucket. Click a bucket to filter the table; the counts keep describing the whole forecast so nothing looks like it disappeared.

The table is ordered soonest-first and shows the learner, the course, the learner’s manager (who is normally the person who chases the renewal), the expiry date, days remaining, and their groups. Export CSV downloads what is on screen.

What is and is not in it

IncludedNot included
Completed enrollments on a course with a validity period, expiring in the next 90 daysCredentials that have already lapsed — those are overdue training, see Analytics → Overdue Training
Learners with no manager (shown as “No manager”)Deactivated learners and courses that have been deleted
Revoked credentials, flagged as RevokedCourses with no validity period — nothing about them expires

Already-expired credentials are left out on purpose. Mixing “you have a problem now” into “you will have a problem soon” makes the number useless for planning, and the overdue drill-down already covers the former.

Learners with no manager are deliberately kept: an expiring credential that nobody owns is exactly what a compliance admin needs to see.

Who sees what

The forecast follows the same scoping as every other report — a Group Admin sees their groups, a Manager sees their report chain, and an Instructor sees their assigned courses. It needs the report:read permission.

Do you need to act on it?

Often not. If the course has a validity period, the recertification worker already re-assigns the learner automatically as expiry approaches (see above) — the forecast is there so you can see the wave coming, plan instructor-led sessions, and chase the people who will not renew on their own.

To have it land in an inbox on a schedule, rebuild the same view in Analytics → Custom Report and use its scheduled delivery (Growth plan and above).


Troubleshooting

SymptomCauseFix
Learner not re-assignedCourse has no validity period, or expiry is beyond the lead windowSet a validity period; renewals trigger within the lead window
Expiry not stampedThe course had no validity period when completedSet it; new completions stamp expiry