# Membership-data preparation checklist

Prepare a working copy, preserve the original source securely, and restrict access to people doing the migration. Collect only fields the club has a valid reason to retain.

## Define a clean record

- [ ] Decide what one row represents: one person, not one family or one payment.
- [ ] Agree status values and plan names with the treasurer/secretary before mapping.
- [ ] Choose a consistent date format (for example YYYY-MM-DD) and document how ambiguous dates were resolved.
- [ ] Separate first and last names; trim leading/trailing spaces.
- [ ] Normalize email case and check malformed addresses without guessing corrections.
- [ ] Keep phone numbers as text so leading zeroes and international prefixes survive.
- [ ] Remove columns that are no longer needed, unjustified, or too sensitive for the destination.

## Duplicates, gaps and household links

- [ ] Find duplicate emails and decide whether rows are the same person before importing.
- [ ] Resolve duplicates using a second identifier or an authorised manual review; names alone can match different people.
- [ ] Mark blank or invalid contact details for review; do not invent an email to satisfy a field.
- [ ] If enabled and appropriate, use a consistent household name or stable internal household key on every related person.
- [ ] Use relationship values deliberately (primary, spouse, guardian, dependant, dependent, other, member); designate no more than the intended primary contact and payer.
- [ ] Junior dependants may have no email only when they are explicitly linked as dependants in a household import; do not use the guardian's email as the child's personal address.

## Import and reconcile

- [ ] Make a CSV UTF-8 copy with one header row, one record per row, and properly quoted commas/quotes.
- [ ] Map required firstName, lastName and email fields in the import preview. Email can be blank only for a household dependant.
- [ ] Map membershipPlan by an existing plan name; compare spelling with the organisation's configured plans.
- [ ] Test with a few approved records in a non-production environment or a safe limited batch, then inspect the result.
- [ ] Choose duplicate handling deliberately: skip or update existing records by email. Review updates before using them.
- [ ] Compare imported, updated, skipped and error counts with the source; review row-level errors and totals.
- [ ] Confirm membership statuses, plans and household assignments in the application before retiring the old register.
- [ ] Keep the original and migration log according to the club's retention/access policy; securely dispose of redundant working copies.

## Keep out of a routine import file

Never include passwords, full card/bank details, identity documents, safeguarding case notes, or unrelated sensitive information. Use a separate, access-controlled process for information that truly must be retained.
