Guide · Switching software

How to Migrate Volunteer Data Without Starting Over

Export, clean and map your volunteer records, hours and history so they arrive in a new system intact, with checks to prove nothing was lost on the way.

By the VolunteerFlow teamPublished 5 min read
On this page
  1. Decide what to bring
  2. Export everything and keep a clean copy
  3. Clean the data before you import it
  4. Map your columns to the new system
  5. Import in order: people first, then history
  6. Check the results against the originals
  7. Before you start

To migrate volunteer data without starting over, export everything from your current sheets or system and keep an untouched copy. Clean the data so there is one row per person and one kind of information per column, then map each column to a field in the new system. Import volunteers first, then hours and history matched to them by email. Finally, compare counts and hour totals before and after, so you can show that nothing was lost.

This guide is about the data. For planning the switch as a whole (what to move, how to tell volunteers and when to retire the old sheets) see how to replace volunteer management spreadsheets.

Decide what to bring

Volunteer data and whether to migrate it
DataUsually migrate?Notes
Current volunteersYesContact details, emergency contact, skills and anything you check before scheduling
Hours and attendanceThe years you still report onNeeded so totals, milestones and grant reports do not start from zero
Training and background checksYes, if they decide who can sign upBring completion dates, and expiry dates where they apply
Signed waivers and documentsCheck firstMany systems cannot bulk import files; keep the originals and decide whether to attach them one by one
Past application answersUsually notKeep the old files; new applicants use the new form
People inactive for yearsUsually notArchive them; importing old records adds clutter and personal data you no longer need

Export everything and keep a clean copy

  • Export each kind of data to its own file: volunteers in one, hours in another, events and rosters in a third.
  • Use CSV or Excel. Almost every system can import one of the two. From Google Sheets, download each tab as CSV or Excel.
  • Keep the original exports untouched in a dated folder. Do all cleaning on copies, so you can always go back.
  • Note the export date. Anything changed in the old system after it will not be in the files.
  • Keep it private. These files hold names, phone numbers and sometimes birth dates. Store them where only the people doing the move can open them, and delete stray copies when you are done.

Clean the data before you import it

Cleaning is most of the work, and it pays off: the import itself takes minutes once the file is right.

Cleaning checklist

  • One row per person. Merge duplicates, and decide which phone number or address is current.
  • Every person has an email address. Most systems use it to match people, so a missing or shared email causes trouble later.
  • First name and last name in separate columns.
  • One way of writing dates throughout, ideally year-month-day, and no dates typed as words.
  • Phone numbers and postal codes kept as text, so leading zeros survive.
  • No merged cells, totals rows, color-coding that carries meaning or notes in the header row.
  • One kind of information per column: not "Phone / email" in one cell.
  • Consistent values for status, skills and yes/no columns ("Yes", not a mix of "Y", "yes" and "x").
  • Hours as plain numbers or as start and end times, one entry per row, with a date on every row.

Map your columns to the new system

Mapping means deciding which field in the new system each of your columns goes into. Make a short list before you start, and create any custom fields you need in the new system first, so there is somewhere for that column to go.

An example column map from a typical volunteer spreadsheet
Your columnNew system fieldWhat to do
NameFirst name, Last nameSplit into two columns before importing
Email AddressEmailCheck every row has one
CellPhoneKeep as text
Emergency contactEmergency contact name and phoneSplit if both are in one cell
T-shirt sizeA custom fieldCreate the field first, with the same allowed values
NotesNotesRemove anything that should not be stored, such as old passwords
Total hoursNot importedImport the individual hour entries instead, so the total can be checked

Avoid importing a "total hours" column as a single number if you have the entries behind it. A total with no entries cannot be checked, broken down by program or corrected later.

Import in order: people first, then history

  1. Volunteers. Everything else is matched to them, so import and review them first.
  2. Training, checks and other records that belong to each person.
  3. Hours and past activities, matched to volunteers by email or ID. Matching by name alone fails as soon as two people share one.
  4. Upcoming events and rosters, or rebuild them by hand if there are only a few.

Read the review screen or error report for each file before you apply it. Rows that cannot be matched to a volunteer are better left out and fixed than guessed at.

Check the results against the originals

Do not rely on "the import finished". Compare a few numbers from your original files with the new system:

  • The number of volunteers imported equals the rows in your cleaned file, minus the duplicates you skipped.
  • Total hours for each year match the old sheet.
  • Five or ten people chosen at random have the right contact details, training and hours.
  • The people with the most hours, often your most loyal volunteers, look right.
  • Nobody received an unexpected email during the import.

Write down the date the new system became the source of truth and keep the original exports read-only. If a question about old hours comes up next year, you will know where to look. Getting the hour totals right from the start also makes later reports easier, which the guide to tracking volunteer hours covers in more depth.

Before you start

Ask any product you are considering for a sample import file or template, and try it with twenty rows of your real data during the trial. It is the fastest way to find out how much cleaning you will need. If you are still choosing a system, the guide to volunteer management software for small nonprofits lists what to check, including how to get your data out again later.

GuideSwitching softwarePublished

How to Replace Volunteer Management Spreadsheets

List what each sheet does, decide what moves, run one real event in the new system, then retire the old sheets on a set date.

GuideVolunteer managementPublished

Volunteer Management Software for Small Nonprofits: What to Look For

When spreadsheets and sign-up forms stop being enough, what the software should do, how pricing models differ and the questions to ask in a demo.

GuideHours & attendancePublished

How to Track Volunteer Hours: A Practical Guide for Nonprofits

What counts as an hour, four ways to record hours compared, how to fix the usual errors and how to report hours you can stand behind.

GuideSwitching software

Switching to VolunteerFlow

What moves over from spreadsheets or another system, what the first weeks look like and how to avoid starting over.

See how switching works

What moves over, what the first weeks look like and how to keep your history.