Skip to content

Donors & imports

How imports avoid duplicates

The three matching modes, how blanks are handled, and why the dry run is your friend.

2 min read · Updated October 31, 2026

When you import a spreadsheet, each row is checked against donors already in your organization (and earlier rows in the same file) using the matching mode you pick.

Matching modes

ModeMatches whenUse it when
External IDThe row's External ID column equals a donor's external IDYou're migrating from another system that has stable record IDs. The safest.
EmailEmails equal (case-insensitive, trimmed)Your list has reliable emails.
Email, then nameEmail matches; or, if the row has no email, first + last name match exactly (case-insensitive)Older lists with many missing emails. More matches, slightly more risk.

Rows that match update the existing donor; rows that don't create a new one. Nothing ever merges two donors that already exist in DonorFinch.

Blanks never erase

An empty cell in your file never clears a value already on the donor. With Fill blanks only (the default), the import only writes into fields that are currently empty. Turn it off to let non-empty cells overwrite existing values (for example, a fresh address export).

Gifts

A gift row is skipped as a duplicate if the same donor already has a gift with the same amount and same date, whether from a previous import, an earlier row, or a gift that came in online. Running the same file twice therefore adds no second copies.

Tags, funds, campaigns, appeals

Matched by name, case-insensitive. With Create missing on, new ones are created; off, rows referencing unknown names are flagged in the dry run instead.

Households

Map a Household name column and rows sharing the same name are grouped into one household, with each person keeping their own record.

What the dry run tells you

  • Will create / will update counts for donors
  • Gifts to add / duplicates skipped
  • Problem rows, each with the reason (bad date, amount not a number, email malformed, unknown fund)

Fix the file and re-upload as many times as you like. Only Commit writes anything, and there is no undo after that; see Import donors and gifts from a spreadsheet.

Already have duplicates?

There isn't a merge tool yet. Archive the extra record (its gifts stay in reports, attributed to the archived donor) and, if needed, re-record the gifts on the one you keep. If you have a large duplicate problem from an import, send us a ticket before doing anything by hand.

Related