Please confirm

Are you sure?

Importing your data

Importing your data

Moving to ChamberBuilder from another platform or a spreadsheet? You don't have to retype your member list. The Bulk imports tool brings your data in from a CSV file, and it understands exports from the systems most organizations are switching away from.

Every import runs the same way: choose your source → upload your file(s) → run a dry-run → review → commit. Nothing is created in your live account until you click Commit import at the end, so you can preview and re-run as many times as you like first.

What you can import

Depending on the source you pick, an import can create:

  • Businesses / members — one contact record per row, with name, email, phone, address, website, and description mapped automatically.
  • Memberships — members linked to the right membership tier and billing cadence (for sources that include membership data).
  • Payment methods and portal invitations — for a Paid Memberships Pro import, Stripe subscription details are pulled in and portal logins are queued as invitations.
  • Events — one event per row.

Scope note: the importer creates member and membership records, not full financial history. Standalone dues records, invoices, and past payments aren't imported by the main run. For a Paid Memberships Pro migration, current Stripe subscriptions are hydrated at import time, and there's a follow-up button to backfill historical invoices from Stripe afterward (covered below).

Supported sources

On the Choose source screen (the first step of a new import) you pick one of these, shown as cards you click to select:

  • Paid Memberships Pro — Upload a Members CSV plus an Orders CSV. We join them and hydrate Stripe subscription details automatically.
  • GrowthZone — A single export bundle.
  • ChamberMaster — A single export bundle.
  • Generic CSV — Businesses — One row per business; columns auto-map to the standard business fields.
  • Generic CSV — Members — Same as Businesses, but flagged as members.
  • Generic CSV — Events — One row per event.

Coming from Wild Apricot, MemberClicks, or another system? Export your members to a CSV and use one of the Generic CSV options — common column names map automatically (see below). If your export doesn't line up cleanly, email us at [email protected] and we'll help you get it in shape.

How the columns map

For generic CSV imports, column headers are matched automatically and are not case-sensitive, so you don't need to rename anything first. Recognized headers include:

  • Name — Name, Business Name, Company, Company Name, or Display Name.
  • Email — Email, or User Email.
  • Phone — Phone, Phone Number, or Billing Phone.
  • Address — Address, Address1/Address2, or the Billing Address variants; plus City, State, Country, and Postal code (Zip, Zipcode, Postcode, or Billing Zip).
  • Website — Website or User URL.
  • First / last name — First Name/Last Name (and Fname/Lname).
  • Description — Description.

Gotcha: a header has to match one of the recognized names to map. Something like EmailAddress, ContactEmail, or MemberName won't be picked up — rename those columns to Email and Name before you upload. The dry-run's sample table (below) shows you exactly what got mapped, so you'll catch a missed column before committing.

Where membership data is present, any membership tier whose name doesn't already exist is created automatically. Auto-created tiers come in with a price of $0, so plan to review them and set the correct pricing after the import.

Starting an import — step by step

  1. In the admin navigation open Data → Bulk imports. This page lists your past imports (with When, Kind, Status, Rows, and Uploader) or, if you haven't run one yet, an empty state inviting you to upload a CSV.
  2. Click New import (top right). You land on the Import data screen titled "Choose source".
  3. Choose source. Click the card for where your data is coming from, then click Continue.
    • What happens: ChamberBuilder sets up the import and takes you to the upload step for that source.
  4. Upload your file(s). The upload page is labelled for your source (e.g. "Upload Paid Memberships Pro files"). Most sources ask for a single CSV file; Paid Memberships Pro asks for both a Members CSV and an Orders CSV. Pick your file(s) with the file picker(s) and click Save and continue.
    • Gotcha: files must be .csv. If you re-open the upload step later, an already-attached file is shown as "Currently: yourfile.csv" so you know what's there.
  5. Run the dry-run. On the import's detail page, click Run dry-run. This validates your file and builds a preview without creating anything. When it finishes, the status changes and the preview appears below.
    • What happens: you'll see a First few rows table (generic imports) or, for Paid Memberships Pro, a Source summary, a What will be created on commit breakdown, the tier names it detected, and a Sample mapping (first 10 rows) table.
  6. Review the preview. Confirm the sample rows look right — names, emails, and (where relevant) tiers and Stripe subscription links. If any rows failed validation, an Errors table lists each one with its Row, Field, and Message so you can find and fix it in your spreadsheet.
    • Gotcha: the Commit import button only appears once the dry-run has at least one successful row and zero failed rows. If it's missing, you still have errors to clear — fix your file and re-run the dry-run (you can re-run as many times as you need).
  7. Commit. When the preview is clean, click Commit import and confirm ("This will create real records — continue?"). Records are created in the background, so a large file may take a few minutes; the status moves to Running and then Succeeded.
    • Gotcha: while an import is Running you can click Cancel to stop it. Once it's succeeded, the members and memberships are live in your account.

Screenshot needed: The Choose source screen with the source option cards. Save at public/help-images/importing-data/choose-source.png.

Screenshot needed: The import detail page showing the dry-run sample table and the Commit import button. Save at public/help-images/importing-data/review.png.

Review before you go live

The dry-run step exists so you never commit a messy file by accident. If any rows fail validation, fix them in your spreadsheet and upload again — the Commit import button stays hidden until the preview is completely clean. Only after that clean preview should you commit.

After a Paid Memberships Pro import

Once a Paid Memberships Pro import has Succeeded, a Backfill historical invoices from Stripe button appears on the import's detail page. Click it (and confirm) to walk each imported membership's Stripe subscription and create local invoice records for every past charge.

  • What happens: it fills in the invoice history the main import intentionally skipped.
  • Gotcha: it's idempotent, so it's safe to re-run — you won't get duplicate invoices.

Tips

  • Export from your old system first, then open the file to confirm it has a header row and one record per line.
  • Rename any column your export calls EmailAddress, ContactEmail, or MemberName to Email and Name so it maps cleanly.
  • Keep membership tier names consistent in your source file — each distinct name becomes its own tier.
  • After any import that creates tiers, visit your membership tiers and set the correct prices; auto-created tiers start at $0.
  • Import a small test file first if you're unsure about your columns — run the dry-run, check the sample table, then do the full file.
  • Not sure your export will map cleanly, or you'd rather have a hand? Send it to [email protected] and we'll help you bring it across.