Menu
Dark themeChange font
Back
Dark themeChange font

Designing donor reporting for a nonprofit CRM, from zero to a weekly habit

Shipped nine role-based reports and a custom builder in two weeks, now opened weekly by 60% of clients.

The Sapling Reports screen: nine report cards, from Orchid Insights to Revenue Forecasting, above a table of recent reports.
Role
Founding Design Engineer
2026
Scope
Product Design
Design Systems
Industry
Nonprofit
AI-native CRM

Building donor reporting from 0 → 1

October 3, 2026Leading Ambiguity
By Vandan Gohil

Every donor CRM has reports. Raiser's Edge, Bloomerang, DonorPerfect. They're table stakes: nobody picks you for them, and everyone walks without them.

But fundraisers export them to a spreadsheet and go contact by contact to find who is slipping. The report answers what happened.

So the bar was the reports every CRM has, deep enough for every corner of a nonprofit, and built so the next step is obvious from the page.

The test I ran every screen against:
A gift officer shouldn't have to open forty donor records to find the three about to lapse. The report should hand them the three.

It became one of Sapling's largest features. Six nonprofits run it every week. This is how it got there.

What the category already ships

I started by finding the standard. What does a reports feature look like across every serious competitor, and what do their users complain about.

The pattern was consistent. The same handful of report categories everywhere. Tables of counts. Sector acronyms like LYBUNT and SYBUNT. Most of it built for the person who exports to Excel and does the real work somewhere else.

Research told me what exists. It couldn't tell me who opens it, or why. For that I had to talk to people.

Three types of users open the same report

I asked users how they get reports today and which ones they actually look at. The answers split cleanly into three types, by role.

  • Leadership

    Cares about KPIs

    01

    They want the number, and then they want to leave.

  • Team Managers

    Cares about growth

    02

    Is everyone performing, and is giving growing week over week.

  • Gift Officers

    Cares about depth

    03

    They raise the money. Every gift, every lapse, every move.

Three types of users, three depths, often the same page. So the page had to be built in the order they read it.

Managers judge gift officers on the same trends officers work from, so they got their own report: Portfolio Performance and Activities, covering caseload coverage, officer activity and team balance.

Design decisions

Plain words over acronyms

By the end of week one, three reports were running on real data. The founder's main note: drop LYBUNT and SYBUNT.

They're standard in the sector, but a new CRM shouldn't sound like an old one. If a label needs a glossary, it's the wrong label.

Movement over counts

The first versions counted donors per status. Gift officers asked who moved, and where. So the lifecycle report became a Sankey of donor movement, clickable down to the donors.

Granularity of reports

Research and brainstorming came down to nine report types. Together they cover 90% of what people open reports for, and each answers the question its readers came with.

Report
Built for
The question it answers
Orchid Insights and Next Calls to Make
Gift officers
Who should I call today, and why?
Recent Giving and Trend Analysis
Managers, gift officers
Is giving speeding up or slowing down?
Retention, Reactivation, and Donor Lifecycle
Gift officers, managers
Who moved, and in which direction?
Geographic Analysis
Leadership, gift officers
Where does our support come from?
Campaign, Fund, and Segment Analysis
Leadership, managers
Which appeals, funds and channels are working?
Pledges and Asks Reporting
Gift officers, managers
What's promised, what's overdue, what can we expect?
Portfolio Performance and Activities
Managers
Is every caseload covered and moving?
Engagement Tracking and Conversion
Managers, gift officers
Is interest turning into gifts?
Revenue Forecasting and Monthly Giving
Leadership
What will we raise, and how healthy is recurring giving?

Where it started: a custom report builder

Reports started as a blank builder. Leadership used it well; gift officers and managers stalled at the blank page. So the builder's filters became the engine, and the nine templates became the front door, each with its question already asked.

Leadership still builds every month: reports around the KPIs they care about, exported or scheduled for the team.

How it got built

Two weeks to ship. Working reports reached the founder in week one and five nonprofits soon after, so feedback arrived while changes were still cheap.

Stage
What I did
Brief
Found the intent behind the founder's ask
Research
Competitor and complaint research, then the user conversations that found the three readers
Design
Page anatomy, hierarchy, what to cut
Build
Reviewed, refined, made the interactions feel right
Backend handoff
Defined what each report needed from the API
Validate
Week one with the founder on real data, then five nonprofits on their own data
Release
Feature newsletter, then rollout to all 10 paying clients

Outcome

The product is new and so is the feature, so today's picture is strong qualitative signal and thin quantitative data.

  • Shipped01

    0reports

    covering every role's core question, plus a builder for the rest.

  • Habit02

    0%

    of clients open their reports every week to track their progress.

  • Signal03

    One of the strongest features in the product.

    What investors and early customers said about Reports.

What I'd take into the next one

Flexibility only helps people who already know what they want

A blank builder hands the hardest part of reporting, knowing which question to ask, to the person least equipped to answer it. Templates that ask the question for you serve far more people than a builder that can answer anything.

Shipping fast makes scope grow

Nine reports shipped quickly and covered 90% of what users needed. That's when the asks started: three to five more features on top, each one making the product more complex.

Set the scope before the build starts

Now I agree on what the feature includes before anyone builds it. New asks go to the next release, never into a sprint that's already running.

in Tempe, Arizona
Coffee statusProbably making coffee.