Use case: a user buys a 'silver' subscription, but later wants to upgrade to 'gold'.

We could provide a UI where a user can switch the product variation that their subscription purchases. Might make sense to limit the change to a PV that's tied to the same product.

Comments

joachim created an issue. See original summary.

bojanz’s picture

Title: UI for changing the product of a subscription » Allow the customer to switch plans

Retitling for clarity. We'd definitely want to limit the change to variations of the same product, that's how plans are implemented.

jeff veit’s picture

This seems like a good place to discuss subscription changes.

I think Joachim's example is one possible sub change. Others include any change to the form admin/commerce/subscriptions/{id}/edit.

I don't think that most changes here are well handled atm.

  • Change to unit price should update the draft order if pre-paid.
  • Quantity - ditto.
  • Payment method change - should update draft.
  • Customer change - should update payment method too.
  • Billing schedule - should update draft. It should probably take effect at the end of the cycle, but you can imagine immediate change too.
  • Variation. I think that allowing changes only to variations inside the product is limiting. Sometimes plans will be organised in a product, but not always. For instance, if the plan requires more information. Movement between plans is also subject to business rules.
  • Dates: there's a patch to let end date end a sub. I don't think it's in core yet. May be wrong. Can't change the start date though? Or can we, what would that mean?

An alternative that I can imagine to handle plan changes is to end a subscription and to have an immediate follow-on subscription. You'd want a link between the two, I imagine, so that subs admins can find the history of current subscriptions.

If a plan requires extra information then the fields that hold that information may need filling, and they don't appear on the the form listed above. Nor is there any way for an admin to fill them, except via the sales process.

There is also the issue of allowing users to make changes. I think which changes are permissible is a business decision and needs custom interface. Is this right?

amateescu’s picture

recidive’s picture

Status: Active » Closed (won't fix)

An alternative that I can imagine to handle plan changes is to end a subscription and to have an immediate follow-on subscription. You'd want a link between the two, I imagine, so that subs admins can find the history of current subscriptions.

I think this is more appropriate than changing products of an active subscription. This can be a custom project commerce_recurring_upgrade.

I've marked #3192515: Allow users to upgrade their membership plan after their current plans billing cycle completes as "won't fix" and will do the same to this one.