Home / Blog / Employee certification tracking
Employee certification tracking

What is the best way to migrate years of certification records into new software without losing history?

Moving from spreadsheets and folders into a tracking system is the moment history gets lost. A staged migration keeps it intact and keeps the team's trust.

A person at a desk in a small office with stacks of paper personnel folders on one side and a closed laptop on the other, a filing cabinet with drawers open in the background

Decide what history you actually need before you touch anything

Years of records usually contain three kinds of data: the current credential for each active employee, the history of prior renewals, and records for people who no longer work there. The first is non-negotiable and must be perfect. The second is valuable for audits and for spotting patterns. The third is governed by your retention policy and may not belong in the new system at all. Sort the data into those three buckets first, because each one deserves a different level of effort.

Then write down the cutoff decisions: how many years of renewal history you will carry forward, whether former employees are migrated or archived read-only, and whether scanned documents move or stay in a locked folder with a pointer. A migration that tries to bring everything usually stalls under its own weight, and a migration that quietly drops history damages trust in the new system before anyone has used it.

Keep reading: How can a safety manager prepare certification records so a surprise audit becomes a simple export?, What is the best way for a warehouse to track forklift certifications across shifts and many operators?, How does a team keep every staff CPR certification current without one person chasing everyone constantly?. See how CertKeepr helps you employee certification and training expiry tracking.

Clean the data in the old system, not the new one

Export everything to a working copy and fix it there. The problems will be familiar: the same employee under two spellings, dates in three formats, certification names that mean the same thing written five ways, and blank expiration cells that could mean "never expires" or "nobody wrote it down." Normalize names against your current HR roster, pick one date format, and build a short mapping table from every old certification label to the credential types you will use going forward. Related: How does a team keep every staff CPR certification current without one person chasing everyone constantly?

Flag anything you cannot resolve rather than guessing. An expiration date you invent to fill a blank is worse than an empty field marked "unknown, verify at next renewal," because the invented date creates a false sense of coverage. Keep a list of these flagged records; it becomes the first task list in the new system and a surprisingly useful audit of how the old process was really working. Related: How can a safety manager prepare certification records so a surprise audit becomes a simple export?

Import in stages and run both systems briefly

Import active employees and their current credentials first, and check that batch line by line against the source before importing anything else. Then bring in renewal history, then archived records if you decided to carry them. Most tracking tools accept a spreadsheet import with column mapping; if yours does not, a short manual entry of the current credentials is still faster than a botched bulk import that has to be reversed. Related: When does a growing team finally outgrow tracking employee certifications in a shared spreadsheet?

For the first renewal cycle or so, keep the old spreadsheet available as read-only and compare a sample of alerts against it. This overlap catches mapping errors, like a two-year credential that was imported as three years, while they are still cheap to fix. Set a date to retire the old file, announce it, and stick to it; parallel systems that never end are how you get back to having two sources of truth. Related: How early should certification expiry alerts fire so managers have time to schedule renewal training?

Move documents with their records and keep the trail

Scanned cards and certificates should travel with the record they prove. If the new system stores attachments, upload the original files, not re-exported copies, and name them consistently. If documents stay in a folder, put the folder path or file name in the record so anyone can find the proof without asking the person who did the migration. A record with no reachable proof is only slightly better than no record.

Keep a migration log: what was exported, when, by whom, how many records went into each bucket, which ones were flagged, and when the old system was retired. It is a single page, and it answers the question an auditor will eventually ask about why a record from four years ago looks different from a record from last month. It also lets the next person who inherits the system understand what they are looking at.

Key takeaways
  • Sort records into current credentials, renewal history, and former employees, and decide the cutoff for each before migrating.
  • Clean names, dates, and credential labels in a working copy of the old data, and flag what you cannot resolve instead of guessing.
  • Import current credentials first, verify line by line, then keep the old file read-only for one cycle to catch mapping errors.
  • Move proof documents with their records and keep a one-page migration log for future auditors and successors.
Julien Jimenez
Written by

Julien Jimenez

Julien Jimenez is an independent software builder based in Paris. He designs, ships, and operates focused SaaS products for small businesses and independent professionals. Read the full author page.

Keep every staff certification current

Employee certification and training expiry tracking. CertKeepr is built to help you put this into practice.

Start tracking free

Get the CertKeepr playbook

Practical guides on employee certification tracking, straight to your inbox as we publish them. No spam, unsubscribe any time.

By subscribing you agree to our privacy policy.