Ops Insights #063 - Save 3x Hours by Finding Unique Identifiers
April 28, 2025 | Read Time: 4 minutes | Written by Jenny Kleintop
This edition is for my operations peeps. I’m going to walk you through an example of how I took a process that was taking 18 hours down to 6 hours. Why? Because I want you to think of ways to save yourself hours of manual work and redirect that time to that long list of to-dos you have piling up on you.
Here’s the background: We worked with finance to align the fundraising database with the finance system. We tagged funds in the database with GL Distributions, added a payment processor attribute, and mapped every Fund/Gift Type/Gift Subtype combo. I set up processes to export data from the fundraising system, run it through an Access database, which I call a converter, and provide files to finance in the format they needed to import into their finance system. We were doing a weekly “soft” posting and then an end-of-month (EOM) reconciliation/posting of the gifts.
Here’s the pause moment: Once we got everything set up and the processes in place, one thing still bothered me. It took 30 minutes to do the weekly posting, but 18 hours to do the EOM reconciliation, and I kept thinking it should take less than 8 hours.
Here’s how we did it: I found a way to get it down to 6 hours.
I tediously manually did the comparison to isolate what was taking so long.
I narrowed it down to the Stripe comparison process. There were hundreds of transactions each Stripe pay cycle, but the GL Post Dates we were using were not completely aligned. This caused each pay cycle not to match the totals we had in the database.
We had to do trial and error as Stripe support couldn’t give us exact dates.
Plan A: We used Fridays as the GL Post Date to match the Friday deposits during gift processing for Stripe gifts. For everything that was processed through Thursday, we used Friday as the GL Post Date to match the deposit date.
Plan B: Then, manually going through, I realized it should be Wednesday through Thursdays making it into the Friday deposits. So, I updated GL Post Dates and then tried to reconcile.
I then realized Stripe uses UTC times and we use EDT times, so we would never 100% be aligned.
Plan C: We used Fundraise Up reports to add gifts to the fundraising system, but we used Stripe reports to match the deposit. A light bulb went off for me… can we get a unique identifier between the two systems (Fundraise Up and Stripe)?
Going into the Stripe portal, we realized we were not downloading all the fields, so we added all the fields to the report.
This is when we found it. The Source ID on the Stripe report should match the Payment ID from the Fundraise Up report, which went into the database.
The only problem now was with Recurring Gifts. Since Recurring Gifts copied all the gift attributes over to the Recurring Gift Payment, we were not getting the correct Payment ID. We had to update our processes to stop putting a Payment ID on the Recurring Gift itself, as we didn’t need it there, and start putting the Payment ID that matched the payment on the Recurring Gift Payment.
Now we had alignment. The Source ID matched the Payment ID.
Now, each month, part of the prep is to compare the IDs and where the GL Post Date in our fundraising database does not match the deposit date on the Stripe report, we update the fundraising database. This takes 10 minutes.
Here’s why we did it: We went from 18 hours to 6 hours to do EOM, saving us 3x the time and effort. And each month we let out a sigh of relief that we figured it out. I used the time we got back and redirected it to set up some automated monthly pulls using Queue.
The takeaway: If you find yourself saying there has to be a better (or quicker) way, there usually is. Lean into that and go find it.
Take Action
Find a way to cut down on manual hours when it’s a routine process.
➡ Write down all the routine processes you run every year, month, week, or even day.
➡ Document each process from start to finish.
➡ Bring in another person to walk that person through the process because, as you start to explain it from start to finish, you’ll start thinking there has to be a better (or quicker) way to do this. It could be the whole process or part of the process. Capture that.
➡ Find a way to speed it up through curiosity, community groups, peers, or mentors. Aim for 3x faster. It may take extra time now but think of the hours upon hours of work you’ll save later.
You’ve got this!
👋 See you next time,
Jenny
Whenever you're ready, there are two other ways to get help:
Insights: Receive these Insights directly in your inbox to learn, grow, and accelerate your expertise of philanthropy data, database, and operations. Plus, bonus insights are often in the email version. Add your email here.
Hands-On Support: Get personalized assistance when you need it the most through fractional support. View here.