Skip to main content

Import Memberships

How to import membership records into CiviPlus

C
Written by CiviPlus Helpdesk
Updated over a month ago

Overview

CiviPlus includes a built-in importer that allows administrators to create or update memberships in bulk using a CSV file. This is commonly used when migrating data from another system, onboarding a large group of members, or correcting membership records at scale.

This article explains how to prepare your data and use the Membership Importer tool in CiviPlus successfully.

When to Use the Membership Importer

The Membership Importer is appropriate when you need to:

  • Create new memberships for existing contacts

  • Create contacts and memberships at the same time

  • Update existing membership records, such as status, dates, or membership type

  • Perform one time data migrations or large batch updates

Preparing Your Import File

File Format

  • The file must be in CSV format

  • Each row represents one membership record

Required Columns

At a minimum, your file should include:

  • Contact identifier

    • External Identifier, or

    • Contact ID, or

    • A combination of First Name, Last Name, and Email for Individuals

  • Membership Type

  • Membership Start Date

Depending on your configuration, additional fields may be required.

Common Optional Columns

You may also include:

  • Membership End Date

  • Membership Status

  • Join Date

  • Source

  • Owner Membership ID (for inherited or organization based memberships)

  • Financial Type and Total Amount, if linking memberships to contributions

Dates should be formatted consistently, typically as DD-MM YYYY.

Data Quality Tips

  • Ensure membership type names exactly match those configured in CiviCRM

  • Avoid extra spaces or inconsistent capitalization

  • Verify that contacts can be uniquely identified to prevent duplicates

Running the Membership Import

Step 1: Navigate to the Import Tool

  1. Go to Contacts

  2. Select Import

  3. Choose Memberships as the data type to import

Step 2: Upload Your CSV File

  • Upload your prepared CSV file

  • Select the correct character encoding if prompted

  • Choose whether to skip or update records on error

Step 3: Configure Import Options

You will be asked to configure how CiviCRM handles the import:

  • Select how contacts should be matched or created

  • Choose whether to create new memberships or update existing ones

  • Decide how to handle duplicate memberships

For updates, you will typically need to include the Membership ID or a combination of Contact ID and Membership Type.

Step 4: Map Fields

  • Map each column in your CSV file to the appropriate CiviCRM membership field

  • Required fields must be mapped before continuing

  • Unmapped fields will be ignored

Take time to review mappings carefully, especially for dates and status fields.

Step 5: Preview and Import

  • Review the preview screen to confirm mappings and sample data

  • Start the import

  • Wait for the import process to complete

Large files may take several minutes to process.

Reviewing Import Results

After the import completes, CiviCRM will display a summary including:

  • Number of memberships created

  • Number of memberships updated

  • Number of rows skipped or failed

  • Error messages with row references

It is strongly recommended to download and review the error file if any rows failed.

Common Issues and How to Avoid Them

  • Membership type not found

    • Ensure the membership type name exactly matches the configuration in CiviCRM.

  • Duplicate memberships created

    • Use Membership ID or clear matching rules when updating existing records.

  • Incorrect membership status

    • If status is not provided, CiviCRM may calculate it based on start and end dates.

  • Contacts not matched correctly

    • Always test with a small sample file before importing large datasets.

Best Practices

  • Test imports in a staging or sandbox environment first

  • Start with a small sample file to validate mappings

  • Keep a backup of your original data

  • Document import settings used for future reference

Did this answer your question?