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
| Mode | Matches when | Use it when |
|---|---|---|
| External ID | The row's External ID column equals a donor's external ID | You're migrating from another system that has stable record IDs. The safest. |
| Emails equal (case-insensitive, trimmed) | Your list has reliable emails. | |
| Email, then name | Email 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.