Glossary

What is grandfathering?

Grandfathering means letting existing customers keep the price and terms they signed up on after you change a plan. New customers get the new version of the plan; customers already on it stay on the old one until they change plan.

How it works

Versions, not edits

  • Plan versions. Each change to a plan's price or limits becomes a new version instead of overwriting the old one.
  • A pinned subscription. Each subscription points at the version it was taken on.
  • New sign-ups. Get the latest version of the plan.
  • A way forward. A customer reaches the latest version by changing plan.

Example

Pro includes 10,000 exports a month. You raise Pro's price and its allowance to 20,000 for new customers. Customers who subscribed last year keep their price and their 10,000 exports, and renew on the same terms; a customer who signs up today gets the new price and 20,000.

Compared

Terms next to it

Price increase for existing customers
The opposite choice: move everyone to the new price, usually with notice.
Plan migration
Moving existing subscribers from one version of a plan to another.
Legacy plan
A plan no longer offered to new customers but kept for those already on it.

Building it yourself

What you handle if you build it

  • Versions instead of edits. Changing a plan in place changes it for everyone; each change needs a new version.
  • Limits in the plan, not in the code. If the code says 10,000, grandfathered customers lose their terms the moment you change it.
  • The payment side in step. Renewals have to keep charging the old price to the customers on the old version.
  • Rulings per version. Limit checks must read the version each customer is on, not the latest.
  • Retiring a plan. Stop new sign-ups without ending the subscriptions already on it.

In ShipRev

Where grandfathering sits in ShipRev

Grandfathering sits in subscriptions in ShipRev. A plan's price and its entitlement rules live on its versions, and a published version cannot be changed: to change a price or a limit, you publish a new version of the plan, and your code stays as it is because it names capabilities, not plans. Subscribers already on the old version keep it, and new subscribers get the latest.

Subscriptions

In the docs

Change a price without moving existing subscribers

Identity, subscriptions, metering and entitlements, kept aligned on one customer record