Nonprofit finance and CRM
Making a CRM replacement work for fundraising teams
Executive reporting, reusable donor selections, and transaction reconciliation supporting multimillion-dollar fundraising operations and business-software change.
Steven Wittek’s prior employment and consulting experience · Organization anonymized
The work
A fundraising organization needs more than a list of donors. Campaign leaders and finance teams need to understand commitments, payments, outstanding pledges, designated funds, and allocations across reporting periods. In multimillion-dollar fundraising operations, the meaning of those records matters as much as the ability to retrieve them.
In a full-time role within the organization, I supported the campaign team, campaign directors, CFO, CTO, and other business leaders. I worked directly with them to turn their requirements into custom financial and fundraising reports. The work included campaign-close reporting, donor analysis, historical comparisons, and requests supporting executive and board discussions. It depended on understanding how the organization accounted for its activity and how leadership used the information.
A transition from a legacy fundraising application to Blackbaud CRM brought a further challenge: capabilities users relied on needed to be available in the replacement system. Reporting was part of the migration acceptance decision. A database conversion alone would not make the new application usable for the people doing the work.
I designed and developed a reusable selection-based reporting framework. Users could define a group of constituents from donation history, campaign participation, pledge activity, and other business criteria, then apply that group to different reports. I also implemented static constituent lists that users could maintain themselves, preserving their predefined groups alongside query-based selections. Shared reporting patterns gave other developers a foundation for additional reports.
Across related CRM conversions for multiple nonprofit organizations, I addressed a separate financial-data problem: negative payments and adjustments did not always translate cleanly between the source and destination accounting models. I investigated the transaction relationships and developed SQL preparation and correction logic so the financial meaning could be reviewed and reconciled during conversion.
These were connected business needs, addressed through distinct engineering efforts: dependable leadership reporting, familiar workflows in a replacement application, and financial records that could be meaningfully reconciled. The work provided reusable software and reporting structures around the way fundraising teams actually operated.
Engineering outcome
Delivered custom reporting and reusable donor-selection capabilities needed for CRM migration acceptance, alongside repeatable financial-data preparation and reconciliation work across related conversions.