TrainGrid User Guide

Functions: Matrix & Reports

The oversight surfaces of TrainGrid: the live Training Matrix (every employee × every course, viewable through three lenses — Training, Competency and — step-by-step function reference.


The oversight surfaces of TrainGrid: the live Training Matrix (every employee × every course, viewable through three lenses — Training, Competency and Qualification — or week by week like a spreadsheet), and the Reports section with eleven audit-ready report cards. Use these pages to answer compliance questions on demand: who is trained, who is qualified, what is expiring, what is missing, and how many hours were delivered. Every report is filterable, exports to CSV, and prints with an audit header showing exactly how it was produced.

In this section: Read the Training Matrix (By course view) · Switch the matrix lens (Training | Competency | Qualification) · Open a matrix cell (the record panel) · Export or print the Training Matrix · Use the By week view · Run the Employee Transcript report · Run the Department Compliance report · Run the Competency Status report · Run the Expiring Certificates report · Run the Missing Mandatory Training report · Run the Workforce Competency report · Run the Training Hours report · Run the Internal vs External Training report · Run the Training Log report · Run the Assignments Report (Record Completion list as a report) · Build a custom report (Report Builder)

Read the Training Matrix (By course view)

See the live training status of every active employee against every active course in one grid — the primary at-a-glance compliance surface. Cells are coloured by derived status; each row ends with a completed/assigned tally.

Where: Sidebar → Training Matrix (opens in the "By course" tab)  ·  Before you start: Any signed-in member. Members scoped to specific locations see only their locations' employees.

OptionWhat it does
By course / By weekMode tabs. "By course" (default) shows one column per course; "By week" shows week buckets.
Matrix view (Training | Competency | Qualification)Lens tab strip, By-course mode only. Default is Training. See "Switch the matrix lens".
Search employees…Filters rows by employee name (debounced as you type).
All locationsLocation filter; only shown when the organization has more than one active location. Changing it also resets the department filter.
All departmentsDepartment filter; the list narrows to departments compatible with the selected location.
All categoriesCourse-category filter — narrows the columns.
All task typesTask-type filter (how toolbox talks are modelled); available in both modes, default off. Only shown when task types exist.
CoursesMulti-select course picker popover with search and a "Clear selection" button; a count badge shows how many are selected.
Clear filtersAppears once any filter is active; resets everything.
  1. In the sidebar, click "Training Matrix". The grid opens in "By course" mode with the "Training" lens active.
  2. Read the legend chips above the grid: Completed, Due soon, Overdue, Expired, Failed, Pending, N/A (waived), Not assigned (a dash).
  3. Narrow the grid with the toolbar: type in "Search employees…", or use the "All locations", "All departments", "All categories" and "All task types" dropdowns, or click the "Courses" button to multi-select specific courses (search box reads "Search courses…"; each entry shows the course code then title).
  4. Hover a vertical course-column header: a tooltip shows "CODE — Title" with the version (e.g. v2.0), a flags line (Mandatory · Certificate · Competency, whichever apply) and a "Topics" block listing that version's agenda.
  5. Read any row's right-hand tally: completed/assigned (e.g. 5/8), with an "N od" count in red when anything is overdue.
  6. Click "Clear filters" to return to the full grid. Success looks like: a coloured grid where every filled cell matches a legend chip, with mandatory/certificate courses ordered first.
Good to know:
  • Statuses are derived live (overdue/due-soon/expired computed from today's date in the organization's timezone), never stored.
  • Columns show the course family's ACTIVE version (version badge on the header); completions earned on older versions fold into the same column, so a version bump never blanks a column.
  • The grid caps at 200 employee rows and 15 course columns; on-screen notes say "Showing the first 200 of N employees" and "Showing the top N courses · +N more" when capped — narrow with filters to see the rest.
  • Only active employees appear. Waived cells are excluded from the assigned/completed tallies; overdue, expired and failed all count into the red "od" tally.
  • Mandatory courses are marked with a dot before the title (screen readers hear "Mandatory:").

Switch the matrix lens (Training | Competency | Qualification)

Ask three different questions of the same grid: is the training done (Training), was competency demonstrated (Competency), and is the person currently allowed to do the work (Qualification — training + competency + certificate expiry combined). An employee can be green under Training and red under Competency.

Where: Sidebar → Training Matrix → "By course" tab → the "Matrix view" tab strip (Training | Competency | Qualification)  ·  Before you start: At least one course with "Competency assessment required" turned on, otherwise the Competency lens shows "Not required" everywhere.

  1. Open the Training Matrix in "By course" mode (the lens strip only appears there).
  2. Click "Competency". Cells repaint to competency outcomes and the legend swaps to: Competent, Competent with conditions, Needs improvement, Not competent, Exempt, Not assessed, Competency expired.
  3. Click "Qualification". A third repaint; legend: Qualified, Qualified (conditions), Qualified (reassessment pending), Not qualified, Not required.
  4. Click "Training" to return to the default lens. Success looks like: the legend always describes exactly the colours on screen for the active lens.
Good to know:
  • Courses without a competency requirement render "Not required" under the Competency and Qualification lenses — competency tracking is strictly per-course opt-in.
  • Waived cells never render as "Not qualified"; they show "N/A (waived)" under every lens.
  • A Failed training record renders "Not qualified" under the Qualification lens — failed training supports no qualification.
  • "Qualified (reassessment pending)" (amber) means the prior qualification is kept until the scheduled reassessment happens — still qualified, but visibly outstanding.
  • Export CSV and Print both carry the active lens: a Competency export prints competency labels, and the printed header states "View: Competency" so the sheet declares its own scope.
  • The status glossary link only appears under the Training lens (it explains training statuses).

Open a matrix cell (the record panel)

Drill from a one-glyph cell into the full record card: version, dates, grade, instructor, training source, the competency block, and a one-click jump to the employee's full history. The grid stays simple; the detail lives one click away.

Where: Sidebar → Training Matrix → click any filled cell  ·  Before you start: Any member can view; the panel's quick actions (e.g. Mark complete, Assign) additionally require the record-completions / assign-training capabilities.

  1. In the Training Matrix, click a filled cell. A side panel opens for that employee × course record.
  2. Read the badge row at the top: the training status, the record's version badge — e.g. "v1.0 · Superseded" when a newer version has since become current — and Mandatory/Certificate flags where they apply.
  3. Read the detail grid: "Due date", "Completed on", "Grade" (a failed record reads e.g. "72% (below 80% pass)"), "Certificate expires", "Instructor", "Location", "Source".
  4. On a competency-required course, read the "Competency" block: the outcome badge plus "Assessor:", "Assessed:" and — where scheduled — "Reassessment due:".
  5. Click "View training history" to land on that employee's page with the History tab already open, listing every version of every record. Success looks like: the panel shows the version the record was actually earned against, never silently rewritten to the current version.
Good to know:
  • Completed records permanently keep the version they were completed against; the "Superseded" marker appears once a newer version is current.
  • The "View training history" button deep-links to the employee's History tab rather than opening a second popup — one authoritative history surface.
  • The same panel opens from By-week cells, so both modes share one record card.

Export or print the Training Matrix

Produce a CSV or a printed sheet of exactly what is on screen — for auditors, wall postings, or offline review. The export and the print both describe cells in the vocabulary of the active lens.

Where: Sidebar → Training Matrix → "Export CSV" and "Print" buttons in the bar above the grid (beside the legend)  ·  Before you start: "Export CSV" requires the export-data capability; "Print" is available to everyone who can see the matrix.

  1. Set the mode, lens and filters so the grid shows what you want to capture.
  2. Click "Export CSV". In By-course mode the file has one column per course (headers like "CODE Title (v2.0)") plus Employee, Department and Completed/Assigned/Overdue tallies; in By-week mode, one column per week bucket with completed-of-total counts.
  3. If the grid is truncated (row/column caps), a confirmation warns that "the CSV will only include what's on screen" and points to Reports → Assignments Report for the full dataset — choose whether to export the partial view.
  4. Click "Print". The print is landscape A4 with the app chrome hidden and a print-only header: your logo, "<Org name> — Training Matrix (By course/By week)", the applied filters (including "View: Competency/Qualification" when not on the Training lens) and the generated date. Success looks like: a paginated sheet whose header states exactly how it was produced.
Good to know:
  • Any filtered or truncated export gets "-partial" appended to its filename, and a non-training lens appends "-competency" or "-qualification" — an export can never masquerade as the complete dataset.
  • Cell values in the CSV are the same labels the screen shows under the active lens.
  • The print header is an audit requirement: mode, filters, search terms and week window are all listed; with no filters it reads "All employees".

Use the By week view

See training week by week, like the old spreadsheet: how much came due each week and how much of it was completed — including upcoming scheduled weeks for planning toolbox talks and sessions.

Where: Sidebar → Training Matrix → "By week" tab  ·  Before you start: Any signed-in member.

OptionWhat it does
Window — weeks backHow many completed weeks to show before the current one: 4, 8 or 12 weeks back. Default 8.
Window — upcomingHow many future weeks to include: No upcoming (default), +2 upcoming, or +4 upcoming.
  1. In the Training Matrix, click the "By week" tab.
  2. Set the window with the "Window" control: a weeks-back select (4/8/12 weeks back; default 8) and an upcoming select (No upcoming / +2 upcoming / +4 upcoming; default no upcoming).
  3. Read the columns — one per ISO week, labelled "Wk of <Mon date>" — and the legend: All completed, Partially completed, None completed (past), Due, not completed yet, Nothing due (a dash).
  4. Each filled cell shows completed/total (e.g. 2/3). Click a cell with one assignment to open the record panel directly; a cell with several opens a popover listing each course with its status badge — click one to open its record panel.
  5. Use the same search/location/department/category/task-type filters as By-course mode. Success looks like: past weeks read green/amber/red at a glance and upcoming weeks show what is scheduled.
Good to know:
  • Weeks are anchored to the organization's calendar day and ISO weeks (Monday start).
  • Only a truly Completed assignment counts as done in the weekly tally — an expired certificate reads as not-done, matching the by-course tally and the dashboard.
  • Waived assignments are excluded from the week grid entirely.
  • The lens strip (Training/Competency/Qualification) does not apply in By-week mode; the week CSV exports completed-of-total per bucket.

Run the Employee Transcript report

Generate the complete training history for one employee — the document handed to an auditor, with a signature block for sign-off. Includes archived employees.

Where: Sidebar → Reports → "Employee Transcript" card  ·  Before you start: Any member with Reports access; "Export CSV" additionally requires the export-data capability.

OptionWhat it does
Employee pickerThe only filter: one employee per transcript, searchable by name or employee number; includes archived employees.
  1. In the sidebar, click "Reports", then open the "Employee Transcript" card.
  2. Use the employee picker (search box "Search by name or employee #…") to select an employee — archived staff are included.
  3. Read the identity block: name, employee number, an "Archived" badge where applicable, and Department, Position, Location, Shift, Supervisor, Hire date.
  4. Read the summary: total training records with completed / pending counts (plus overdue, expired, failed, waived when non-zero).
  5. Read the table — columns: Course (with the version, e.g. "v1.0 (superseded)"), Category, Status, Due date, Completed on, Grade, Instructor, Recorded by, Cert. expires, Competency.
  6. Click "Export CSV" for the full data (adds Qualification, Assessor and Assessed on columns), or "Print" — the printed page ends with a signature footer for auditor sign-off. Success looks like: a version-by-version history where nothing was rewritten by later course versions.
Good to know:
  • Every record shows the course version it was earned against, marked "(superseded)" once a newer version is current.
  • The Competency column renders only for competency-required courses; others show a dash.
  • The print carries the report header (org logo, filters, generated timestamp in the org's timezone) and a signature footer.

Run the Department Compliance report

Compare departments on training compliance: headcount, what is in scope, what is compliant, and what is overdue/expired/failed — with a compliance percentage per department and a grand total.

Where: Sidebar → Reports → "Department Compliance" card  ·  Before you start: Any member with Reports access; "Export CSV" requires the export-data capability.

OptionWhat it does
All locationsThe only filter; scopes both headcount and records to one location. Default: all locations.
  1. Open Reports → "Department Compliance".
  2. Optionally narrow with the "All locations" dropdown; click "Clear filters" to clear.
  3. Read the summary: N departments, active employees, in scope, compliant, non-compliant.
  4. Read the table — columns: Department, Headcount, In scope, Compliant, Overdue, Expired, Failed, Compliance — plus a "Grand total" footer row.
  5. Click "Export CSV" (the CSV appends the grand-total row) or "Print". Success looks like: percentages that match the dashboard's department chart exactly.
Good to know:
  • Active employees only, and current standing only (the same numbers the Matrix and Dashboard show).
  • The formula, stated on the page itself: Compliance = currently compliant ÷ (compliant + overdue + expired + failed) per employee & course. Expired certificates and failed training both count as non-compliant.
  • The denominator ("In scope") counts only training that has come due and must be current — pending / due-soon (not yet due) and waived records are excluded.
  • Percentages are rounded to one decimal exactly like the dashboard and the SQL, so the two surfaces can never disagree by 0.1%.
  • Colour semantics: ≥90% green, ≥70% amber, below that red.

Run the Competency Status report

Show where every competency requirement stands — trained, competent, qualified are three different things — and surface the two lists managers act on: people trained but not yet qualified, and scheduled reassessments.

Where: Sidebar → Reports → "Competency Status" card  ·  Before you start: At least one course with "Competency assessment required" on, else the report is empty. "Export CSV" requires the export-data capability.

OptionWhat it does
View (All competency requirements / Trained but not qualified / Reassessment scheduled)The report's three lenses. Default: All competency requirements.
All locationsLocation filter. Default: all locations.
  1. Open Reports → "Competency Status".
  2. Pick a view with the first dropdown: "All competency requirements" (default), "Trained but not qualified", or "Reassessment scheduled". Optionally narrow by "All locations".
  3. Read the summary (records count, plus "not qualified" — or "due now" on the reassessments view).
  4. Expand "What do these outcomes mean?" for the legend: each outcome with its colour swatch, meaning and suggested next action — the same colours the matrix Competency lens paints.
  5. Read the table — columns: Employee, Course (with version), Training, Competency, Qualification, Assessed, Reassessment due (past-due dates render red).
  6. Click "Export CSV" or "Print". Success looks like: completed external training alone never renders anyone qualified — the gap views name exactly who still needs an internal assessment.
Good to know:
  • Only competency-required courses appear; a failed training record shows "failed" in the Training column.
  • The Competency and Qualification columns are derived by the same rules as the matrix, transcript and Report Builder — one derivation, everywhere.
  • A reassessment due date in the past renders in red.
  • Empty states are honest per view: "No qualification gaps", "No reassessments scheduled", "No competency requirements".

Run the Expiring Certificates report

List current certificates expiring within a chosen window — plus anything already lapsed — sorted by urgency, so re-certification can be scheduled before compliance breaks.

Where: Sidebar → Reports → "Expiring Certificates" card (the report page itself is headed "Expiring Certifications")  ·  Before you start: Courses that issue certificates. "Export CSV" requires the export-data capability.

OptionWhat it does
Time window (30 / 60 / 90 days)How far ahead to look. Default 30 days.
Include already expiredToggle; on by default. Off hides certificates that have already lapsed.
All locationsLocation filter; mirrors the dashboard KPI's scope. Default: all locations.
  1. Open Reports → "Expiring Certificates".
  2. Pick the window with the "Time window" selector: 30 days (default), 60 days or 90 days.
  3. Leave "Include already expired" on (default) to also list lapsed certificates, or switch it off.
  4. Optionally narrow with "All locations"; "Clear filters" appears once anything differs from the defaults.
  5. Read the table — columns: Employee, Course, Completed on, Expires on, Days remaining (a colour-coded chip; negative = lapsed), Department — sorted most-urgent first.
  6. Click "Export CSV" or "Print". Success looks like: a re-certified employee's old lapsed certificate does NOT appear as a false positive.
Good to know:
  • Active employees only, and only the CURRENT certificate per employee × course (the latest completion) — old superseded certificates are ignored.
  • A failed completion's certificate is excluded — it is not a credential to renew.
  • The summary splits "within N days" from "already lapsed".

Run the Missing Mandatory Training report

Answer "who is missing required training?": every active employee without a current completion for each active mandatory course — including people who were never assigned at all, the gap most systems can't see.

Where: Sidebar → Reports → "Missing Mandatory Training" card  ·  Before you start: At least one course marked mandatory — otherwise the page shows "No mandatory courses configured" with a "Go to courses" button. "Export CSV" requires the export-data capability.

OptionWhat it does
All departmentsDepartment filter. Default: all departments.
All mandatory coursesRestrict to one mandatory course ("CODE — Title"). Default: all mandatory courses.
  1. Open Reports → "Missing Mandatory Training".
  2. Optionally narrow with "All departments" and/or "All mandatory courses" (courses listed as "CODE — Title").
  3. Read the summary: total gaps, employees affected, and never assigned / overdue / expired certs / failed counts where non-zero.
  4. Read the table — columns: Employee, Department, Course, Status — where each gap is either a red "Never assigned" badge or a status badge (overdue/expired/failed/pending) with explanatory text.
  5. Click "Export CSV" or "Print". With zero gaps the page renders a green "Fully compliant" panel you can print as compliance evidence.
Good to know:
  • Family-aware: a completion on an older version of a mandatory course still counts as current when the new version did not require retraining — a version bump never falsely reports the whole plant as "Never assigned".
  • A failed completion is reported as the gap it is, not as compliance.
  • Active employees and active mandatory courses only; a documented waiver counts as covered.
  • Very large results render only the first rows on screen with a banner — "export the CSV for the full list"; the CSV always carries the complete set.

Run the Workforce Competency report

Answer "is each employee competent for their job?": checks every person against their position's declared course requirements — training, competency and qualification together — and buckets each person with their specific gaps named.

Where: Sidebar → Reports → "Workforce Competency" card  ·  Before you start: Positions must declare required courses first (Sidebar → Administration → Positions → the "Required training" column → "Add"). Employees must hold those positions. "Export CSV" requires the export-data capability.

Set up (one time):

  1. In the sidebar, click "Administration", then "Positions".
  2. On a position's row, click "Add", pick a course under "Choose a course", and click "Add" — repeat per requirement (competency courses carry a small "competency" tag; the × on a badge removes one).
OptionWhat it does
All positionsRestrict to one position. Default: all positions with declared requirements.
All locationsLocation filter. Default: all locations.
  1. Open Reports → "Workforce Competency".
  2. Optionally narrow with "All positions" and/or "All locations".
  3. Read the summary: employees in roles with requirements, split into competent for role / reassessment due / not competent for role.
  4. Read the table — columns: Employee (linked to their profile), Position, Department, Requirements met ("n of N"), Status — with the gap courses named under the badge for anyone short.
  5. Click "Export CSV" or "Print". Success looks like: every person in a role with requirements is bucketed, with nothing vague — each gap names its course.
Good to know:
  • Active employees only; only positions with declared requirements produce rows.
  • The footnote states the rules: Met = a current completion that is qualified (competency and certificate included); a waived requirement counts as met (a documented waiver is a decision, not a gap); failed or lapsed training, missing assessments and never-assigned courses are all gaps.

Run the Training Hours report

Answer "how many hours of training did each employee receive in a period?" — with drill-down to the records behind every number, and a department comparison for management.

Where: Sidebar → Reports → "Training Hours" card  ·  Before you start: Hours are captured optionally when completions are recorded; records without hours count as 0 and are disclosed. "Export CSV" requires the export-data capability.

OptionWhat it does
From / ToCompletion-date range. Defaults to the current year (Jan 1 → today).
All departmentsDepartment filter. Default: all.
All employeesRestrict to one employee. Default: all.
By employee / By departmentThe view selector. Default: By employee.
  1. Open Reports → "Training Hours".
  2. Set the period with "From" and "To" (defaults: January 1 of the current year to today).
  3. Optionally narrow with "All departments" or "All employees", and switch the view between "By employee" (default) and "By department".
  4. Read the summary chips: total training hours recorded, employees, avg hours / employee, and internal / external / online hour splits where non-zero.
  5. By employee: columns Employee, Department, Records (with "(N w/o hrs)" noted), Training hours. Click an employee's name (a disclosure arrow) to expand the records behind the number — date · course · source · hours each.
  6. By department: columns Department, Employees, Training hours, Avg hours / employee, with a Total footer row.
  7. Click "Export CSV" or "Print" (expanded drill-downs print open). Success looks like: every headline number can be opened to the exact records that produced it.
Good to know:
  • Only completed training contributes; cancelled, pending and waived records never appear. Active employees only.
  • Records with no hours are counted as 0 and disclosed on-page: "N completed records in this period carry no hours … Add hours through the record's Edit completion form."
  • Hours split by resolved training source (internal / external / online) in the summary.

Run the Internal vs External Training report

Show management how much training is delivered in-house versus purchased: employees trained, training records, competencies assessed and expiring certificates, each split Internal / External / Online with totals.

Where: Sidebar → Reports → "Internal vs External Training" card  ·  Before you start: Training sources come from each record's own override or its course's classification. "Export CSV" requires the export-data capability.

OptionWhat it does
From / ToDate range for completions and assessments. Defaults to the current year.
All locationsLocation filter. Default: all locations.
  1. Open Reports → "Internal vs External Training".
  2. Set "From" / "To" (defaults to the current year) and optionally "All locations".
  3. Read the summary: training records in range, with internal / external / online / failed chips.
  4. Read the table — columns: Metric, Internal, External, Online, Total; rows: Employees trained, Training records, Failed records (only when any exist), Competencies assessed, Certificates expiring (next 30 days).
  5. Click "Export CSV" or "Print". Success looks like: this table and the assignments list's source filter agree with each other.
Good to know:
  • Row-specific notes are printed in the table itself: "Employees trained" counts distinct people (the Total is distinct overall, not the row sum); "Failed records" are completions below the passing grade, excluded from the rows above; "Certificates expiring (next 30 days)" counts from today regardless of the date range.
  • Completions, assessments and certificate expiries are three independent event sets filtered by their own dates — a later assessment is never under-reported by the completion window.
  • Source is the record's own override where one was set, else the course's classification — the same resolution every other surface uses (stated in the report's own footnote). Failed records' certificates are excluded from the expiring row.

Run the Training Log report

List every completion recorded in a date range — the audit answer to "show me everyone who completed training X."

Where: Sidebar → Reports → "Training Log" card  ·  Before you start: Any member with Reports access; "Export CSV" requires the export-data capability.

OptionWhat it does
From / ToCompletion-date range. Defaults to the last 30 days.
All coursesRestrict to one course ("CODE — Title"); inactive courses included deliberately. Default: all.
All departmentsDepartment filter. Default: all.
  1. Open Reports → "Training Log".
  2. Set "From" / "To" (defaults to the last 30 days), and optionally narrow with "All courses" (listed as "CODE — Title", including inactive courses — historical completions still count) and "All departments".
  3. Read the table — columns: Completed, Employee, Course, Instructor, Grade, Department — newest first.
  4. Click "Export CSV" or "Print". Success looks like: a dated list you can hand an auditor for "who completed X between these dates".
Good to know:
  • Completions only — status = completed within the range; sorted newest first.
  • Unlike most reports, this one is not restricted to active employees — it is a log of what happened.

Run the Assignments Report (Record Completion list as a report)

The master filterable list of every assignment — the Reports card that opens the Record Completion page in its reporting role: status views, date range, grouping, saved views, column chooser, CSV export and a printable report.

Where: Sidebar → Reports → "Assignments Report" card (opens /assignments — the same page as Sidebar → Record Completion)  ·  Before you start: Any member; "Export CSV" requires the export-data capability.

OptionWhat it does
Status filter (Incomplete / Overdue / Due soon / Pending / Completed / Expired / Failed / All / N/A (waived))The complete/incomplete partition of the list. Failed is its own bucket, separate from Completed.
Due date from / Due date toDate-range filter on the due date.
All courses / All locations / All departmentsStandard entity filters; defaults show everything.
All sourcesTraining-source filter: All sources / Internal / External / Online. A record's own source overrides its course default.
Group by (No grouping / Group by employee / Group by course)Sections the list; default no grouping.
ColumnsShow/hide table columns.
Saved views"Save current filters…" stores a named filter set; reapply or delete from the same menu.
  1. Open Reports → "Assignments Report" (or click "Record Completion" in the sidebar).
  2. Pick a status view in the button row at the top (labelled "Status filter"): Incomplete · Overdue · Due soon · Pending · Completed · Expired · Failed · All · N/A (waived).
  3. Narrow further: the search box ("Search employee, number or course…"), "Due date from" / "Due date to", and the All courses / All locations / All departments / All sources (Internal / External / Online) dropdowns.
  4. Choose a grouping: No grouping, Group by employee, or Group by course.
  5. Use "Columns" to toggle visible columns (Employee, Employee #, Course, Department, Due date, Status, Completed on, Grade, Training hours, Instructor, Cert. expiry, Competency), and the views menu to "Save current filters…" as a named saved view for reuse.
  6. Click "Export CSV" or "Print report". Success looks like: a CSV whose columns include Version, Location, Qualification, Training source, Waive reason and Notes on top of everything on screen.
Good to know:
  • The CSV export always carries the extended column set (Version, Location, Qualification, Training source, Waive reason, Notes) regardless of which columns are visible on screen.
  • This is the recommended full-dataset export when the Training Matrix warns its own CSV is a partial view.

Build a custom report (Report Builder)

Build your own report across every training record: choose the columns (including the Competency group and Training hours), filter, group, then export, print — or save it by name to reuse.

Where: Sidebar → Reports → "Report Builder" card  ·  Before you start: Any member with Reports access; "Export CSV" requires the export-data capability. Saving creates reports visible on this page; you can update/delete only reports you manage.

OptionWhat it does
Saved reports"Load a saved report…" dropdown of stored configurations.
Report nameName used by Save as new / Update (placeholder: "e.g. Overdue mandatory by department").
Update / Save as new / Delete / ResetUpdate overwrites the loaded report (managers only); Save as new stores a copy; Delete removes it; Reset restores the defaults.
ColumnsPill toggles for the 26 available columns across Employee, Course, Record and Competency groups; at least one required.
EmployeesActive only (default) / Archived only / All.
Department / Location / CategoryEntity filters; default All.
Group byNo grouping (default), Department, Location, Course / topic, Category, Status, Competency, Qualification.
Date field + From / ToWhich date the range filters: Due date (default) or Completed date.
Status chipsCompleted / Due soon / Overdue / Expired / Failed / Pending / Waived; toggle any subset — none selected means all statuses.
Mandatory onlyChip restricting to mandatory courses; off by default.
  1. Open Reports → "Report Builder". It loads with default columns (Employee, Employee #, Department, Course / topic, Status, Due date, Completed) and active employees.
  2. Under "Columns", click the pill for each column to include. Available: Employee group (Employee, Employee #, Department, Position, Location, Shift, Supervisor), Course group (Course code, Course / topic, Category, Mandatory), Record group (Status, Due date, Completed, Grade, Training hours, Instructor, Cert expiry, Recorded by), Competency group (Competency required, Competency, Qualification, Assessor, Assessed on, Competency expiry, Reassessment due).
  3. Set the filters: "Employees" (Active only / Archived only / All), "Department", "Location", "Category", "Date field" (Due date / Completed date) with "From" / "To", the Status chips (Completed, Due soon, Overdue, Expired, Failed, Pending, Waived — none selected = all), and the "Mandatory only" chip.
  4. Pick "Group by": No grouping, Department, Location, Course / topic, Category, Status, Competency, or Qualification — grouped sections show a count per group on screen (export/print stays flat).
  5. The record count updates live above the table. Click "Export CSV" or "Print" from the report shell.
  6. To reuse it: type a "Report name" and click "Save as new" (toast "Report saved."). Later, pick it from "Load a saved report…" under "Saved reports"; "Update" and "Delete" appear on reports you manage; "Reset" clears everything. Success looks like: the saved report reloads with the exact same columns, filters and grouping.
Good to know:
  • Competency and Qualification columns are derived through the same rules as the matrix and reports, against the organization's today — the builder can never disagree with the screen a reader checks it against.
  • Results cap at 10,000 rows with an explicit note ("first 10,000 — narrow the filters for more"); the six fixed reports are the ones that always export complete sets.
  • With no columns selected the page asks you to "Pick at least one column above to build your report."
  • The printed output carries the applied-filter chips and generation timestamp like every other report; exports and prints stay flat even when grouped on screen.