First-run setup
The SharePoint lists this app uses don't exist yet. It can create them for you, then load the training data from the July 26 matrix workbook. Nothing outside is touched.
Needs attention
Expired first, then whatever runs out in the next days. Booked training is excluded — that's already in hand.
| Name | Team | Course | Expiry | State |
|---|
Training matrix
One tab of the old workbook at a time. Click any cell to record a date, book training, or mark it not required.
Everyone here needs their Microsoft 365 address against them, because that is how HR, Fleet and Annual Leave know who somebody is. Without it this matrix cannot be joined to any of them. Nothing is saved until you press Save.
| On the matrix | Matched to | How sure | Other possibilities |
|---|
People
| Name | Job role | Company | Team | Contract | Training state |
|---|
Import from the workbook
Reads the Full Training Matrix in SharePoint and works out what has changed. It shows you the lot before anything is written — nothing here happens on its own.
Book training
Bookings
Search a name to see what they are booked on and when. Soonest first; anything in the past drops to the bottom.
| Who | Course | When | Provider | Status |
|---|
Deactivated people
Off the matrix, out of every count and chart, and not counted against any role requirement. Their training history is kept exactly as it was — put someone back and it is all still there.
| Name | Job role | Company | Team | Deactivated | Why | Training held |
|---|
Add course
A course's validity period is what the app uses to work out a new expiry date when you record a pass. Leave it blank for anything that doesn't expire.
Course catalogue
| Course | Category | Validity | People holding | Expired |
|---|
Gaps against role requirements
Compares each person's records against the mandatory training listed for their job role on the workbook's Master tab. A gap means no record at all, or one that has expired — training that's booked or awaiting a certificate counts as in hand. Only requirements the matrix actually has a column for are checked; the rest are listed underneath instead.
| Name | Job role | Missing / expired |
|---|
Coverage gaps — training the matrix has no column for
Where a team's people have a role that makes some training mandatory, but that team's sheet never had a column to record it in. Either the matrix needs the column, or it's held somewhere else and the Master tab has drifted — a decision either way, and not something anyone is counted as personally missing. Hover the count to see who.
| Mandatory training | Team with no column | People affected |
|---|
Training by job role
What each role on the workbook's Master tab asks for. Mandatory is counted as a gap when somebody does not hold it; optional is listed but never counted against anybody — not holding an optional qualification is not non-compliance, and mixing the two is how a gap report stops being read.
| Job role | Mandatory | Optional |
|---|
AlterNet skills standard
Reference copy of the Circet / AlterNet grid from the Master tab.
| Task / role | Risk | Induction | First aid | Craft | Safety | NRSWA | Comments |
|---|
Add admin
Admins
| Name | Level | Team |
|---|
Audit log
Best-effort record of who changed what. Written by the browser with the signed-in user's own token, so treat it as operational visibility rather than tamper-proof evidence.
| When | Who | Action | Target | Details |
|---|