This area covers the daily training workflow: creating assignments with the Assign training wizard, running the Record Completion list (the master training report), marking training complete, waiving, rescheduling, editing completions, attaching evidence, and running in-room sessions with the printed Class roll or the badge-scanning Scan check-in. Everything a coordinator does between "these people need this course" and "the record is complete and audit-ready" happens here.
In this section: Assign training (set a due date) · Record a past or impromptu session · Find records in the Record Completion list · Customize columns, sorting and saved views · Mark training complete · Waive an assignment (N/A) · Reschedule a due date · View a record's details · Edit a completion · Set the training source on a record · Attach files to a record · Export and print the training list · Print a class roll and record the session · Run a Scan check-in session · Recurring courses and the next occurrence · Delete an assignment record
Assign training (set a due date)
Create pending training assignments for one or more courses and any set of people, all in one submission. This is how future training obligations enter the system.
Where: Sidebar → Assignments (opens the "Assign training" page with three numbered step cards: Pick courses · Pick people · Schedule) · Before you start: Requires the assign-training permission (Training Coordinator or Manager and above; the page itself says "Ask a Training Coordinator or Manager to assign courses" if you lack it). At least one active course and one employee must exist.
| Option | What it does |
|---|---|
| Search courses… | Multi-select course picker; rows are code-prefixed and searchable. Only active course versions at the target's locations are offered. |
| Add a group… | Adds every course in a saved course group to the selection (union — never removes anything already picked). |
| New course | Course managers can create a course inline; it is added to the list and selected immediately. |
| Individuals / Department / Location / Everyone | The four targeting tabs. Individuals defaults; Everyone targets all active employees. Archived employees are never included. |
| Already completed (impromptu / past training) | Switch that flips the wizard into past-session recording (see the next function). Off by default; only shown to users who can record completions. |
| Due date | Required for a scheduled assignment; every created record carries it. |
| Notes (optional) | Free text up to 1000 characters, shown on each created assignment record. |
- In the sidebar, click Assignments.
- In step 1, "Pick courses", click the "Search courses…" button and tick one or more courses — each row shows the course code as a prefix before the full title. A badge counts your selection.
- Optional: click "Add a group…" to add every course in a course group at once, or "New course" to create a course inline without leaving the wizard (visible to course managers only).
- Selected courses appear as removable "CODE — Title" chips under the picker; click the × on a chip to drop one.
- In step 2, "Pick people", choose a tab: Individuals (search and tick people — "Select all shown" and "Clear" links are above the list), Department ("Choose a department…"), Location ("Choose a location…"), or Everyone (all active employees). A "N targets" badge and, on wide screens, a "Who will be assigned" side panel show exactly who is included.
- Read any amber hints: courses not available at the target's location will be skipped, and "N of these already have this training assigned and will be skipped" warns about duplicates before you submit.
- In step 3, "Schedule", set the "Due date". Optionally add "Notes" — they are visible on each assignment record.
- Check the sticky footer math — "N courses × N people = N assignments" — then click "Assign training".
- Success: the wizard is replaced by a "Training assigned" card stating how many records were created and their due date, listing any duplicates skipped or location-ineligible pairs excluded, with buttons "View these records" (opens the Record Completion list filtered to exactly these records), "Print the class roll" (single scheduled course only), "Assign more training", and — when you arrived from an employee page — "Back to <name>".
Good to know:
- People who already hold an open assignment for a selected course are skipped automatically — assigning is idempotent and never creates duplicates.
- Course/employee pairs where the course is restricted to locations the employee is not at are excluded, and the success card reports the count.
- Deep link: clicking "Assign training" on an employee's page opens the wizard with that person pre-selected.
- The success card's "View these records" opens the Record Completion list on the All view filtered to the course and due date — records that already matched that filter appear there too; the card's counts are what this submission created.
Record a past or impromptu session
Enter training that already happened — a toolbox talk held this morning, or a new hire's existing external certificate — creating one already-completed record per attendee in a single step, with no pending assignment ever existing.
Where: Sidebar → Assignments → step 3 "Schedule" → turn on the "Already completed (impromptu / past training)" switch · Before you start: Requires the record-completions permission (the switch is hidden without it) in addition to being able to open the wizard.
| Option | What it does |
|---|---|
| Completion date | Required; defaults to today in the organization's timezone and cannot be later than today. Impromptu records carry it as their due date too. |
| Grade (optional) | 0–100, decimal allowed. Below a course's passing grade the completion records as Failed (with a warning shown first). |
| Hours (session) | Decimal training hours 0–24 in 0.25 steps; stamped on every attendee's record — record the session once for the whole class. |
| Instructor (optional) | Free text up to 200 characters; blank falls back to the course's default instructor. |
- In the sidebar, click Assignments and complete steps 1 and 2 (pick the course(s) and the attendees) as usual.
- In step 3, "Schedule", turn on "Already completed (impromptu / past training)". The due-date field is replaced by session fields.
- Set "Completion date" (defaults to today; cannot be in the future).
- Optionally enter "Grade" (0–100; the placeholder shows "Pass ≥ N" when a selected course has a passing grade), "Hours (session)" (0–24, quarter-hour steps — every attendee's record receives these hours), and "Instructor" (blank uses the course default).
- If the grade is below the strictest passing grade among the selected courses, an amber notice appears: "Below the passing grade of N% — the completion will be recorded and flagged." You can still save; the record will carry the Failed status.
- Click "Assign & record completion".
- Success: a toast reports "Assigned N · N completed" (plus any next occurrences scheduled), and the success card offers "View these records" — the completed records now exist, one per attendee, dated in the past.
Good to know:
- Records are created and completed immediately; recurring courses schedule their next occurrence from the completion date (the form says so in-line).
- For an evidence-only external record (e.g. a valid WHMIS certificate from a previous employer): record it here, then open the record's View details to set the Training source to External with provider and certificate number, and upload the certificate under Attachments with type "Certificate".
- Impromptu recording has its own date-specific duplicate handling, so the wizard's pre-submit duplicate hint is not shown in this mode.
Find records in the Record Completion list
The master training report — one list of every assignment record, filterable by status, employee, course, dates, location, department and delivery source. This is where daily completion work happens.
Where: Sidebar → Record Completion (page title "Record Completion", eyebrow "Records") · Before you start: Any signed-in staff member can view the list within their location scope; the actions it offers depend on your role's capabilities.
| Option | What it does |
|---|---|
| Status filter (button row) | Incomplete (default — pending work), Overdue, Due soon, Pending, Completed, Expired, Failed (completions below the passing grade), All, N/A (waived). |
| Search employee, number or course… | One search box covering employee name, employee number and course; up to 200 characters. |
| Due … to … | Inclusive due-date range filter. |
| All courses | Course filter listing each course's active version as "CODE — Title (vN)"; matching is by course family, so records earned on earlier versions still show. |
| Location / Department filters | Narrow by employee location (only offered when the org has 2+ locations) or department; default all. |
| All sources | Training-source filter: Internal, External or Online. A record's own source override wins over its course default. |
| Group by | No grouping (default), Group by employee, or Group by course — grouped rows get a header with a per-group count. Grouping and column sorting are mutually exclusive. |
| Show archived employees | Off by default; on, archived employees' records appear (marked with a crossed-eye icon). |
- In the sidebar, click Record Completion.
- Pick a status in the button row at the top (labelled "Status filter"): Incomplete · Overdue · Due soon · Pending · Completed · Expired · Failed · All · N/A (waived). The list opens on Incomplete.
- Type in "Search employee, number or course…" — matching is live with a short delay; a spinner replaces the magnifier while it searches.
- Narrow further with the filter bar: the "Due … to …" date range, the course dropdown (defaults "All courses"), Location (shown only when the org has more than one), Department, the training-source dropdown ("All sources" / Internal / External / Online), and the grouping dropdown (No grouping / Group by employee / Group by course).
- Toggle "Show archived employees" to include records belonging to archived people.
- Click "Clear filters" (appears only when something is active) to reset everything at once.
- Success: the count line reads "Showing X–Y of Z records", with a pager at both top and bottom (50 records per page).
Good to know:
- A dismissible hint under the toolbar teaches the core interaction: "Select rows to mark complete, reschedule, waive or email — or use the ⋯ menu on any row."
- Only pending rows are selectable — completed, waived, expired or failed rows cannot be bulk-actioned (use the row's ⋯ menu → View details instead).
- The floating selection bar (bottom of the screen) shows "N selected" with Mark complete, Waive, Reschedule, Email and Clear — each button appears only if your role holds that capability.
- Rows with a paperclip icon carry attachments.
- Page-header shortcuts sit beside the title: "Class roll", "Print badges" (employee managers) and "Scan check-in" (completion recorders).
Customize columns, sorting and saved views
Shape the Record Completion table to your job: hide columns you never read, sort by any column, and save filter combinations you use daily as named views.
Where: Sidebar → Record Completion → "Columns" and "Views" buttons (top right), and the column headers themselves · Before you start: None beyond viewing the list. Column choices and saved views are stored in your browser, per device.
| Option | What it does |
|---|---|
| Visible columns | Per-column show/hide checkboxes; choices persist in the browser (localStorage) and default to all visible. |
| Saved views | Named filter presets (status view + search + filters + sort, page excluded). Saving under an existing name replaces it. |
- Open Record Completion.
- Click "Columns" and tick or untick entries under "Visible columns": Employee, Employee #, Course, Department, Due date, Status, Completed on, Grade, Training hours, Instructor, Cert. expiry, Competency. All are on by default.
- Click any column header to sort: first click ascending, second descending, third clears back to the default order. (Hours and Competency are derived values and are not sortable.) Applying a sort flattens any grouping.
- To save the current combination of status view, search, filters and sort: click "Views" → "Save current filters…", type a name in the prompt, and confirm.
- Re-apply a saved view any time from "Views" → "Saved views"; the active one shows a check mark. Delete one with its trash button (or the Delete key while it is focused).
- Success: the table immediately reflects your columns/sort, and your saved view reappears in the menu on every visit from this browser.
Good to know:
- Sorting is server-side, so it orders the entire result set, not just the current page — and the CSV export carries the active sort so the file matches the table.
- Grade values below the course's passing grade render red; the Failed status has its own badge and its own view in the status row.
Mark training complete
Record completions for one row or a whole class at once, capturing date, grade, session hours, instructor and a shared attendance sheet in a single dialog.
Where: Sidebar → Record Completion → tick pending rows → "Mark complete" in the floating selection bar (or a single row's ⋯ menu → "Mark complete") · Before you start: Requires the record-completions permission. Only rows still in Pending status can be completed.
| Option | What it does |
|---|---|
| Completion date | Required; defaults to today in the org timezone, max today. |
| Grade (optional) | 0–100 decimal; below the passing grade the record becomes Failed (warned, never blocked). |
| Hours (this session) | Decimal 0–24 in 0.25 steps, written to every selected record; feeds the Training Hours report. |
| Instructor (override) | Up to 200 characters; blank uses the course's default instructor. |
| Attendance sheet / shared attachment (optional) | One file, uploaded once and linked to all selected records; each row then shows a paperclip and the file appears under View details → Attachments and on each employee's profile. |
- Open Record Completion (the default Incomplete view shows outstanding work; the header checkbox selects all selectable rows on the page).
- Tick the attendees' rows. The floating bar appears showing "N selected".
- Click "Mark complete". The dialog reads "Record a completion for N assignments. Recurring courses automatically schedule their next occurrence."
- Set "Completion date" (defaults to today; cannot be in the future).
- Optionally fill "Grade (optional)" (placeholder shows "Pass ≥ N" when a selected course has a passing grade), "Hours (this session)" (0–24, 0.25 steps — applied to every selected record), and "Instructor (override)" (blank keeps the course default).
- If the grade is below the strictest passing grade among the selected rows, the amber warning "Below the passing grade of N% — the completion will be recorded and flagged." appears; saving records the rows as Failed.
- Optionally click "Choose file…" under "Attendance sheet / shared attachment (optional)" — the file is uploaded once and linked to every selected record.
- Click "Mark N complete".
- Success: a toast such as "N completed · N next occurrences scheduled · attendance sheet attached to N records", with a "View records" action that re-opens the same filters on the All view (completed rows leave the Incomplete view immediately, so this is how you see what you just did).
Good to know:
- Completing a recurring course automatically creates the next pending occurrence (see "Recurring courses and the next occurrence").
- A completion recorded below the passing grade does not issue a certificate and counts as non-compliant everywhere (its own Failed view, matrix colour and report treatment).
- For certificate courses, certificate expiry is derived once at completion from the course's certificate settings.
Waive an assignment (N/A)
Mark a pending assignment as not applicable with a documented reason — the compliant way to say "this person doesn't need this training" while keeping the record for audit.
Where: Sidebar → Record Completion → tick pending rows → "Waive" in the selection bar (or a row's ⋯ menu → "Waive (N/A)") · Before you start: Requires the assign-training permission. Pending rows only.
| Option | What it does |
|---|---|
| Reason | Required free text (3–500 characters), stored on the record and written to the audit log. |
- Open Record Completion and select the pending row(s) to waive.
- Click "Waive" in the floating bar (or ⋯ → "Waive (N/A)" on one row).
- The dialog "Waive assignment(s)" explains: "Mark N pending assignment(s) as not applicable (N/A). The record is kept for audit purposes."
- Type a "Reason" (at least 3 characters, up to 500 — e.g. "Role does not require this training").
- Click "Waive N".
- Success: toast "N assignments waived (N/A)"; the rows move to the "N/A (waived)" view, and the reason is visible on each record's details and in the audit log.
Good to know:
- Waived records are excluded from compliance percentages as not-applicable rather than counted against the employee.
- In the Workforce Competency report a waived required course counts as MET — a documented waiver is a decision, not a gap.
- The waive reason shows in the record's detail sheet ("Waive reason" row) and in the Waive reason column of the CSV export.
Reschedule a due date
Move the due date of pending assignments — a postponed session, a rehire's stale training — without deleting and recreating anything.
Where: Sidebar → Record Completion → tick pending rows → "Reschedule" in the selection bar (or ⋯ menu → "Reschedule"; also available inside View details for a pending record) · Before you start: Requires the assign-training permission. Pending rows only — completed or waived records cannot be rescheduled.
| Option | What it does |
|---|---|
| New due date | Required; minimum is today in the org timezone. Bulk selections default to today rather than any one row's date. |
- Select the pending row(s) and click "Reschedule".
- The dialog ("Reschedule assignment" or "Reschedule N assignments") states the current due date for a single row.
- Pick a "New due date" — today or later; the field pre-fills with the row's current due date, or today if that date is already past.
- Click "Reschedule".
- Success: toast "Due date moved to <date>." (bulk: "N assignments rescheduled to <date>." plus any "skipped (already completed or waived)"). The date change is recorded in the audit log.
Good to know:
- The dialog states it plainly: "The date change is recorded in the audit log. Completed or waived records can't be rescheduled."
- Rescheduling changes the row's sort position but keeps your selection intact.
View a record's details
Open the full record sheet for any assignment — every fact an auditor asks for on one panel: dates, grade, instructor, certificate expiry, course version, competency, training source, attachments, notes and who recorded it.
Where: Sidebar → Record Completion → any row's ⋯ button ("Row actions") → "View details" (a side panel opens) · Before you start: Any list viewer can open details; the editing sections inside are gated by role.
- In Record Completion, click the ⋯ button at the right end of a row and choose "View details".
- Read the header: course code, status badge, course title and the employee's name.
- Review the fact rows: Employee (linked, with # and an Archived badge where relevant), Department, Location, Due date, Completed on, Recorded by, Grade (with a "below N%" chip on failed grades), Instructor, Certificate expires (certificate courses), "Recurs every N days" (recurring courses), Waive reason (waived records), Notes.
- Below the facts: the "Course version" line (with a "Superseded" badge when a newer version is now current), the "Competency" section (competency-required courses only), and the "Training source" panel (Delivery / Provider / Certificate # / Location).
- Further down: Attachments, then role-gated sections — Reschedule (pending), Edit completion (completed), and Delete record (Administrators).
- Success: close the panel with the × or by clicking outside; nothing is changed by viewing.
Good to know:
- Records permanently keep the course version they were completed against — a version bump never rewrites history; the sheet shows the earned version with its Superseded/Current state.
- On competency courses a completed-but-unassessed record reads "Assessment pending — training is complete, competency has not been demonstrated yet."
- "Recorded by" names the member who recorded the completion — blank on pending or legacy rows.
Edit a completion
Correct the date, grade, hours or instructor on an already-completed record — including deliberately re-grading below the pass mark, which flags the record as Failed.
Where: Sidebar → Record Completion → ⋯ → View details → "Edit completion" section (completed records only) · Before you start: Requires the assign-training permission; the section only renders on records in Completed status.
| Option | What it does |
|---|---|
| Completion date | Required; max today in the org timezone. |
| Grade | 0–100 decimal; clearing it removes the grade. Below the passing grade the record flags as Failed. |
| Hours | Decimal training hours 0–24 in 0.25 steps; feeds the hours reporting. |
| Instructor | Up to 200 characters; blank falls back to the course default. |
- Open the completed record via ⋯ → "View details" and scroll to "Edit completion".
- Adjust "Completion date" (max today), "Grade" (0–100), "Hours" (0–24, 0.25 steps) and/or "Instructor" (blank = course default).
- If the new grade is below the course's passing grade, an amber line warns: "Below the N% passing grade — this will flag as failed."
- Click "Save changes".
- Success: toast "Completion record updated." and the panel closes; the list refreshes with the corrected values (and the Failed status where applicable).
Good to know:
- Certificates keep their issued term: correcting the completion date re-anchors an already-issued certificate at the validity it was issued under — it is never re-issued under the course's current policy, and editing a course's "Valid for (days)" never back-fills existing records. Re-issuing under a new policy means completing the training again.
- If the record's completion had scheduled a recurring follow-up, correcting the completion date moves the follow-up's due date to match (certificate expiry wins; otherwise completion + interval).
- Re-grading below the pass mark makes the record Failed everywhere — list view, matrix, compliance percentages — and a failed completion carries no certificate.
Set the training source on a record
Classify who delivered a specific training record — Internal, External or Online — and, for external training, capture the provider, certificate number and training location. One workflow covers internal and external training; these are attributes of the record, not separate modules.
Where: Sidebar → Record Completion → ⋯ → View details → "Training source" panel → "Edit" · Before you start: Requires the record-completions permission to edit. External providers are picked from the Training providers directory (Administration → Training providers).
| Option | What it does |
|---|---|
| Delivery | Course default (inherit — the default), Internal, External, or Online / self-serve; drives the list's "All sources" filter, the CSV "Training source" column and the Internal vs External Training report. |
| Provider | Picker over active entries in the Training providers directory; deactivated providers stay displayed on records that already name them but leave the picker. |
| Certificate # | The provider's certificate number for this record (optional). |
| Location (optional) | Free-text training location for this record. |
- Open the record via ⋯ → "View details" and scroll to "Training source". Untouched records show their course's default, e.g. "Internal (course default)".
- Click "Edit".
- Set "Delivery" — Course default, Internal, External or "Online / self-serve".
- For external training, pick the "Provider" from the directory, and fill "Certificate #" and "Location" (both optional).
- Click "Save".
- Success: toast "Training source updated."; the panel lists Delivery, Provider, Certificate # and Location — only the fields you filled in are displayed.
Good to know:
- A record with no override inherits its course's delivery classification (In-person/Video/Practical courses fold to Internal; Online and External map to their own buckets).
- External training never automatically makes anyone competent or qualified — competency assessment is a separate internal step on competency-required courses.
Attach files to a record
File certificates, signed sheets, photos and assessment evidence directly on the training record they prove — each under its correct type, so audit evidence is one click from the record.
Where: Sidebar → Record Completion → ⋯ → View details → "Attachments" section · Before you start: Uploading requires the record-completions permission; removing an attachment requires the assign-training permission.
| Option | What it does |
|---|---|
| Attachment type | Certificate (default), Competency evidence, Attendance sheet, or Other — the label the file is stored and displayed under. |
- Open the record via ⋯ → "View details" and scroll to "Attachments".
- In the "Attachment type" dropdown choose Certificate, Competency evidence, Attendance sheet, or Other.
- Click "Upload" and pick the file.
- Success: toast "<Type> uploaded."; the file lists on the record with its type and size, downloadable via the download button, and the row in the training list gains a paperclip icon.
- To remove one (managers): click the trash button on the attachment and confirm "Remove \"file\" from this record?".
Good to know:
- Attachments are optional — nothing about a completion or an assessment requires a file.
- A shared attendance sheet uploaded in the Mark-complete dialog lands here on every completed record automatically; a signed class roll attached from the Class roll page instead files under the course's Materials & SOPs.
- Attached files also appear on the employee's profile.
Export and print the training list
Take the filtered training list off-screen — a CSV that matches the table exactly (filters, source filter and sort included) or a printer-friendly report.
Where: Sidebar → Record Completion → "Export CSV" and "Print report" buttons (top right) · Before you start: "Export CSV" requires the export-data permission (the button is hidden without it); "Print report" is available to all list viewers.
- Set the status view, search, filters and sort you want in the file.
- Click "Export CSV".
- Success: the file downloads as assignments-<view>_<date>_<time>.csv and a toast confirms "Exported N records." Its columns are: Employee, Employee #, Course, Course code, Version, Department, Location, Due date, Status, Completed on, Grade, Training hours, Instructor, Certificate expiry, Competency, Qualification, Training source, Waive reason, Notes.
- For paper: click "Print report" — a print-formatted page opens carrying the exact same filters; print from the browser.
Good to know:
- The export always honours every active filter and the active column sort — a filtered screen never produces an unfiltered file.
- Exports are capped at 5,000 rows: a larger result downloads the first 5,000, the filename gains "-partial", and a warning toast tells you to narrow the filters for the full set.
- Competency and Qualification cells are blank for courses with no competency requirement, and derive identically to the on-screen column.
Print a class roll and record the session
Run a classroom session on paper: print a sign-in sheet for everyone with a pending assignment on a course, have attendees sign it, then bulk-complete from the signed copy and file the scan.
Where: Sidebar → Record Completion → "Class roll" button in the page header (page title "Class roll") · Before you start: Anyone who can view the list can print; "Attach signed roll" requires the manage-courses permission; the follow-up bulk-complete requires record-completions.
| Option | What it does |
|---|---|
| Course | Required; "CODE — Title" picker. Nothing renders until a course is chosen. |
| Due from / Due to | Optional due-date window narrowing who appears on the sheet. |
| Print orientation | Portrait (default) or Landscape — set in-app because the page's print rule overrides the browser dialog's own orientation picker. |
- From Record Completion, click "Class roll" in the header.
- Pick the "Course" ("Choose a course…") and optionally a "Due from" / "Due to" range — the sheet lists everyone with a pending assignment matching them.
- Choose the print orientation with the Portrait / Landscape toggle (portrait is the default for the sign-in layout).
- Click "Print sign-in sheet" and print the browser dialog.
- Run the session; attendees sign the sheet.
- Back on the page, click "Record completions" — it jumps to Record Completion pre-filtered to this course and date range, ready to tick attendees and use "Mark complete".
- Optionally scan the signed sheet and click "Attach signed roll" to upload it.
- Success: toast "Signed class roll attached — it's now under the course's Materials & SOPs." (To file the sheet on each attendee's record instead, attach it in the Mark-complete dialog.)
Good to know:
- "Attach signed roll" files the scan under the course's Materials & SOPs (one copy per course); attaching in the Mark-complete dialog files it on each employee's record instead — the page header states this distinction.
- The wizard's success card offers "Print the class roll" pre-filtered to the course and due date you just assigned.
Run a Scan check-in session
Record attendance for a live group session by scanning employee QR badges (or typing names/numbers) — every checked-in person gets a completed record in one tap, walk-ins included.
Where: Sidebar → Record Completion → "Scan check-in" button in the page header (page title "Scan check-in", eyebrow "Attendance") · Before you start: Requires the record-completions permission (the header button is gated on it). Badges are printed via "Print badges" beside it (employee managers). Camera use needs browser permission; manual entry needs neither.
| Option | What it does |
|---|---|
| Course | Required; changing course mid-session asks to confirm and clears the checked-in roster. |
| Completion date | Defaults to today in the org timezone; cannot be future. |
| Instructor (optional) | Up to 200 characters; blank uses the course default. |
- From Record Completion, click "Scan check-in".
- Pick the "Course" ("Choose a course…"), confirm the "Completion date" (defaults to today, max today) and optionally the "Instructor (optional)" (blank = course default).
- In the "Scan badges" card, click "Start camera" and point the camera at each employee badge — each scan toasts "Checked in <name>" and adds the person to the "Checked in" roster on the right.
- No camera or an unreadable badge? Use "Manual entry — type an employee number or name" (e.g. "1042 or Jane Doe"), pick from the type-ahead or press "Add".
- Remove a mistaken check-in with the × on their roster row.
- When the room is done, click "Mark N complete".
- Success: toast such as "N marked complete · N newly assigned · N next occurrences scheduled"; the roster clears for the next session while course, date and instructor stay set.
Good to know:
- Anyone checked in without an open assignment for the course is assigned one automatically, then completed — recurrence and certificate expiry are handled the same as everywhere else (the page says so under the button).
- If your account cannot assign training, walk-ins are not silently dropped: a toast reports "N not assigned this course yet — a coordinator needs to assign it first."
- Check-in deliberately captures no training hours — the kiosk stays a fast tap-through by design; add hours afterwards via Edit completion if needed.
- Duplicate scans are ignored (a badge held in frame doesn't double-check anyone in), and already-checked-in people are filtered out of the type-ahead.
Recurring courses and the next occurrence
Understand what happens automatically when a recurring course is completed: TrainGrid spawns the next pending occurrence itself, so refresher cycles never depend on someone remembering to re-assign.
Where: Automatic — visible in the Mark-complete toast ("N next occurrences scheduled"), the wizard success card, and a record's View details ("Recurs every N days") · Before you start: The course must have recurrence configured (its recurrence interval, and certificate settings if it issues one) on the course form.
- Complete any assignment of a recurring course (Mark complete, check-in, or an impromptu recording).
- Read the success toast: it includes "N next occurrence(s) scheduled".
- Open Record Completion on the Pending view and find the employee's new row for the same course — that is the spawned next occurrence.
- Success: the completed record and its future follow-up both exist; the derived states (Due soon, Overdue, Expired) then track the new due date automatically.
Good to know:
- The next occurrence's due date is the certificate's stored expiry when the course issues one — the refresher comes due exactly when the certificate lapses; otherwise it is the completion date plus the recurrence interval.
- Correcting a completion date later moves the follow-up's due date to match (using the certificate expiry as stored, never recomputed from the course's current settings).
- Statuses like Overdue, Due soon and Expired are always computed from dates — never stored — so they update by themselves as the calendar advances.
- Deleting a completed parent record also removes the follow-up occurrence it had scheduled, and the delete confirmation says so.
Delete an assignment record
Permanently remove a single assignment record — a data-entry mistake, a duplicate created outside the wizard — with the deletion written to the audit log. This is deliberately rare and restricted.
Where: Sidebar → Record Completion → ⋯ → View details → "Delete record" (red button at the bottom of the panel) · Before you start: Administrator only (the delete-records capability is owner-level by default and the button does not render otherwise).
- Open the record via ⋯ → "View details" and scroll to the bottom.
- Click "Delete record".
- Read the confirmation "Delete this assignment?" — it names the course and employee, notes the completion date, and warns that a follow-up occurrence scheduled by this completion will be removed too, that this cannot be undone, and that an audit log entry will be recorded.
- Click "Delete".
- Success: toast "Assignment record deleted." (or "…also removed N follow-up occurrences it had scheduled.") and the panel closes.
Good to know:
- If a completed record spawned a recurring follow-up, deleting the parent removes that follow-up too, so compliance never counts a phantom obligation.
- For "this person shouldn't have this training requirement", use Waive (N/A) instead — it keeps the audit trail; delete is for records that should never have existed.