Hi everybody,
We have just discovered a strange and problematic feature of how memberships are handled, and I'm wondering if anybody else has had problems with it and knows a good solution.
Sometimes it's necessary to manually change either the initiation date or the expiration date on a membership. For the most part this is fine. If you process a renewal, the new membership starts one day after the existing expiration date, and the new expiration date is one year after the existing expiration date--all as expected. The problem is that if the donor makes an additional gift (before the start of the renewal period) the expiration date gets automatically recalculated based on the initiation date. So your deliberate manual change gets automatically undone, without warning.
I don't know if this is a deliberate design choice or an oversight ('m waiting for an answer from TASK on that question), but if it's deliberate I think it's really bad design, and if it's an oversight it really needs to be fixed. It's also not mentioned in the documentation.
Does anybody have a solution or a workaround?
-Galen
I heard back from TASK yesterday--the person I was working with checked with the developers and reports that
Normal 0 false false false EN-US X-NONE X-NONE "It is intended behavior that a membership is completely recalculated every time it is updated. This is because it is possible that the default dates or level amounts have changed on the current level, or in the case of an upgrade new default dates apply. If the only thing to change when a membership is updated is the level it is possible for an upgrade to retain incorrect expiration dates after an upgrade."
She suggested that I open an enhancement request, which I'm about to do. While I appreciate the concern about defaults having been changed, I completely disagree with the position that the developers have taken. Bear in mind that we're only dealing here with cases where an existing membership is affected, so these are cases where the donor and the organization already have an agreement about what membership they're getting. In some cases, that agreement may involve a manual change--special circumstances that warrant different expiration dates, or credit at a higher level, for instance. Maybe there's a special circumstance where a donor's membership needs to reflect a gift to a campaign that doesn't usually count toward membership, for instance. If the prices or default dates get changed after somebody has already purchased a membership, it's not right to change the terms that have already been agreed to. Automatically recalculating essentially means sometimes automatically reneging on the agreements made with donors.
I can't think of any cases where automatically recalculating the dates seems appropriate.
Recalculating the levels should probably be contextual:
I'm going to provide a link to this forum discussion in my enhancement request, so please weigh in if you have any additional thoughts, or just want to vote in favor of making a change.
Thanks!