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
- Save your member list as a
.csvfile. Include a column headedemail(required) and optionally a column headedname. Column headings are matched ignoring case and surrounding spaces. - Keep the file under 10 MB and no more than 5000 data rows.
- On the Bulk import page, under Upload CSV, select your file.
- Select Run dry-run.
Review the dry-run report
- The page reloads and shows the Dry-run report for your file.
- Check the figures: Total rows, Valid, Duplicates (already members or duplicate-in-file), and Invalid.
- 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.
- If the numbers don't look right, fix your CSV and run a fresh dry-run.
Commit the import
- When you're happy with the report, select Commit import.
- 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
| Item | Notes |
|---|---|
email column | Required. Each value must look like a valid email address. |
name column | Optional. |
| File type | .csv only. |
| File size | Maximum 10 MB. |
| Row limit | Maximum 5000 data rows (blank rows are ignored). |
| Duplicates | Counted when an email already belongs to a member, or appears more than once in the file. |
| Status | Shown 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.