How should we handle downgrades from yearly plans that is then changed to another plan

Topic summary

Handling plan changes for Shopify app annual subscriptions with a queued downgrade. The merchant has an active yearly plan (1st), has already selected a lower-priced plan queued to start at renewal (2nd), and then attempts to buy a different plan (3rd).

Context: Shopify’s billing docs for annual subscriptions indicate a new plan should be queued and activated only after the current annual term ends. The question is how to handle a subsequent plan change while a downgrade is already pending.

Key questions raised:

  • If the 3rd plan is also a downgrade relative to the current active plan:
    • Should the app replace the existing queued downgrade (2nd) with the new downgrade (3rd)?
    • Or should it block the purchase and direct the merchant to Shopify Support?
  • If the 3rd plan is an upgrade relative to the current active plan:
    • Should the app activate the upgrade immediately and remove the queued downgrade (2nd)?

Status: No responses yet; no decisions made. The official documentation link is central to the query. The thread seeks guidance on recommended logic and edge-case handling; remains unresolved.

Summarized with AI on March 3. AI used: gpt-5.

Hi all,

We would like to know what logic to apply when merchant currently on an active plan, downgrades to a lower price plan.

According the to this documentation https://shopify.dev/apps/billing/subscriptions/annual we should queue the new/2nd plan and wait for the current yearly plan to expire before activating the new plan.

My question is:

How should we handle the scenario when a merchant is in an active yearly plan (“1st plan”), and also have a downgraded pending plan (“2nd plan”) - but then tries to purchase another plan (“3rd plan”):

1. If the 3rd plan is still a downgrade compared to the current active yearly plan:

  • Should we replace the pending plan with the latest one (3rd plan)?

  • Should we block the request to purchase that 3rd plan and notify the merchant to contact the Shopify Support?

2. If the 3rd plan is an upgrade compared to the current active yearly plan:

  • Should we make the upgrade the plan on the spot and ignore/delete the pending plan (2nd plan)?

Thanks!

Someone please?