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.