NazTrack support

Importing People & Families

Guides for district workflows in NazTrack.

Importing People & Families

The Import wizard lets you bring people and family records into NazTrack from a spreadsheet. You upload a CSV file, map your spreadsheet columns to NazTrack fields, preview what will happen, and then run the import. This page explains the entire process in detail, including how to prepare your file, what each field means, and how the system handles existing records.

Preparing Your File

CSV stands for Comma-Separated Values. It is a plain-text file where each line represents one row of data and each column in that row is separated by a comma. It is the most universally compatible format for exchanging spreadsheet data between different programs.

A simple CSV looks like this:

first_name,last_name,email
John,Smith,john@example.com
Jane,Doe,jane@example.com

The first row is the header row — it names each column. Every row after that is one person's data. The import wizard uses the header row to let you match your columns to NazTrack fields.

You do not need to do anything special to your spreadsheet before exporting — just make sure the first row contains column headers, and each subsequent row is one person.

Microsoft Excel

  1. Open your spreadsheet.
  2. Click File → Save As (or Save a Copy).
  3. In the file type dropdown, choose CSV UTF-8 (Comma delimited) (*.csv). If that option is not available, choose CSV (Comma delimited) (*.csv).
  4. Click Save. Excel may warn you that some features will be lost — this is fine, click Yes or Keep Current Format.

Google Sheets

  1. Open your sheet.
  2. Click File → Download → Comma-separated values (.csv).
  3. The file downloads automatically.

Apple Numbers

  1. Open your spreadsheet.
  2. Click File → Export To → CSV.
  3. Leave the settings at their defaults and click Next, then choose a location and click Export.

After exporting, your file will have a .csv extension and is ready to upload. You do not need to open or edit the CSV file after exporting it.

  • Every row must have at minimum a First Name and Last Name. Rows missing either will be skipped.
  • Use one row per person. If two people share a family, give them the same Family Name (and ideally the same address) so the wizard can group them.
  • Column headers can be named anything — you will map them to NazTrack fields in the next step. You do not need to name your columns to match NazTrack exactly.
  • Dates can be in many formats: YYYY-MM-DD, MM/DD/YYYY, MM-DD-YYYY, Month DD YYYY, and more. For partial dates like birth year only, use just the four-digit year (e.g. 1965).
  • Boolean fields like Deceased and Archived accept: y, yes, true, 1, t for true; n, no, false, 0, f for false.
  • Choice fields like Gender, Membership Status, and Marital Status accept the full value name or common abbreviations — see the field reference below for details.
  • Blank or unrecognized values in optional fields are simply left empty. They will not cause the row to fail.
The Import Workflow

Go to Tools → Import People & Families from the church menu. The upload page shows a simple file picker. Click Choose File, select your CSV file, and click Upload.

The wizard reads the first row of your file as column headers. These header names appear on the next screen so you can map them to NazTrack fields. A preview of the first ten rows is also captured to help you verify mappings.

The file is stored temporarily while you complete the mapping and preview steps. It is deleted automatically after the import runs.

The mapping screen shows every NazTrack field alongside controls to connect it to your CSV. For each field, you choose a mode:

  • Map from CSV column — Select one of your CSV headers from the dropdown. The importer will read the value for that field from the corresponding column in your file.
  • Set a constant value — Type in a fixed value that will be applied to every row. This is useful when your CSV does not have a column for a field but you know the value is the same for everyone — for example, setting Membership Status to 'Active Member' for all imported rows.
  • Skip — Leave this field unmapped. It will not be set during import.

The wizard auto-suggests mappings based on your column headers. For example, if your CSV has a column named 'First Name' or 'firstname', it will pre-select that for the First Name field. Always review the suggestions before proceeding.

A sample data preview on the right side of the screen shows the first few rows of your CSV as they are, so you can verify you are mapping the right columns.

You do not need to map every field. Only First Name and Last Name are required. All other fields are optional.

At the bottom of the mapping screen, three options control how the importer handles families and existing records:

Family Grouping Strategy

This determines how people in your CSV are grouped into families:

  • Group by Family ID column — People with the same value in your Family ID column are placed in the same family. This is the most reliable method if your source data has explicit family groupings. Map a column to 'Family Imported External ID' to use this method.
  • Group by Family Name and Address — People with the same Family Name and the same postal code are placed in the same family. This works well when your data has a 'Family Name' column and consistent addresses.
  • Heuristic grouping (last name + address) — People with the same last name and address are grouped together. Use this as a fallback when neither of the above options applies. It is less precise and may group unrelated people who share a last name and address.

