Answers.Body: <p>After spending some time working on this, I finally found a solution that works for our circumstance. The following steps solved the problem:</p>
  
  <ol>
  <li>We modified the "guest" membership to be in a different organization than the "club membership".</li>
  <li>We installed CiviDiscount and use CiviDiscount to discount the guest fee from the full membership fee based on their active "guest" membership.</li>
  </ol>
  
  <p>For the first year, the user remains a member of the "guest" organization and a member of the club, but that doesn't have any negative effects on any of our other processes.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-05-14T20:17:53.227Z
Answers.LastActivityDate: 2019-05-14T20:17:53.227Z
Answers.UserDisplayName: Paul Dufresne
Answers.Body: <p>Perhaps you have overlooked the highlighted statement that appears on the renewal screens. (I did for almost 2 years.)</p>
  <p><a href="https://i.sstatic.net/rHPIr.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/rHPIr.png" alt="enter image description here" /></a>
  Click on <strong>change</strong> and you can set the renewal period to 0 terms which should do what you want.  You will need to manually enter the extra amount, but I imagine you are doing that anyway.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-04-27T23:37:10.457Z
Answers.Text: No, I didn't overlook that, but you manually have to change it, which is why I'm asking how to change it by default.
Answers.UserDisplayName: Paul Dufresne
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-04-27T23:53:08.277Z
Answers.Text: Thanks for pointing that out though JoAnne. Was news to me, possibly cos I grew up when it didn't exist ;-)
Answers.UserDisplayName: petednz - fuzion
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-04-28T00:10:12.110Z
Answers.Text: I wasn't aware of the option neither, thank you for the addition @JoAnne
Answers.UserDisplayName: Andrei
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-04-28T02:23:28.363Z
Answers.Text: @PaulDufresne. Sorry, I thought you meant 'manually change the expiry date back to the appropriate value', not 'manually change the number of renewal periods'.  Maybe you can do something with CiviDiscount.
Answers.UserDisplayName: JoAnne
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-04-28T02:59:42.273Z
Answers.Text: I thought I could do it with Profiles  by including hidden fields with default values, but that doesn't appear to be possible. Other than creating new and renewing, there needs to be a mechanism for upgrading a membership. I thought I could do this using membership status, but those are all date based, and don't allow for status rules based on contribution or price set.
Answers.UserDisplayName: Paul Dufresne
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-04-27T23:10:36.960Z
Answers.LastActivityDate: 2016-04-27T23:10:36.960Z
Answers.LastEditDate: 2020-06-17T09:00:50.810Z
Answers.UserDisplayName: JoAnne
Answers.Body: <p>To do so could be problematic from a transactional perspective, all depending on business rules separate and distinct from the rules inside the system. </p>
  
  <p>You could have a Junior Member at $10 annually, but they choose to upgrade to a regular membership at $20 annually mid-year. </p>
  
  <p>Since there is also the ability to override the system, you'd be better off stipulating membership upgrades can only occur at the renewal stage, as it would allow both promotion up and demotion down.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-04-28T03:20:30.713Z
Answers.Text: Actually, that's not a  option in our case, as people are required to come out as guests prior to becoming members, so we change their membership type from guest to member, but when we do, it wants to add a term. Maybe the answer is to set the guest membership type default term to 0.
Answers.UserDisplayName: Paul Dufresne
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-04-28T04:21:25.563Z
Answers.Text: Is your membership an annual membership? If so, you can then do a member conversion manually in the administration for the ones that opt to join.
Answers.UserDisplayName: eeprete
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-04-28T04:32:09.400Z
Answers.Text: Yes, the memberships are annual, and I am aware I can adjust them manually, as stated in the question.
Answers.UserDisplayName: Paul Dufresne
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-04-28T03:07:29.087Z
Answers.LastActivityDate: 2016-04-28T03:07:29.087Z
Answers.UserDisplayName: eeprete
Body: <p>Our club has different membership types, but all are on the same fixed membership period. If a member upgrades from one membership type to another, we use the "Renew" function to change the membership type and record the payment for the difference. By default, however changing the membership type also extends the membership by 1 term, so we have to manually adjust that.</p>
  
  <p>Is there another way to change membership types, instead of using the renew function to avoid this default behavior?</p>
  
Tags: <civimember>
Title: Changing Membership defaults to extending membership
ThreadText: # Changing Membership defaults to extending membership
  
  (Asked by: username_0 on 2016-04-27)
  
  Our club has different membership types, but all are on the same fixed membership period. If a member upgrades from one membership type to another, we use the "Renew" function to change the membership type and record the payment for the difference. By default, however changing the membership type also extends the membership by 1 term, so we have to manually adjust that.
  
  Is there another way to change membership types, instead of using the renew function to avoid this default behavior?
  
  **Tags:** civimember
  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_0 on 2019-05-14. Score: 1 | Accepted answer
  
  After spending some time working on this, I finally found a solution that works for our circumstance. The following steps solved the problem:
  
  1. We modified the "guest" membership to be in a different organization than the "club membership".
  2. We installed CiviDiscount and use CiviDiscount to discount the guest fee from the full membership fee based on their active "guest" membership.
  
  For the first year, the user remains a member of the "guest" organization and a member of the club, but that doesn't have any negative effects on any of our other processes.
  
  
  ---
  
  ### Answer by username_1 on 2016-04-27. Score: 2
  
  Perhaps you have overlooked the highlighted statement that appears on the renewal screens. (I did for almost 2 years.)
  
  [![enter image description here](https://i.sstatic.net/rHPIr.png)](https://i.sstatic.net/rHPIr.png)
  Click on **change** and you can set the renewal period to 0 terms which should do what you want. You will need to manually enter the extra amount, but I imagine you are doing that anyway.
  
  > **Comments:**
  > **username_0**: No, I didn't overlook that, but you manually have to change it, which is why I'm asking how to change it by default.  
  > **username_2**: Thanks for pointing that out though username_1. Was news to me, possibly cos I grew up when it didn't exist ;-)  
  > **username_3**: I wasn't aware of the option neither, thank you for the addition @username_1  
  > **username_1**: @PaulDufresne. Sorry, I thought you meant 'manually change the expiry date back to the appropriate value', not 'manually change the number of renewal periods'.  Maybe you can do something with CiviDiscount.  
  > **username_0**: I thought I could do it with Profiles  by including hidden fields with default values, but that doesn't appear to be possible. Other than creating new and renewing, there needs to be a mechanism for upgrading a membership. I thought I could do this using membership status, but those are all date based, and don't allow for status rules based on contribution or price set.  
  
  ---
  
  ### Answer by username_4 on 2016-04-28. Score: 0
  
  To do so could be problematic from a transactional perspective, all depending on business rules separate and distinct from the rules inside the system.
  
  You could have a Junior Member at $10 annually, but they choose to upgrade to a regular membership at $20 annually mid-year.
  
  Since there is also the ability to override the system, you'd be better off stipulating membership upgrades can only occur at the renewal stage, as it would allow both promotion up and demotion down.
  
  > **Comments:**
  > **username_0**: Actually, that's not a  option in our case, as people are required to come out as guests prior to becoming members, so we change their membership type from guest to member, but when we do, it wants to add a term. Maybe the answer is to set the guest membership type default term to 0.  
  > **username_4**: Is your membership an annual membership? If so, you can then do a member conversion manually in the administration for the ones that opt to join.  
  > **username_0**: Yes, the memberships are annual, and I am aware I can adjust them manually, as stated in the question.  
  
  ---
  
  