Our club allows people to come out as guests, for which we collects guest fee. If that person later chooses to become a member, we deduct that guest fee from their membership fee.
I know I can create different fee structures, but that assumes the person entering the information, whether that's a club executive or the member selects the correct thing. I haven't found a mechanism for membership upgrades, or a means of replacing one membership with another but applying a credit against the new one.
Is there a way with CiviCRM to automate this process?