Address Strategy

When multiple people in a family have address columns, the address strategy controls which one is used as the family's address:

  • First adult's address — The address from the first person in the family group (as they appear in the CSV) is used as the family address. This is the default and works well in most cases.

Deduplication Policy

When the importer finds a person in your CSV who might already exist in NazTrack, the deduplication policy determines how aggressively to match them:

  • Strict — A match requires the same first name, last name, and either the same date of birth or the same email address. This is the safest option and is the default. It avoids incorrectly merging two different people who happen to share a name.
  • Relaxed — A match requires only the same first name, last name, and email, or first name, last name, and phone number. Use this when your data does not include birthdates but you want to avoid creating duplicate records.

If a match is found, the existing record is updated with any new field values from the CSV. If no match is found, a new person record is created. If a matching record exists but no fields have changed, the row is counted as skipped (no update needed).

Before any data is written, the preview screen shows a summary of what will happen:

  • Families to create — New family records that will be created.
  • People attached to existing families — People who will be added to a family that already exists in NazTrack (matched by name and address).
  • People to create — New person records that will be added.
  • People to update — Existing records where at least one field value has changed and will be updated.
  • Rows to skip — Rows with no changes needed (existing record already matches) or rows missing required fields.

Any warnings found during the dry run are listed below the summary — for example, unrecognized values in choice fields like Gender or Membership Status. These values will be left blank. Errors such as missing first or last name are also listed with the affected row number.

A sample of the first 30 mapped rows is shown at the bottom so you can spot-check that your column mappings look correct.

If something looks wrong, click Back to return to the mapping screen and adjust. If everything looks correct, click Run Import to proceed.

After you click Run Import, the system processes your file in batches. A progress bar shows how many rows have been completed. You can watch it run or leave the page open — the import will continue regardless. Do not close the browser tab while the import is running, as the progress bar drives the processing.

Once all rows have been processed, the page automatically redirects to the results screen.

The results screen shows a final summary:

  • Families created
  • People attached to existing families
  • People created
  • People updated
  • Rows skipped
  • Error rows — Rows that could not be processed due to a data problem.

If any rows had errors, a Download Errors CSV button appears. This file contains the row number, the error message, and the raw row data, so you can identify and fix the problematic rows in your source spreadsheet and re-import just those rows.

If people were updated, a list of updated records is shown with the person's name and the fields that changed.

Field Reference

These fields are shared across everyone in a family group. When multiple people in a family have different values for these fields, the first person's value (in CSV order) is used for the family record.

NazTrack Field Description
family_nameThe family's display name (e.g. 'Smith Family'). Used to group people together when using the Family Name grouping strategy.
family_imported_external_idA unique ID from your source system that identifies which people belong to the same family. Used when your data has explicit family groupings. Enables the most reliable family matching.
fam_streetThe family's street address line 1.
fam_cityThe family's city.
fam_stateThe family's state or province.
fam_postal_codeThe family's postal or ZIP code. Also used as part of family matching when using name-and-address grouping.
family_roleThe person's role within the family. Accepted values: Head of Household, Adult Child, Child, Other. Also accepts: spouse (mapped to Head of Household), adult (mapped to Adult Child).
NazTrack Field Description Notes
imported_external_idA unique ID from your source system for this person. Used to match rows to existing NazTrack records if the person was previously imported.Optional but highly recommended for re-imports.
name_prefixName prefix such as Dr., Rev., Mr., Mrs., Ms.Max 20 characters.
first_nameFirst name.Required. Max 50 characters.
middle_nameMiddle name or initial.Max 50 characters.
last_nameLast name.Required. Max 50 characters.
name_suffixName suffix such as Jr., Sr., III.Max 20 characters.
preferred_nameThe name the person prefers to go by, if different from first name.Max 50 characters.
date_of_birthDate of birth. Accepts full dates or partial dates (year only, or year and month). Accepted formats include YYYY-MM-DD, MM/DD/YYYY, MM-DD-YYYY, Month DD YYYY, and a four-digit year alone.Used in deduplication (strict mode).
genderGender. Accepted values: Male, Female, M, F.
marital_statusMarital status. Accepted values: Single, Married, Divorced, Widowed, Separated. Also accepts partial matches (e.g. 'divorce' matches 'Divorced').
NazTrack Field Description
mobile_phoneMobile / cell phone number. Stored as-is; no formatting is enforced.
home_phoneHome phone number.
work_phoneWork phone number.
emailEmail address. If the column contains multiple emails separated by commas or semicolons, only the first valid email is used. Used in deduplication (relaxed mode).
NazTrack Field Description Accepted Values
membership_status The person's membership classification. Non-Member, Active Member, Inactive Member, Removed, Fellowship Member.
Also accepts partial matches: 'active' → Active Member, 'inactive' → Inactive Member, 'fellow' → Fellowship Member, 'non' → Non-Member.
status The person's attendance/engagement status. Regular Attender, Infrequent Attender, Non-Attender, Former Attender, Prospect, Shut In, Friend of the Church.
Also accepts partial matches: 'regular', 'infrequent', 'former', 'prospect', 'shut', 'friend'.
received_by How the person became a member. Transfer, Letter of Commendation, Profession of Faith. Also accepts: 'commend', 'profession', 'faith'.
joined_dateDate the person became a member. Accepts standard date formats.
inactive_dateDate the membership became inactive.
removed_dateDate the person was removed from membership.
removed_by Reason for removal. Transfer, Removed by church board, Deceased, Removed by uniting with another church denomination or ministry. Also accepts: 'board', 'decease', 'unite'.
receiving_pastorName of the pastor who received them into membership.Max 50 characters.
membership_notesFree-text notes about membership history.

