Skip to main content
Browse the guide

Members & access

Bulk import

Import many members at once from a spreadsheet.


Bulk import lets you bring a list of people into your club from a spreadsheet instead of adding them one at a time. You'll find it under User management → Bulk import in the admin sidebar.

The import always runs in two stages: a dry-run that checks your file and shows you exactly what will happen, then a commit step that you confirm yourself. Nothing is changed until you approve the dry-run.

Who can use this

Administrators only. Moderators don't have access to Bulk import — both the dry-run and commit steps require an admin role. There's no separate permission or feature flag to switch on.

What's on the page

  • Upload CSV — choose your spreadsheet file and start a dry-run.
  • Dry-run report — appears after an upload, summarising your file before you commit.
  • Recent imports — a table of your last few imports with their status and timestamps.

Step by step

Prepare and upload your CSV

  1. Save your member list as a .csv file. Include a column headed email (required) and optionally a column headed name. Column headings are matched ignoring case and surrounding spaces.
  2. Keep the file under 10 MB and no more than 5000 data rows.
  3. On the Bulk import page, under Upload CSV, select your file.
  4. Select Run dry-run.

Review the dry-run report

  1. The page reloads and shows the Dry-run report for your file.
  2. Check the figures: Total rows, Valid, Duplicates (already members or duplicate-in-file), and Invalid.
  3. If anything is invalid, you'll see up to five examples listing the row number, the reason (for example, "invalid email"), and a snippet of the raw row so you can find and fix it in your spreadsheet.
  4. If the numbers don't look right, fix your CSV and run a fresh dry-run.

Commit the import

  1. When you're happy with the report, select Commit import.
  2. The import's status changes to complete in Recent imports (the row is listed there from the moment you dry-run it, as ready). The button then reads Already committed and can't be pressed again.

Field reference

ItemNotes
email columnRequired. Each value must look like a valid email address.
name columnOptional.
File type.csv only.
File sizeMaximum 10 MB.
Row limitMaximum 5000 data rows (blank rows are ignored).
DuplicatesCounted when an email already belongs to a member, or appears more than once in the file.
StatusShown in Recent imports — for example ready after a dry-run, complete after commit.

Tips & FAQ

  • The dry-run is mandatory. You can't commit a file you haven't dry-run first, so there's no risk of importing something unchecked.
  • Why is a row marked invalid? The most common reason is a missing or malformed email address. Fix it in your spreadsheet and re-upload.
  • Duplicates are skipped, not errors. People who are already members, or listed twice in your file, are counted under duplicates and left as they are.
  • Where do I see who's been added? Check your member list on the Members page.
  • For people requesting to join themselves, see Applications instead.