Bulk Import

Import members, families, events, and transactions.

Bulk Import

Bulk Import lets you import large amounts of data from a spreadsheet in one step — instead of adding each record manually.


Who Can Use Bulk Import?

Role Access
Admin ✅ Yes
Director (custom role) ✅ Yes
Staff / Member ❌ No

Opening Bulk Import

Click Bulk Upload in the sidebar (near the bottom), or go to /bulk-upload.


What Can You Import?

Use the Import Type dropdown to choose what you're importing:

Type What it adds
Members Individual people to the directory
Families Household groups
Transactions Financial records
Events Calendar events

How to Import

Step 1 — Download the Template

Click Download Template to get a CSV file pre-formatted with the correct column headers for your chosen import type. Open it in Excel, Google Sheets, or any spreadsheet app.

Step 2 — Fill in Your Data

Add your data to the template. Each row is one record. Follow the column reference at the bottom of the import page for formatting rules.

Step 3 — Paste Your Data

You have two options:

Option A — Paste from Clipboard:

  1. Select all your data in the spreadsheet (including headers), copy it.
  2. Click anywhere in the import grid and paste (Ctrl+V / Cmd+V).
  3. The grid fills automatically.

Option B — Type directly: Use the live grid on the page — click any cell to type in it directly.

Step 4 — Review

Look over the data in the grid. Required fields are highlighted if they're missing.

  • Click Add Row to add an empty row at the bottom.
  • Click the × on any row to remove it.

Step 5 — Submit

Click Import to send the data. A summary shows how many records were created and if any rows had errors.


Column Reference by Import Type

Members

Column Required Notes
firstName First name
lastName Last name
email Email address
phone Phone number
birthday Format: MM-DD-YYYY
familyName Creates family if it doesn't exist
status active (default), inactive

Families

Column Required Notes
name Family name (e.g. "Smith Family")
status active (default), inactive

Transactions

Column Required Notes
date Format: MM-DD-YYYY
type income or expense
amount Number (e.g. 125.00)
description What the transaction is for
fund Fund name — must already exist
category Transaction category
paymentMethod cash, check, card, ach
payeeName Payee for expenses
status settled (default), pending
notes Additional notes

Events

Column Required Notes
name Event name
startDate Format: MM-DD-YYYY
startTime 12h format (e.g. 10:00 AM)
endDate Format: MM-DD-YYYY
endTime 12h format
locationName Venue name
locationAddress Venue address
description Event description
category Event category
isPublic true or false
registrationEnabled true or false
capacity Max attendees (blank = unlimited)

Tips for Clean Imports

  • Dates must be MM-DD-YYYY — not YYYY-MM-DD or DD/MM/YYYY.
  • Emails for members — if an email matches an existing app account, the member will be automatically linked to that account.
  • Duplicate members — if a member with the same email already exists, their record is updated, not duplicated.
  • Fund names in transactions must match an existing fund exactly.
  • Remove blank rows — empty rows at the bottom of your spreadsheet will cause errors.

Frequently Asked Questions

Why does pasting not work? Make sure you're copying from a spreadsheet (Excel, Google Sheets) — the paste feature detects tab-separated values. Don't paste from plain text or a PDF.

An error says "required field missing" but I filled it in. Column headers are case-sensitive. Use the downloaded template to ensure the column names match exactly.

I imported members but they don't appear in the directory. Check the Status filter — it defaults to "Active." If you imported with status "inactive," switch the filter.

Can I undo an import? Not automatically. Review the data carefully in the grid before clicking Import. If you need to undo, you'll have to delete the records manually.