Skip to main content
The CSV import tool lets you bring your existing member roster into Haven in one step. Whether you’re migrating from WildApricot, ClubExpress, or a homegrown spreadsheet, the import wizard walks you through uploading your file, mapping your columns to Haven fields, and reviewing the results before committing.
If you are migrating from WildApricot, export your contacts from Contacts → Export in the WildApricot admin. Haven auto-detects WildApricot column names (First name, Last name, Email, Membership level, Member since, Renewal due, Status) and maps them automatically.ClubExpress and other platforms typically support CSV export from their member reports section. Column names will vary, but you can map them manually in step 2 of the import wizard.

What the import supports

Haven accepts CSV, XLS, and XLSX files. The following fields can be imported:
ColumnHaven fieldNotes
First nameFirst name
Last nameLast name
EmailEmailRequired. Rows without an email are skipped.
Secondary emailSecondary emailCC’d on all automated emails
PhonePhone
AddressAddress line 1
CityCity
State / ProvinceState/Province
Zip / Postal codePostal code
CountryCountry
OrganizationOrganizationThe member’s employer or affiliation
Membership levelMembership levelLevel name must match exactly, or a new level is created
StatusStatusactive, lapsed, contact, etc.
Member since / Join dateJoined dateAny common date format is accepted
Renewal due / Renewal dateRenewal date
TagsTagsComma-separated values in a single cell
Email is the only required column. Any row without an email address is skipped during import and counted in the “skipped” total on the results screen.

Formatting your CSV

A few formatting notes before you upload:
  • One row per person. Each row creates or updates one member record.
  • Dates — use any standard format: 2024-03-15, 03/15/2024, or March 15, 2024.
  • Tags — put multiple tags in a single cell, separated by commas: Board Member, Finance Committee.
  • Membership levels — the value must match a level name in your Haven account exactly (case-insensitive). If Haven does not find a matching level, it creates a new one automatically.
  • Status values — use: active, lapsed, contact, suspended, honorary. If the column is omitted, imported members default to active.

Running the import

1

Navigate to Import

Go to Members → Import CSV in the left sidebar.
2

Upload your file

Drag and drop your CSV, XLS, or XLSX file onto the upload area, or click to browse your files. Haven parses the file immediately and shows a preview of the first five rows so you can confirm it loaded correctly.If the preview looks wrong — columns are missing, or data appears in the wrong place — check that your file uses the first row as a header row and re-upload.
3

Map your columns

Haven automatically maps columns it recognizes by name. Each column in your file appears on the left; the mapped Haven field appears on the right.Review the auto-mapped columns and correct any that are wrong or unmapped. Set any column you do not want to import to Skip this column.The Email column must be mapped before you can proceed. Haven blocks import if email is not mapped.
4

Review the import summary

Before importing, Haven shows you:
  • Total rows — how many rows are in your file
  • Membership levels — the distinct level names detected, so you can confirm they match your existing levels
  • Missing email — the number of rows that will be skipped because they have no email address
If Haven detects level names that don’t exist in your account yet, it notes that they will be created automatically.
5

Run the import

Click Import Members. Haven processes the rows in sequence. A progress bar tracks the import. When it completes, you see a results screen.

What happens during import

  • New records — rows with an email address that does not exist in your database create a new member record.
  • Existing records — rows with an email address that matches an existing member update that record with the values from your CSV. Fields you did not include in your CSV are left unchanged.
  • Duplicate emails — if your CSV contains the same email address more than once, Haven processes the first occurrence and skips the duplicates.
  • New membership levels — if a level name in your CSV does not match any existing level, Haven creates a new inactive level with that name. You can then configure its pricing and settings from Members → Membership Levels.
Import updates existing records. If you include a column for a field that already has a value — for example, renewal date — the imported value overwrites what was there. Double-check your data before importing to avoid overwriting accurate records.

Post-import review

After the import completes, Haven shows a summary:
  • Number of members imported
  • Number of rows skipped (and why)
  • Names of any new membership levels created
  • A list of any row-level errors (for example, an unrecognized date format)
Click View Members to go directly to the people list, filtered to show your full database. From there you can spot-check individual records, assign tags, or fill in custom fields that were not in your CSV.
If you imported many members and some records need corrections, use the member list’s search and filter to find them quickly. You can edit any record by clicking the member’s name to open their profile.

Frequently asked questions

Yes. During the field mapping step, any column in your CSV can be mapped to a custom field you have already defined. Custom fields appear in the mapping dropdown alongside the standard Haven fields. Make sure to create your custom fields in Members → Custom Fields before running the import.
No. The CSV import does not trigger automated emails. Welcome emails are only sent when you manually activate a member through the dashboard or when a member completes the public signup flow. This prevents your entire roster from receiving a welcome email when you first migrate.
There is no bulk undo for an import. If you need to remove records created by an import, you can delete them individually from the member list. For large-scale corrections, contact Haven support.
Haven does not impose a hard row limit, but very large files (10,000+ rows) may take a few minutes to process. Keep your browser tab open until the import completes. If you have a very large roster, consider splitting it into multiple files of a few thousand rows each.
No. Email is Haven’s unique identifier for each person record, so it is required. Rows without an email address are skipped. If you have members without email addresses, you can add them manually through the Add Member form and leave the email field blank — though some Haven features (automated emails, portal login) will not be available for those members.