Configure Plan Upgrade and Change Paths

QCMM does not infer upgrades from Plan price or name. A member can change from one Plan to another only when a published Plan Upgrade / Change Path explicitly authorizes the source-to-target transition and the current user satisfies that path’s restrictions.

The path also defines when the change occurs and how the checkout amount is calculated. Some current options are intentionally placeholders/administrative workflows rather than fully automatic self-service behavior, so choose the implemented mode that matches the experience you want.

Create a Change Path

  1. Open QCMM → Plans → Plan Upgrade / Change Paths.
  2. Choose the From Plan and a different To Plan. Both Plans must exist, and the same source/target pair cannot be duplicated.
  3. Choose the change behavior and price behavior.
  4. Optionally require administrator approval and/or limit the path to selected Joomla groups.
  5. Publish the path and save it.
  6. Test from a subscription that is actually on the source Plan.

Change Behavior

ModeCurrent behavior
ImmediateThe implemented self-service path when admin approval is not required. Successful checkout applies the allowed Plan change immediately.
At expirationLifecycle/administrative behavior; it is not offered as an immediate self-service checkout path in the current member workflow.
Prorated placeholderNot a separate finished self-service timing engine; current frontend handling treats non-immediate behavior as requiring administrative/lifecycle handling.
Admin approval placeholderRequires administrator handling rather than acting as a normal immediate member checkout path.

Price Behavior

ModeCurrent behavior
Target priceCharges the full target Plan price for the change.
Prorated differenceFor a finite current term, QCMM computes the remaining fraction and charges the positive target remaining value minus remaining source credit. It preserves the current expiration after the change.
Manual placeholderStored as a placeholder; do not describe it as a working custom-pricing engine.

Proration Boundaries

  • Prorated difference depends on a finite source membership term and remaining time.
  • If the source has no expiration/non-finite term, the current implementation falls back to full target pricing/new target-term behavior rather than inventing an infinite-term fraction.
  • Price calculation does not authorize the transition by itself; the published path and current subscription remain required.

Joomla Groups and Approval

  • Leaving the path Joomla-group list empty means the path is not restricted by that extra group filter.
  • Selected groups narrow who may use the path.
  • Enabling Requires admin approval removes it from normal immediate self-service completion and routes the situation to administrative handling.

Safely Retire a Change Path

Unpublish or delete the path to stop new member transitions through it. Removing the path does not rewrite prior subscription, invoice, payment, credit, or Plan-change history that already occurred.

Verify as a Member

  1. Use a test subscription on the exact From Plan.
  2. Open the member management area and confirm only appropriate published immediate paths appear as self-service options.
  3. Check the target price/prorated amount before completing payment.
  4. After a successful immediate change, verify the subscription’s Plan/access and the expected expiration behavior.
  5. Unpublish the path and confirm it no longer appears for a new change attempt.

Community Discussion

Want to compare QCMM workflows or discuss how other Joomla site owners use this feature? Visit the QC Memberships & Meetings Community. For private support, account-specific entitlement or billing issues, or bug reports, use the QuantaCade support system.