The question the auditor is really asking
Regulatory training is not static content. A procedure changes after an incident, an internal rule is tightened, a safety instruction is rewritten. The module is revised, sometimes several times a year.
From that point on, “96% of employees are trained” no longer answers anything. The question becomes: trained on which version? An employee who took the module in January never saw the rule introduced in June. On the dashboard, they still show as compliant.
That is exactly what an auditor, an internal controller or a compliance officer is trying to establish: for a given person, on a given date, what content did they actually see, and did they pass it?
Why an LMS alone struggles to answer
An LMS is built to manage enrolments and completions. It knows that a learner finished the “AML network” course. What was inside the SCORM package that day is another matter. Three situations come up again and again.
Replacing the package. When you import a new version of a module, the behaviour depends on the LMS and how it is configured: some overwrite the content and keep the old completions, some create a new attempt, others ask you to create a new course. In the first case, a January completion ends up attached to June content.
Copies. As soon as the same module lives in several environments, the head-office LMS, a subsidiary’s LMS, a partner portal, every revision has to be re-imported everywhere. Re-imports never happen on the same day. For weeks, two populations take two different versions under the same title.
People without an account. Contractors, intermediaries, temporary staff, field teams: the obligation applies to them, but they are not in the LMS. Their training ends up on an attendance sheet or in a spreadsheet, outside the history.
None of this is anyone’s fault. It is the normal consequence of a tool that tracks courses, not versions.
What a proof has to contain
A usable proof ties together four elements, recorded at launch time rather than reconstructed afterwards.
| Element | What you need to show | What is often missing |
|---|---|---|
| The person | An identified learner, employee or external | Externals, tracked separately |
| The version | The exact version of the content that was served | Only the course title is known |
| The date | When it was launched and when it was passed | A date overwritten by the latest attempt |
| The result | The status and, where there is one, the score | A result detached from the version |
There is a fifth point that is often forgotten: which version was in force on that date, and who decided it. Without it, you know what the person took, but not whether it was what they were supposed to take.
Three ways to get there
1. One course per version
The most common method is to create a new course for every revision, with the version in the title. It works, and it needs no tooling. Its cost shows up over time: the catalogue fills with duplicates, reports have to be consolidated by hand, enrolments have to be redone, and everything depends on the discipline of whoever does the import.
2. A tracking spreadsheet
Many teams keep a file alongside the LMS that notes, for each module, the date of every revision and the environment where it was published. Cross-referenced with LMS exports, it lets you work out who saw what. It is better than nothing, but it is a reconstructed proof: it is only as good as the upkeep of the file.
3. A single source that records the version served
The third approach turns the problem around. The content is hosted once. The LMSs only receive a lightweight package that points to that source. When a learner launches the module, the source knows which version it is serving, and records it with the learner’s identity and result. The version is no longer inferred, it is observed.
This is the Sajay Dispatch approach. You choose which version is in force, you can go back to the previous one, and every launch stays tied to the version actually served, including for people invited without an LMS account. Your learners keep the LMS they already know.
A test to run this week
Take a regulatory module that has been revised at least once in the past year, and one employee at random. Try to answer, with evidence:
- Which version of this module did they take?
- On what date, and with what result?
- Which version was in force that day?
- The same question for a contractor covered by the same obligation.
If any of these answers takes more than a few minutes, or relies on someone’s memory, you have found the gap an audit will find too.