Training
The Training module helps you manage employee learning and development. Track course completions, certifications, CPD hours, approval workflows, expiry reminders, and shareable site-card passports.
Key features
- Training catalogue — a library of available courses, sessions, and certification types
- Course requests — employees can request to attend training, with manager approval
- Manager direct-assign — managers and HR can assign training to their team without going through the request flow
- Completion tracking — log when courses are completed, with dates and scores
- Certifications — track qualifications with expiry dates, levels, and card schemes (CSCS, CPCS, NPORS, ECS)
- Renewal reminders — automatic 90/60/30/0-day email reminders to the employee and their line manager
- Team training view — managers see their team's training at a glance, with a skills matrix and CSV export
- Site-card passport — employees generate a QR code that links to a public read-only view of their active certifications (useful on construction sites and similar)
- CPD logging — record continuing professional development hours
- Approval workflow — training requests route to the employee's manager (or a configured approver)
- Certificates — auto-filed to the employee's filing cabinet on completion
How it works
For employees
- Go to Training from the sidebar
- Browse Available sessions to see courses you can enrol on
- Request or enrol on a course — depending on the policy your manager may need to approve
- Once approved, attend the training
- Log your completion with the date, score, and any certificate
- Add your own certifications (with scheme, level, issue date, expiry, certificate number)
Completed training appears in your profile and contributes to your CPD record. Active certifications appear on your site card if you've generated one.
While a record is awaiting approval
If your training policy requires approval, a record you log sits as Awaiting approval until your manager acts on it. Until then it counts toward nothing — not your compliance status, not your CPD hours, not your training totals. If it's returned, the record stays in your list marked Returned with the reason, and still counts toward nothing. Log it again once you've addressed the reason.
Self-declared vs verified certifications
A certification you add yourself is recorded as self-declared: Luna has your word for it, not the certificate. Self-declared certifications:
- appear in your list and on your site card, clearly marked
- do not count toward the "Valid" total on your site card
- do not satisfy operator-certification gating on equipment
Ask your manager or HR to record the certification for you (or verify the one you've added) — anyone with training:upload_evidence can, and doing so marks it verified. Editing a verified certification's expiry, certificate number, or level clears the verification, because what was checked is no longer what the record says.
For managers
Two ways to handle team training:
- Approvals tab — pending requests from your team appear here. Approve or decline with an optional comment.
- Team view (
Training > Team view) — see every direct report's training status:- Counts of assigned, completed, expiring, and expired training per employee
- Skills matrix tab: employees × certification types, colour-coded by status (valid, expiring, expired, missing). Export to CSV.
- Assign training directly to a team member without going through their request flow
- Upload certifications on behalf of a team member (useful for paper certificates you've verified)
Direct assignments and uploads are recorded with your name as the actor in the audit trail.
Site-card passport
Employees on construction sites, factory floors, or visiting client premises often need to prove their certifications quickly. The site card is a QR code that links to a public read-only view showing:
- Employee name, photo, job title, employee number, company
- Active certifications with scheme badges (e.g. "CSCS — Skilled Worker") and expiry dates
- Quick stats: valid, expiring, expired counts — the valid count includes verified certifications only
- A Self-declared marker on any certification nobody has checked against the original certificate
To generate or rotate a site card:
- Go to Training (or your profile)
- Open the Site card dialog
- Generate a token — a QR image and a
/scan/<token>URL are produced - Print the QR or save it to a phone wallet
- Rotate the token at any time to invalidate the old URL (e.g. if you lose your card)
The public view does not require login — anyone scanning the QR can see the certifications. Revoking the token immediately disables public access.
A site card stops working when the employee is marked a leaver: completing their offboarding both blocks the card and clears the token, so a printed card can't be revived. Someone working their notice keeps a working card until offboarding completes.
Admin setup
Training catalogue
Build your course library from Admin > Training Catalogue. For each course, define:
- Course name and description
- Provider (internal or external)
- Duration and cost
- Whether it requires approval
- Associated certification (if any)
Schedule sessions for each course (date, location, capacity, waitlist).
Certification types
Define certification types with:
- Validity period (months) — used to auto-calculate expiry dates
- Scheme (optional) — for industry card schemes such as CSCS, CPCS, NPORS, ECS
- Levels (optional) — for card grades like "Labourer", "Skilled Worker", "Supervisor", "Manager"
When a certification is approaching expiry, the employee and their line manager receive reminder emails at 90, 60, 30, and 0 days remaining (provided the company-level notification toggle is on).
Mandatory training
Mark training requirements as mandatory for specific roles or org nodes. The Compliance card on each employee's training page rolls up their status against the mandatory set.
A requirement's enforcement level (Required / Recommended / Optional) classifies it for reporting and filtering — it does not currently block anything on its own.
Only settled records count toward compliance. If your training policy requires approval, a submitted record contributes nothing until it is approved, and a returned record never does.
Annual training budget
The training policy has an annual budget setting that caps what one person can book in a calendar year. Set it on any org node and it inherits down the tree like every other policy value, with provenance shown in the policy editor.
When it's set, enrolling in a session whose cost would take the person past their remaining allowance is refused, and the error says how much is left. Enrolments cancelled during the year don't count toward the total.
This is separate from training budgets under Admin, which are pooled company, node, or per-person pots with their own committed/spent ledger. The policy setting is a per-person annual cap; the budget table is where the money is tracked.
Waitlists
When a session is full, further enrolments are waitlisted in order. If someone with a place cancels, the longest-waiting person is moved into the seat automatically and notified. An admin can also promote someone manually from the session's enrolment list.
Permissions
Training uses granular scoped permissions so you can give managers team-level authority without exposing the whole company.
| Permission | What it allows |
|---|---|
| training:approve | Approve training records for direct reports / node members |
| training:approve_all | Step in to approve any training record across the company |
| training:assign | Assign training sessions to direct reports / node members |
| training:assign_all | Assign training to anyone in the company |
| training:upload_evidence | Record certifications on behalf of direct reports / node members |
| training:upload_evidence_all | Record certifications on behalf of any employee |
| training:view_team | See training data for direct reports and node members |
| training:view_all | See all training records, enrolments, and certifications |
| training:manage_catalogue | Create and edit courses, sessions, certification types, and mandatory requirements |
| training:manage_budgets | Create and edit training budgets and spend tracking |
| training:bulk_import | Import training records and certifications via CSV |
| training:view_reports | Access admin training reports (compliance, expiry, spend) |
Permissions with a _all suffix grant company-wide access. The unsuffixed variant is scope-aware — Luna resolves the caller's natural scope (direct reports, node memberships) automatically, so a manager with training:assign can only act on their own team.
Related
- Security Awareness — for interactive cyber security training
- Approvals — how approval workflows are configured
- Filing Cabinet — where training certificates are auto-filed
- Reports — training compliance and expiry reports