How do you migrate an LMS without losing completion history?
By Embay Consulting Inc.
Preserve the original completion date on every record. A migration that stamps the import date instead will silently reset every recertification clock and leave you unable to prove when training actually happened. Export users, enrollments, completions and certificates, import them with their original dates, then reconcile the counts.
Key facts
- The field that matters
- Original completion date, not the import date.
- Why it matters
- Recertification cycles and audit evidence are both calculated from it.
- Minimum export
- Users, enrollments, completions with original dates, certificates.
- Verification
- Reconcile record counts and spot-check the oldest completions.
Why do completion dates get reset during a migration?
Because the import path is often the same code path as a new completion. A learner finishing a course today and a record arriving from a CSV today look identical to a system that only stamps the current time. The date field is written by the receiving system rather than read from the file.
The damage is not visible on the day of the migration. It appears months later, when a certificate that should have expired is still valid, or when an auditor asks for evidence of training that the system now says happened last spring.
What should you export from the old system?
Four things, at minimum. Users, with the identifier you will match on. Enrollments, so you know who was assigned what. Completions, carrying the original completion timestamp. Certificates, including issue and expiry dates where the old system tracked them.
Ask the outgoing vendor for the export before you give notice. Export tooling has a way of becoming less available once a contract is ending. Ask specifically whether the completion export includes the original date or the export date, and get the answer in writing.
How do you verify the migration afterwards?
Reconcile counts first. Total users, total completions, and completions per course should match the source export exactly. A difference of a few records is not rounding, it is a bug.
Then spot-check the extremes. Pull the ten oldest completions and confirm the dates survived. Pull anything with an expiry and confirm the expiry recalculated from the original date rather than the import date. Test the property rather than taking it on trust, whichever system you are moving to.
How does EmbayLMS handle this?
EmbayLMS imports users, enrollments and completions through its Switcher Program with the original completion dates preserved, so recertification cycles continue from when the training actually happened. Certificates carry their own issue and expiry dates. Learning data is stored at rest in Canada.
The verification steps above still apply. A vendor claiming date preservation, this one included, is making a claim you should test against your own export before you decommission the old system.
This page explains a general migration practice. It is not legal advice, and it does not state what any particular obligation requires of your organization.
Related questions
- Why do completion dates get reset during a migration?
- Because the import path is often the same code path as a new completion. A learner finishing a course today and a record arriving from a CSV today look identical to a system that only stamps the current time. The date field is written by the receiving system rather than read from the file.
- What should you export from the old system?
- Four things, at minimum. Users, with the identifier you will match on. Enrollments, so you know who was assigned what. Completions, carrying the original completion timestamp. Certificates, including issue and expiry dates where the old system tracked them.
- How do you verify the migration afterwards?
- Reconcile counts first. Total users, total completions, and completions per course should match the source export exactly. A difference of a few records is not rounding, it is a bug.
Sources
- EmbayLMS pricing and migration FAQ — EmbayLMS, accessed July 30, 2026
- EmbayLMS security — EmbayLMS, accessed July 30, 2026