Change CiviCRM membership offline renewal process to allow selection from price set, fixing problem where tax is always applied according to the minimum price settings of the membership type
The offline membership process is incomplete with regards to selecting membership terms or changing the type. This is further complicated on systems where different price points refer to the same membership type and number of terms, but will always refer to one term at the lowest price point on the offline renewal form.
Another side effect of this is that even if the membership renewal amount is changed on the offline renewal form, tax is always applied according to the minimum price settings of the membership type.
A proposed solution to this is to update the membership renewal form to allow membership selection from the configured price set.
Agileware Ref: CIVICRM-880
Steps to reproduce:
- Create a membership using a price set option
- Under the memberships tab for the contact in question, select to renew the membership offline.
- Note that resulting form does not provide any options to use a price set option or select the number of terms
- Change the dollar value of the membership renewal contribution
- Tax amount is not updated on the form
- This tax amount in the form is the same value that is recorded in CiviCRM
The proposed solution would change the output and processing of the form the to work same way as the add membership form:
- allowing the membership options and amount to be selected from relevant price sets on the system, and
- applying the correct tax to the line item according to the price option selected.
Screenshots of the problem