Baptism and dedication dates support partial dates (year only, or year and month) in addition to full dates. A four-digit year alone is valid.

NazTrack Field Description
baptism_dateDate of baptism. Accepts full or partial dates.
baptism_pastorName of the officiating pastor.
baptism_notesFree-text notes about baptism.
dedication_dateDate of child dedication. Accepts full or partial dates.
dedication_pastorName of the officiating pastor.
dedication_notesFree-text notes about dedication.
NazTrack Field Description Notes
anniversaryWedding anniversary date. Accepts full or partial dates (year only is valid).
background_check_dateDate a background check was completed. Full date required.
emergency_contactName of an emergency contact.Max 100 characters.
emergency_phoneEmergency contact phone number.
medical_notesFree-text medical or allergy notes.Max 500 characters.
deceased Whether the person is deceased. y, yes, true, 1, t = true. n, no, false, 0, f = false.
archived Whether the person record should be archived (hidden from normal views). y, yes, true, 1, t = true. n, no, false, 0, f = false.
Common Questions

The import wizard checks each row against existing people in your church before creating a new record. If an existing person is found (based on your chosen deduplication policy), the import updates their record with any new field values from the CSV instead of creating a duplicate.

Strict deduplication (the default) requires a name match plus either a matching date of birth or a matching email. Relaxed deduplication requires a name match plus either email or phone. If you are unsure, use Strict.

If you previously imported people using this wizard and saved their Imported External IDs, the system uses that ID as the primary match key before falling back to the name/DOB/email approach. This is the most reliable way to avoid duplicates across multiple imports from the same source system.

NazTrack supports partial dates for date of birth, baptism date, dedication date, and anniversary. You can import:

  • A full date (year, month, and day) — e.g. 1975-03-22 or 03/22/1975
  • A year and month only — e.g. 1975-03
  • A year only — e.g. 1975

A year-only value like '1975' is recognized as a partial date with year precision. This is displayed in NazTrack as '1975' with an indicator that only the year is known. The record is not considered to have a full date of birth for purposes like age calculation or birthday reminders.

Rows that cannot be processed are skipped and logged as errors. A row fails if it is missing a first name or last name. All other problems — unrecognized enum values, invalid dates, badly formatted emails — result in that field being left blank, not a row failure. The rest of the row's valid data is still imported.

After the import finishes, you can download the error log as a CSV. It shows the row number, the error message, and the raw row data so you can locate and fix the problem rows in your original spreadsheet, then re-import just those rows.

Yes. The import wizard is safe to run more than once with the same data. If a person already exists and no fields have changed, that row is counted as skipped with no changes made. If you fixed some rows and re-import the full file, only rows that are new or have changed values will be acted on.

For the most reliable re-import behavior, make sure your source data has Imported External IDs. This ensures the system always matches back to the right record even if names or emails change between imports.