Training

Training Reporting & external LMS

The training dashboard for admins, plus how to feed completions in from your existing LMS so everything ends up in one history.

For
Quality Managers, training admins
Find it at
Admin → Training → Reporting; Admin → Training → Sources
Reading time
6 min

In one sentence

Training reporting is two things in one: a dashboard that tells you whether your team is keeping up with required training, and an inbox that ingests completions from your existing LMS so everything is in one place.

Three things to remember
  • The dashboard shows completion percentage and median time-to-acknowledge, not just "how many people clicked yes".
  • A shallow time-to-acknowledgement curve is the early warning that something's stuck.
  • External LMS completions arrive automatically once you connect a source — they appear in users' Completed lists alongside QFormance courses.

The dashboard

Open Admin → Training → Reporting.

app.qformance.io/admin/training/reporting

Training Reporting dashboard with stat cards, the time-to-acknowledgement curve, and the per-document drill-down

save as: public/docs-screenshots/training-reporting/dashboard.png
1

Top stats. Headline numbers — total requirements, completion %, median and 90th-percentile time to acknowledgementnowledge.

2

Time-to-acknowledgement trend. A cumulative curve. The closer it leans to the y-axis, the faster your team is responding.

3

Per-document drill-down. Click any row for the per-learner status on that document.

What the headline numbers mean

MetricWhat it tells you
Total requirementsHow many active documents need acknowledgement, plus active courses.
Completion %Fraction of distribution-list assignments that have been acknowledged.
Median time-to-acknowledgementTypical turnaround from when a document is distributed to when it's acknowledged.
90th-percentile dayHow many days it takes for 90% of acknowledgements to come in. The number you quote when an auditor asks "is everyone trained?"

The time-to-acknowledgement curve

The curve plots the cumulative fraction of acknowledgements completed by day-since-distribution. A typical healthy curve climbs sharply for the first 5–10 days, then levels off near 100%. A shallow curve — one that takes 30+ days to plateau — is the signal that document changes aren't reaching people quickly enough, or that managers need to nudge their teams.

Per-document drill-down

Underneath the headline metrics, every document that requires acknowledgement is listed with its completion percentage and a link to the per-learner view. That view shows who's acknowledged, who hasn't, and how long it's been since they were assigned.

Retiring stale acknowledgement obligations

A sibling admin page — Admin → Training → Acknowledgements — lists every open document acknowledgement obligation by version and lets you retire one that no newer revision is going to clear (keeping completed records, stopping reminders and prompts for the rest). It's the deliberate way to close a requirement that the reporting dashboard would otherwise keep counting as outstanding. See Document training → Retiring an obligation.

Connecting an external LMS

If your team already runs Moodle, Cornerstone, Articulate Online, or another LMS, QFormance can ingest those completions so people don't end up with two training histories.

The flow is:

1
Register a source
Name it (e.g. Moodle Production). QFormance generates a one-time API key.
2
Configure the LMS
In your LMS, point its xAPI integration at the QFormance address and paste the API key.
3
Watch completions arrive
As your LMS processes course completions, they appear in users' Completed lists.

Once connected, completions stream in automatically as your LMS processes them.

To register a source: go to Admin → Training → Sources and click New source.

Watch out for: the API key shows once

QFormance generates the key, displays it, and never shows it again. If you lose it, regenerate one — but the LMS will need to be reconfigured with the new key. Save it to your LMS and a password manager before you close the dialog.

How most LMSs ask for credentials

Most popular LMSs (Moodle, Cornerstone, Articulate Online) want a username and password when you connect to an external xAPI receiver:

  • Put anything in the username field — qformance, lms, leave it blank, doesn't matter. QFormance ignores it.
  • Paste your API key as the password.

That's the connection done. From here, a completion in your LMS shows up in QFormance the next time the LMS pushes — usually within minutes.

For developers: HTTP details

QFormance accepts two authentication schemes on the xAPI endpoint:

Authorization: Bearer <api_key>
Authorization: Basic base64("anything:<api_key>")

Use Bearer when your LMS lets you set a custom Authorization header. HTTP Basic is required by xAPI 1.0.3 §6.2, which is what Moodle, Cornerstone, and Articulate Online speak. The username portion is ignored — the API key is the password.

Statements arrive as standard xAPI: actor / verb / object / result. They merge into the same training-record store as native QFormance completions. Each source row shows its last-used timestamp so you can confirm the pipeline is live.

Pausing a source

Flip a source Inactive at any time to stop accepting new completions from it. Existing records stay — only new attempts to send are rejected (with a clear reason, not a bare error code).

What external completions feed

Once a completion has landed from an external source, it counts the same as a native QFormance completion:

  • It appears in the user's Training Hub → Completed list.
  • It rolls into the Training Reporting stats.
  • It's available as audit evidence when an auditor asks did this person complete Training X?
Was this helpful?
Suggest an edit →