Feb 23, 2024 09:20 AM
Hi all, I'm working on a donor management system for a non-profit org. Donors make pledges to give $x on x recurring basis, usually something like $50 a month.
I've got a table for Donors, one for pledges, and one for donations.
I need to have a way to check whether pledges are being fulfilled by donors. So if John Smith pledged $50 a month, has he actually sent $50 a month?
But how do you search for what's NOT there??? I am stumped on how to approach this one!
Any thoughts???
Feb 23, 2024 09:46 AM
It sounds like you create a donation record when one is received. If you change the logic so that you create one for each expected donation, and add a status for received, it changes the search to something that exists but is in a specified status. I know this is very simplified, but the way to accomplish it would depend on many variables, depending on time intervals (can they be weekly, quarterly, etc. ?), are they open ended or it there an ending date?...
It's similar to how financial systems deal with loans.
Feb 23, 2024 09:53 PM
Here is a simplified version of how I would solve this:
This gets more complicated if you want to track when you get less than the pledge amount or if you want to handle getting two in the same month.
Feb 23, 2024 11:25 PM
Assuming you have the date they started pledging donations, you could also try to do this by calculating the number of donations they should have made so far and compare it against how many donations there have been. It won't flag the donation that's missing though (e.g. can't tell you that they didn't donate in, say, May)
Feb 24, 2024 07:29 AM
This is really just a tweak of the above 2 solutions that changes the focus from comparing the expected number of donations to the expected amount of the pledge. This way, if a donor plays catch-up one month, the pledge status will change according to the total amount paid.
I'm guessing that in your Pledges table, you have fields for
I would add formula fields that calculate
IF(Difference<0, "Lapsed", IF(Difference=0, "On Track", "Overpayment"))
Donations that are pledge payments are linked to the open pledges for those donors; donations that aren't pledge payments (like an IMO or IHO that comes in outside of a pledge payment) aren't linked to pledge payments, and you can pull the pledge statuses into the donors page so you can see at a glance who's behind.
Link to base here.