Some customers are on a plan you stopped selling. Keep them there, on purpose.
Create the version of a product as it was — last year’s prices, an older set of modules, a metering model you have since changed — and put a client on it. For customers who predate Revvly, or who negotiated the plan you were selling at the time.
When you need this
Two situations, one mechanism. You are moving a customer into Revvly who has been with you for years: the plan they bought no longer exists in your catalog, and typing today’s price would restate their whole history at a number they never paid. Or you are keeping a customer where they are: you raised prices, and this account stays on the old ones because that is what you agreed.
Both need the same thing — the older version has to exist in the catalog before a subscription can point at it. That is what this guide covers. If you only need to stop an existing customer moving forward when you publish a new version, you do not need any of this: that is already how Revvly behaves, and it is described in Versioning & grandfathering.
How it goes
- 1Author the version that used to existOpen the product in your catalog — a bundle, a module or a usage component — go to its version history and choose Add a past version, then give it the date it took effect. Revvly copies the version that was in force closest to that date, so you start from something real rather than a blank form. Edit the prices to what the plan actually cost then, and publish.
- 2It publishes as a past version, not the current offerA past version lands Archived: it holds a closed window in the plan’s history. Your current version is untouched, still what new customers get, still what your pricing pages describe. Nothing changes for anyone already subscribed.
- 3Put the client on itA new client: show retired plans in the picker and choose the version. An existing client: open Migrate and pick it from the list. Either way Revvly asks why, because a client on a plan you no longer sell is a decision someone made, and the next person to look needs to know it was deliberate.
- 4They bill at that version’s prices, indefinitelyNot a discount, not an override — the subscription is pinned to that version, and its invoices, renewals and MRR all read from it. Publishing new versions of the plan will not move them. Only an explicit migration will.
What you can author a past version of
Everything in your catalog that carries a price. Each keeps its own version history, and each is authored the same way — open it in the catalog, go to version history, choose Add a past version. The button is on the version-history screen, not the editor.
Reconstructing a whole history
A customer who has been with you since 2023 was probably not on one plan the entire time. When you create their subscription you can set the start date back to when they actually signed and add each plan change since — the date it happened and what they moved to.
Revvly then treats their history as a sequence of periods rather than a single current plan. If you also ask it to backfill the invoices for those elapsed terms, each invoice is billed at the plan that was in force for its own period — the 2023 months at the 2023 price, under the 2023 plan’s name — and the revenue reports show the change where it actually happened, not all at once today.
- Start dateSigned on the first planThose periods bill at that plan’s price and name.
- Each plan changeMoved to the next planEntered oldest first, each in the past.
- Latest changeCurrent planLater periods bill at its price.
What you will see afterwards
Rules worth knowing
Undoing it
To move a grandfathered client onto your current pricing, migrate them like anyone else — choose the current version and a timing. Migrating at the next renewal is the usual choice: it avoids a mid-cycle adjustment invoice and the customer sees the change at a boundary they expect. Their history stays intact either way; the periods they spent on the old plan do not disappear when they leave it.