Skip to main content

Data Migration

If you are moving to Mission from another system, Mission's import engine handles bulk data import with validation and financial reconciliation. TheOneMigrate provides automated pipelines for RockRMS migrations; CSV import is available for any other source.

What You Can Import

Data TypeSupported Sources
People (members)RockRMS, CSV
FamiliesRockRMS, CSV
GroupsRockRMS, CSV
Donations (giving history)RockRMS, CSV
Attendance recordsRockRMS, CSV
Prayer requestsRockRMS (Church engine)

RockRMS Migration (Automated)

For organizations migrating from RockRMS, use TheOneMigrate for a guided, automated migration.

What TheOneMigrate Does

TheOneMigrate connects directly to your RockRMS SQL Server database and:

  1. Extracts all people, families, groups, contribution records, and attendance
  2. Maps RockRMS data structures to Mission data models
  3. Validates the data and surfaces issues before import
  4. Performs the import in batches with financial reconciliation
  5. Generates a migration report with counts and any skipped records

Starting a RockRMS Migration

  1. Set up TheOneMigrate with your RockRMS database credentials (see TheOneMigrate documentation)
  2. In TheOneMigrate, create a new migration job targeting your Mission organization
  3. Configure the field mappings (defaults match common RockRMS setups)
  4. Run the verification pass to review data quality
  5. Approve and execute the migration
  6. Review the migration report
💡

Run the verification pass before executing the full migration. It surfaces common issues like duplicate emails, malformed phone numbers, and donation records without matching funds. Fixing these before import saves significant cleanup time.

CSV Import

For organizations on other platforms (Planning Center, Breeze, Church Community Builder, spreadsheets), CSV import is available for all data types.

Import Limits

Mission processes imports in batches of up to 500 records per batch. For large datasets, split your CSV into multiple files.

CSV Format

People (members)

first_name,last_name,email,phone,status,joined_at,birth_date,gender,address,tags,notes
Jane,Smith,[email protected],555-0100,Active,2020-01-15,1985-03-22,Female,"123 Main St, Springfield, IL 62701",volunteer|small-group,
John,Smith,[email protected],555-0101,Active,2020-01-15,1983-07-10,Male,"123 Main St, Springfield, IL 62701",,
  • status: Active, Inactive, Visitor, Deceased
  • tags: pipe-separated list
  • joined_at and birth_date: YYYY-MM-DD format

Families

family_name,address
Smith Family,"123 Main St, Springfield, IL 62701"
Johnson Family,"456 Oak Ave, Springfield, IL 62702"

After importing families, link members to families by editing their person records.

Donations

member_email,amount,fund_name,method,donated_at,reference_number,notes
[email protected],100.00,General Fund,check,2024-12-01,1001,
[email protected],50.00,Building Fund,cash,2024-12-08,,
  • method: cash, check, card, online, other
  • fund_name: must match an existing fund name exactly
  • donated_at: YYYY-MM-DD format

Groups

name,group_type,description,meeting_day,meeting_time,location
Young Adults,Small Group,Young adult community 18-30,Wednesday,7:00 PM,Fellowship Hall
Men's Bible Study,Bible Study,Weekly men's study,Saturday,7:00 AM,Room 101

Running a CSV Import

  1. Navigate to Settings → Import (or use the API endpoint directly)
  2. Select the data type (People, Families, Groups, Donations)
  3. Upload your CSV file
  4. Mission validates the data and shows a preview with any errors
  5. Review warnings (duplicate emails, missing required fields, fund name mismatches)
  6. Click Import to proceed

Financial Reconciliation

For donation imports, Mission performs financial reconciliation:

  • Verifies that donor emails match existing member records
  • Flags donations where the fund name doesn't match an existing fund
  • Summarizes totals by fund for you to verify against your source system's records

After import, compare the totals Mission shows to your source system's giving report for the same period. If they match, your migration is complete.

Verification Before Import

The verification step is strongly recommended. It checks:

  • Required fields are present (first_name, last_name for people; amount and fund for donations)
  • Email addresses are valid format
  • Dates are in the correct format
  • Fund names in donation imports match existing funds
  • Duplicate detection (same email in the import batch)

Issues are categorized as:

  • Errors — rows that cannot be imported (missing required fields, invalid data)
  • Warnings — rows that will import but may need review (duplicate emails, missing optional fields)

You can proceed with warnings but cannot proceed with errors.

After Import

After completing an import:

  1. Verify counts: Compare Mission's count of members/donations to your source system
  2. Check the relationship graph: Verify family connections appear correctly
  3. Spot-check records: Open 5-10 random records and verify the data looks right
  4. Review financial totals: Run the Giving Report and compare year-to-date totals to your source
⚠️

Do not run a migration import on top of existing live data without careful planning. Imports do not automatically deduplicate against existing records — if you already have members in Mission, importing from a CSV with the same people will create duplicates. Run imports on a fresh organization or work with support for de-duplication strategies.

Import History

All import jobs are tracked. Go to Settings → Import History to see:

  • Date and type of each import
  • Records imported, skipped, and failed
  • Who ran the import
  • Full error log

Import records are retained permanently for audit purposes.