Does the billing cycle reset on mid-cycle annual → annual plan upgrade (Shopify App Pricing)?

Hi everyone,

We’re building on Shopify App Pricing (formerly Managed Pricing) with annual plans only. We have a question about what happens to the billing cycle when a merchant upgrades from one annual plan to another mid-cycle.

Our setup
Plan A │ $100/year
Plan B │ $200/year

Scenario

  1. Merchant subscribes to Plan A ($100/year) on Jan 1.
  2. On March 1 (~60 days in), the merchant upgrades to Plan B ($200/year).

We understand from the Shopify App Pricing docs ( Shopify App Pricing ) that proration is
handled automatically on upgrades.

Our question

After the upgrade, what does activeSubscription.currentBillingCycle look like?

Option A — Cycle preserved:

  • startTime stays Jan 1
  • endTime stays Dec 31 (original cycle end)
  • Merchant’s Plan B runs for the remaining 305 days
  • Next full $200 charge on Dec 31

Option B — Cycle resets:

  • startTime resets to March 1
  • endTime becomes Feb 28 next year (fresh 365 days)
  • Merchant’s Plan B runs for a full 365 days
  • Next full $200 charge on Feb 28

We found that for monthly plan upgrades, @KyleG-Shopify confirmed in this thread
( App subscription plan upgrades/downgrades ) that “original billing cycle dates will be preserved while calculating prorated charges.”

We also found a thread ( Questions about the behaviour of managed pricing ) where a developer observed currentPeriodEnd resetting in a test environment on upgrade, but that may be a dev-store-only behavior.

Could someone from the Shopify team confirm whether this cycle-preservation behavior also applies to annual → annual upgrades with a price difference under Shopify App Pricing?

Thanks!

Hi @Abhideep_Maity, thanks for the question! I had a look, and based on the documented proration behavior, yes. For an upgrade from one annual plan to a higher priced annual plan, the expected production behavior is Option A. The existing billing cycle is preserved.

In your example, the merchant moves to Plan B when they approve the upgrade, but the current annual cycle should still be Jan 1 to Dec 31. Shopify calculates the prorated difference for the remaining time in that cycle, then the next full annual charge happens at renewal.

That lines up with the subscription billing proration docs, where upgrades are prorated based on the time left in the current billing cycle. The deferred cases are different. For example, moving from annual to annual with a lower price, or from annual to 30 day billing, can be deferred until the current annual cycle ends.

Hope this helps!

Thanks for the clarification!