Nonprofit · CRM migration

    St.
    David's

    St. David's donor history lived in Blackbaud Raiser's Edge NXT. With Grey Matter, I moved it to HubSpot: every constituent, household, relationship, and gift, with a custom Household object and Donorbox connected so new gifts arrive on their own.

    Year
    2026 · Q2
    With
    Grey Matter
    Migration
    Raiser's Edge → HubSpot
    Giving
    Donorbox
    § 01/By the numbers

    Everything moved

    A nonprofit CRM depends on its relationships: spouses, employers, foundations, the person who solicited a gift. Mapping them was one of the heaviest parts of the project, alongside about 58,500 historical emails, calls, meetings, and letters.

    0ContactsConstituents, household members, relationship-only individuals, and reconstructed donors
    0Gifts as DealsEvery historical gift, with legacy created and closed dates
    0HouseholdsBuilt on the custom Household object
    0CompaniesEmployers, foundations, and donor-advised funds
    0Person ↔ personSpouse, child, parent, sibling, friend, gala guest and sponsor, honoree
    0Person ↔ companyEmployer, employee, owner, board member
    § 02/Data flow

    Two ways in, three pipelines

    Historical gifts arrived once, through the migration. New gifts arrive every day from Donorbox. Each source has its own pipeline in HubSpot, next to the pipeline staff manage by hand.

    Legacy
    71,807 historical gifts from Raiser's Edge
    Active giving
    Gifts the development team manages directly
    Donorbox
    Fills automatically from the native integration
    Names are sample data
    1. System Record ID · 04127Dunn, Michael · constituentArchived records · 513 donors
    2. Match key · System Record IDDuplicate orgs detectedEncoding-safe import
    3. 32,300 contacts7,863 households71,807 deals · Legacy
    4. 10,938 person ↔ person18,950 soft credits38,852 household rollups

    Migration. The final go-live push was a delta-only re-sync. Every category was diffed against what was already live, so only new or changed records were imported.

    § 03/Custom object

    The Household

    HubSpot tracks people and companies, but donors give as families. I built Household as a custom object, 7,863 of them, each associated to its members and their gifts. A workflow rolls every new Deal into its Household, so family giving stays complete.

    Click a person to see their gifts
    fig. 01 · dashed = company association
    HouseholdThe Dunn FamilyClick a member to see their gifts. The household total combines every member and the matching company.
    Members3
    Gifts6
    Lifetime$4,350
    Giving timeline
    20172019202120232025
    § 04/Data integrity

    Beyond the row count

    Matching ran on Blackbaud's immutable System Record IDs, never on names. Family members often share names, addresses, and even emails.

    4,100Duplicate batch reversed. Root-caused to a HubSpot property-matching quirk and fixed with a rate-limit-aware dedupe pass.
    7,300Misclassified links stopped. A refreshed export would have turned company-employee relationships into person-to-person ones. Caught by spot-checking source records before production.
    513Donors reconstructed. Deceased and inactive donors, plus 45 organizations, rebuilt from archived records so their giving history stayed.
    31,000+Gifts with history. Staff notes and gift commentary carried over as native Deal fields, some from more than 20 years ago.
    StackHubSpotCustom objectsWorkflowsDonorboxRaiser's Edge NXTData migration
    NextAccertify Website
    All projectsGet in touch