Somewhere in your old records, there is a woman who is three people. She is “Beth Carlson” on the giving log because that is how she signs her checks. She is “Elizabeth Carlson-Whitfield” on the membership roll because that is her legal name from the wedding announcement in the bulletin. And she is “Liz W.” on the volunteer sign-up sheet from the fall festival, because that is what the clipboard said and nobody thought to check.
None of this caused a problem while the records lived in three separate places. A spreadsheet tolerates a mess like this the way a junk drawer tolerates a mismatched pile of batteries — nothing is technically wrong, it is just not sorted. The trouble starts the moment you migrate, because migration is the one moment when all three of her show up in the same list at once, and somebody has to decide whether they are looking at one person or three.
Why duplicates survive a spreadsheet but not a real database
A spreadsheet has no opinion about identity. It will happily hold “Beth Carlson,” “Elizabeth Carlson-Whitfield,” and “Liz W.” on three different tabs without ever noticing they are the same address, the same phone number, the same person who has been coming to the 9am service for eleven years. Nothing forces a decision.
A people database does force the decision, eventually, because it wants to build a profile: one giving history, one attendance pattern, one serving record, one set of pastoral notes. If three entries for the same person land in three separate profiles, none of those three tells the whole story. Her giving looks smaller than it is. Her serving looks spottier than it is. A follow-up note logged against “Liz W.” never reaches whoever is caring for “Elizabeth Carlson-Whitfield.” The migration is the last cheap moment to catch this. Once three profiles exist and each has grown its own history attached, untangling them by hand is a slower, more delicate job than catching it now.
Start with a list, not a database
The right tool for finding duplicates is not the new software at all. It is a plain sorted list — the kind you can build in the spreadsheet you already have, before anything gets entered anywhere new. Pull every name your church has on file, from every source: the membership roll, the giving log, the volunteer sheets, the Sunday school roster, the Christmas card list, whatever exists. Put them all in one column.
Then sort three separate ways and read through each sort slowly, not on a screen you are skimming between other tasks:
- By last name, then first name. This catches the straightforward repeats and most of the misspellings, because “Carlson” and “Carlsen” land two rows apart.
- By phone number. This is the single most reliable sort in the whole exercise, for reasons the next section covers.
- By street address. This catches households, and it catches a woman who changed her last name but never moved.
Reading three sorted lists is tedious. It is also the entire method. There is no shortcut that replaces a person who knows the congregation reading a list slowly and thinking, wait, isn't that the same person.
The three ways one person becomes three rows
Most duplicates fall into a small number of patterns, and once you know the patterns, you start spotting them fast.
The name-that-changed. Marriage, divorce, and legal name changes are the most common source. Someone is “Sarah Michaels” for the first ten years of a church's records and “Sarah Coates” for the next ten, and nothing links the two rows except a phone number that never changed.
The name-that-was-never-formal. Nicknames, shortened first names, and middle names used as first names. “Bill” and “William.” “Peggy” and “Margaret.” A grandmother everyone calls by her middle name, entered by her legal first name exactly once, on the one form that asked for it.
The name-that-was-mistyped. A transposed letter, a missing hyphen, an extra space. These are the easiest to fix and the easiest to miss, because they look almost identical sitting two rows apart in a long list — which is exactly why the sorted-list method catches them and a random scroll through an unsorted sheet does not.
There is a fourth pattern worth naming separately: the same person entered once as an adult and again as somebody else's dependent — a teenager who ages into the adult roster while a childhood entry still sits, forgotten, in the Sunday school list. Age and household context matter as much as the name itself.
Phone number is the fastest tell you have
Names lie. Phone numbers, in a small church, mostly do not. If two rows with different-looking names share the exact same phone number, that is worth a second look before you assume it is a household with two adults sharing a landline. Cross-check the address too — the same number and the same street is close to certain to be one person entered twice, not two people who happen to share a phone.
Email works the same way, with one caveat: shared family email addresses are more common than shared phone numbers, so treat a matching email as a strong hint rather than proof, and let the phone number and address break the tie.
Households make the check easier, not harder
It can feel like grouping people into households adds a layer of complexity to an already messy migration. In practice it does the opposite, because a household groups the very rows you are trying to compare. Every person is still their own record, individual and searchable — but once you have sorted your list by address and started clustering rows into households, a duplicate inside a household jumps out. If “the Carlson household” has five rows and you only expected four people living at that address, you have almost certainly found your duplicate before you have even opened the new system.
This is also the moment to decide what a household looks like going forward, since a young adult who moved out or a couple who divorced needs to split cleanly into two households without losing either person's history — a decision worth making once, on paper, rather than re-deciding it every time it comes up during entry.
What to do once you have found her
Pick one row as the keeper — usually the most complete or most recent one — and copy anything useful from the other rows onto it: a phone number the keeper row is missing, a note about which service they attend, a maiden name worth keeping as a reference. Then mark the losing rows clearly, something as simple as a highlighted “DUPLICATE — merged into row 42” note, so nobody re-enters them later by accident. Do this in the spreadsheet, before entry starts, not after.
SundayBridge does not import a spreadsheet automatically, on purpose — there is no button that takes your file and decides for you which rows are the same person. What we do instead is load it by hand, for free, which means a real person is looking at your list and can ask you directly, “is Beth Carlson the same as Liz W.?” rather than silently guessing wrong. The cleaner your sorted list arrives, the faster and more accurate that hand-entry goes, which is the whole point of doing this work up front rather than leaving it for later.
A short list beats a clever tool
None of this requires special software, a spreadsheet formula you have never used, or a weekend of your life. It requires one sorted list, read slowly, three different ways, by someone who has been at the church long enough to recognize a grandmother by her middle name. That person is usually already on your team. The work is not clever. It is just easy to skip, and skipping it is exactly how one woman ends up as three people in a system meant to finally tell you who is actually there.
If this is one piece of a larger move off spreadsheets entirely, the broader migration guide covers the rest of the sequence, and cleaning up a database that already has years of drift in it picks up right where this one leaves off, for the records that are already inside a system rather than still sitting in a spreadsheet.