Use case

You need to change a plan, and people already pay for it

The price goes up, a limit moves, or a feature changes plans. New customers should get the new terms, and the people already paying should keep what they bought.

What goes wrong

Where repricing breaks

  1. 01

    A price change becomes a release

    The plan's limits are written into the application, so changing a plan means changing code, testing it and deploying it.

  2. 02

    Existing subscribers change with it

    The plan is edited in place, and everyone already on it gets the new limits at once, whether or not they agreed to them.

  3. 03

    Billing and access disagree

    The new price is set where payments are taken, but the limits in the application still follow the old plan, or the other way round.

In ShipRev

Where this lives in ShipRev

  • Publish a new version

    Change the plan once in the plan editor and publish it as a new version. Your code names capabilities, not plans, so it does not change.

  • Existing subscribers keep their version

    A published version is read-only. Subscribers stay on the version they bought, with its price and its limits; new subscribers get the latest one.

  • Price and limits in one version

    A version holds the price and what the plan grants together, and each published version is synced to Stripe with a status of syncing, synced or failed.

  • Subscribers move when they choose

    In the end-user portal, a subscriber on an older version who pays by card can change plan themselves and is moved to the latest version.

How to do it

From a new price to the people paying it

1

Describe plans by what they grant

Keep plan names out of your code: your code rules on capabilities, and plans grant them.

Products, capabilities and plans
2

Publish the new version

Change the price or an allowance and publish. See what publishing does on Stripe and what existing subscribers get.

Plan versions
3

Let subscribers switch

Existing subscribers who pay by card move to the new version by changing plan themselves.

Change plan

Where it stands

What is built, and what is not

ShipRev is not open yet: the managed cloud is built but not yet open, and the source repository is not public.

Built
  • Plan versions

    Publish a new version without changing code; existing subscribers keep theirs.

  • Sync to Stripe

    Each published version, with its sync status.

  • Self-service plan changes

    End users change plan in the portal.

Not available today
  • Moving existing subscribers for them

    You cannot move existing subscribers to a new version in bulk.

  • Changing a subscription from the console

    Your team cannot change, cancel or resume a subscriber's plan from the console.