Training Expiry & Renewals
How certificate expiry, renewal windows, and re-assignment work after training expires
Overview
Many compliance courses must be retaken periodically — annual GDPR refreshers, fire safety renewals, and similar. TrainMeUK tracks certificate expiry per completion and can automatically open a renewal window before certificates lapse, then re-assign training when they fully expire.
This is separate from due dates (assignment deadlines). Due dates answer "complete this by Friday"; expiry answers "this certificate is valid until next March, then you must recertify." A course can have both.
| Concept | What it controls | Guide |
|---|---|---|
| Due date / deadline | When an assigned course should be completed (reminders at 7, 3, 1 days) | Course Deadlines & Reminders |
| Certificate expiry | How long a completion stays valid; renewals and re-assignment | This guide |
Note
Enable Expiry on a Course
Turn expiry on when you create or edit a course. You can configure it in either place:
- Course Management → Edit Course — expiry settings in the course form under Course Expiry
- Course Builder → Course details (publish settings) — same options before you publish to Course Management
Enable course expiry
Check Enable course expiry. Without this, completions never expire and renewals do not run.
Choose expiry type
Pick one of two modes:
- Duration-based — certificate expires a set time after each completion (days, weeks, months, or years). Only individual certificates expire; learners can retake the course.
- Fixed date — the entire course becomes inactive on a specific calendar date (useful for one-off compliance cut-offs).
Save the course
Save or publish. New completions from that point forward receive an expiresAt date. Existing completions keep their original expiry unless you change rules going forward.
Tip
Duration vs Fixed Date
| Type | How expiry is calculated | Typical use |
|---|---|---|
| Duration-based | completedAt + expiry period (e.g. 365 days) | Annual refreshers, rolling recertification per learner |
| Fixed date | Same calendar date for all completions | Company-wide cut-off ("all staff by 31 March") |
Duration-based expiry is what powers the automatic 14-day renewal window described below. Each learner's renewal timing follows their own completion date.
Warning
The 14-Day Renewal Window
For duration-based expiry, a nightly renewal job finds completions due to expire in about 14 days. For each eligible learner it creates a new progress record:
- Status:
not_started— the renewal appears on the learner's training dashboard - Original completion stays valid until its existing expiry date — there is no compliance gap while the renewal is in progress
- Effective deadline: complete the renewal before the original certificate expires
- Next expiry: when the renewal is completed, the new certificate typically extends validity by the same duration (e.g. another year from the previous expiry date)
What learners see
The course reappears in Assigned Training as a fresh not started item. Their completed history still shows the previous pass until it expires. Standard assignment and deadline reminders apply to the renewal like any other assigned course.
Who gets a renewal
The renewal job only creates records when:
- The user account is active
- The course is still active with expiry enabled
- The course is still assigned to the user's groups (or otherwise still mandatory for them)
- No duplicate renewal already exists for the same expiry cycle
Tip
expiresAt date to avoid a gap.Expiring-Soon Notifications (~31 Days)
Separately from the 14-day renewal assignment, TrainMeUK tracks certificates entering an expiring soon state when expiry is within about 31 days.
- Learners may receive expiring soon email alerts for courses and external certificates approaching expiry
- Dashboard and profile views show yellow "Expires in X days" badges for items within the 31-day window
- Alerts within 7 days are treated as urgent in expiry summaries
- The system avoids duplicate emails — typically no repeat expiring-soon notification within 7 days of the last one
These notifications remind learners to act; the renewal assignment at 14 days is what actually puts the course back on their required training list.
After Full Expiry: Who Gets Reassigned?
If a certificate fully expires (the learner did not complete renewal in time), a daily expiry job processes the lapsed completion:
- The expired completion is archived for audit history
- The learner receives an expiry notification email
- The system checks current assignment rules — not historical ones from when they first took the course
- If they still qualify, a new
not_startedassignment is created automatically
Reassignment rules
| Situation | What happens |
|---|---|
| Mandatory course | Reassigned automatically if user is active |
| Default for new starters | Reassigned automatically if user is active |
| Assigned via group rules | Reassigned if user is still in the assigned group(s) |
| Optional / catalog-only course | Not auto-reassigned — appears in catalog for self-enrol |
| User no longer in assigned groups | Not reassigned — may self-enrol from catalog |
| Inactive / archived user | Skipped entirely — no emails or reassignment |
Note
Certificates and Audit History
When training expires or is renewed, previous completions are not deleted:
- Learners can still download certificates for past valid completions from their profile (proof of training at the time)
- Expired completions move to an archive table for compliance reporting and audits
- Completing a renewal updates the renewal record — the original completed record stays intact until it expires
Tip
External Certificates and Session Attendance
External certificates
Assigned external certificate requirements (uploaded evidence such as CSCS cards or first-aid certificates) have their own validTo dates. They appear in the same expiring-soon alerts within ~31 days and receive expiry notifications when they lapse. Renewal is handled by the learner uploading updated evidence — not by the SCORM renewal job. See External Certificates.
Session attendance
Classroom or calendar sessions can optionally carry expiry (e.g. a practical assessment valid for two years). When a session is linked to a course with expiry enabled, attendance may inherit that course's expiry rules. Session-level expiry is configured separately in Calendar Management. See Session Attendance for attendance tracking.
Typical Timeline (Duration-Based)
| When | What happens |
|---|---|
| Completion day | Certificate valid until completedAt + expiry period (e.g. 1 year) |
| ~31 days before expiry | Expiring-soon alerts and dashboard badges may appear |
| ~14 days before expiry | Renewal not_started assignment created if user still qualifies |
| Before expiry date | Learner completes renewal — no compliance gap |
| On expiry date (if not renewed) | Certificate expires; reassignment if rules still match |
Admin Checklist
- ☐ Expiry enabled on each course that requires periodic recertification
- ☐ Duration matches your policy (e.g. 365 days for annual training)
- ☐ Course assigned via mandatory flag or group rules so renewals reach the right people
- ☐ Email notifications enabled for learners (and Teams if configured)
- ☐ Managers monitor team dashboards for expiring-soon and overdue renewals
Troubleshooting
Renewal did not appear 14 days before expiry
- Confirm expiry is enabled and duration-based (not past a fixed cut-off)
- Check the user is active and still in assigned groups
- Verify the original completion status is completed or passed with an expiresAt date
- Allow overnight for the renewal job to run
Learner completed renewal but still shows expired
- Refresh the dashboard — cache clears within a few minutes
- Confirm they completed the renewal assignment, not only viewed the old certificate
- Check for multiple progress records in reports
Confusing expiry with due dates
Due dates chase incomplete assignments; expiry governs how long a completed certificate stays valid. See Course Deadlines & Reminders for reminder timelines.
Inactive user still listed as non-compliant
Archived or inactive users are excluded from renewal and reassignment jobs. Reactivate the account or adjust reports to filter inactive users.
Related Guides
- Due Dates vs Training Expiry — Choose deadlines vs renewals (or both)
- Course Deadlines & Reminders — Due dates (not certificate expiry)
- Mandatory Training — Required courses and reassignment rules
- Assigning Courses — Initial assignment to groups and individuals
- Team Dashboard — Monitor expiring and overdue training
- External Certificates — Uploaded evidence expiry