Skip to content

Answers · B2B SaaS

SaaS Price Increase for Existing Customers: Count the Legacy Prices First

A SaaS price increase for existing customers starts with a list, not a letter: every active subscription, what it pays today, what the price list says today, and since when the two have differed. Billing systems keep earlier subscribers on the price they signed up at unless someone moves them, reductions set to run forever keep running, and some contracts promise a price for good. None of it shows up as a problem on a revenue report, because each subscription bills exactly what it was told to bill. This guide covers why legacy prices pile up, how to build the list from billing and contract records, how to sort it by what each contract allows, what the letter needs and when it goes, what to count afterward, and when raising prices on legacy customers is the wrong move.

By , founder of Lumina Business Advisory · Updated · Sources checked · Editorial standards

Why legacy prices pile up in billing by design

Free self-check · two taps · no email

Hand-off 6 of 6 · Payment → Margin

If deposits stopped today, how many days could cash cover payroll and bills?

Choose the answer that sounds like your business.

Answer it in the Self-Audit

A list price changes on the website in an afternoon. The subscriptions already running do not follow it. Stripe’s documentation is explicit about why: a price’s amount cannot be changed through the API, and Stripe recommends “creating a new price for the new amount, switch to the new price’s ID, then update the old price to be inactive.” And when an old price is archived, “any existing subscriptions that use the price remain active until they’re canceled.” Every price change on the website leaves the earlier subscribers on the earlier number, by design, until someone moves them one by one.

Reductions add a second layer. Stripe lets a reduction run once, for a set number of months, or with “duration=forever to apply it to all invoices indefinitely.” Its documentation adds that an expiration date on such a reduction only stops new customers from applying it after that date; a customer already given it keeps it “forever.” A launch offer from four years ago can still be on every invoice an account receives.

The third layer sits outside billing: a sentence in an order form or an email that promises a price for good. Kevin Wagstaff, co-founder of Spectora, described offering “grandfather pricing for life” on annual deals on Startups for the Rest of Us in May 2025, and said that when the company went to sell, private-equity buyers asked about it: “Why’d you do that?”

Founders who did go back describe the step as hard. Colin Bartlett, co-founder of an outage-monitoring SaaS, said on the same show in September 2025 that the company had raised prices for new customers many times over a decade, but “it was very scary to go back through and charge that to existing customers.” He called the change a game changer for the business. Grant McConnaughey, founder of Postpone, put his starting point simply: “we hadn’t raised prices in over two years.” These are three founders’ accounts of their own companies, not a measure of anyone else’s.

The legacy-price list: one row per active subscription

The list is built from the billing system’s subscription export and the signed order forms. It needs no new software. One row per active subscription:

  • Customer, plan, quantity or seats, and the unit price billed on the last invoice.
  • The current list price for the same plan and quantity.
  • The monthly gap: quantity times the difference, converted to a monthly figure for annual plans.
  • The date this subscription’s price last changed, or its start date if it never has.
  • Any reduction on it: amount, duration (once, a set number of months, or forever) and end date.
  • Billing interval, renewal date and term: monthly, or an annual contract and when it renews.
  • What the contract says about price: locked, capped uplift at renewal, notice period, or silent.
  • Collection method: card charged automatically, or an invoice sent.
  • The named owner of the account, and the date of the last conversation with it.

Total the monthly gap column. That figure is the monthly revenue that sits between what the company charges new customers and what it charges existing ones, before any decision about whether to close it. Illustrative example: a hypothetical company with 300 active subscriptions finds 120 still on a $49 plan retired two years ago, against $79 today, a gap of $3,600 a month; another 15 carry a forever reduction from a launch offer worth $900 a month; and 8 annual contracts say the price is locked. The founder now has three numbers and three different conversations, not one letter.

What each contract allows, and the notice it needs

Before any price moves, the contract column decides what is possible. A monthly plan sold on published terms of service can move at a future billing date if those terms reserve the right to change prices with notice, and the terms say how much notice. An annual order form may cap the uplift at renewal, tie it to an index such as the Consumer Price Index, which the Bureau of Labor Statistics describes as “a measure of the average change over time in the prices paid by urban consumers for a market basket of consumer goods and services,” or say nothing. A written promise of a price for life is a term of the contract until the parties change it.

For annual contracts that renew on their own, state law can add a step. Wisconsin’s §134.49 requires, for business contracts with terms over a year, a written notice 15 to 60 days before the customer’s deadline to decline, including “a description of any increase in charges to the customer that will apply after renewal or extension.” At signing, its disclosures must state “whether an increase in charges to the customer will apply upon an automatic renewal or extension.” The guide to B2B SaaS auto-renewal notices covers New York’s §5-903 as well, and which contracts it may reach. Ask the company’s attorney before changing a price mid-term, before relying on a terms-of-service clause, and before sending any renewal letter that carries an increase.

Sort the list into four groups before anyone writes a letter

The list splits along what each subscription allows and what each account looks like. Each group gets a different action and a different owner.

  • Monthly plans with no lock: the price can move at a future billing date with the notice the terms require. One letter, one effective date, a named person to answer replies.
  • Annual contracts with a renewal coming: the change lands at renewal, in the renewal notice, with a call to the customer’s contact before the letter. These go on the renewal calendar by the customer’s deadline to decline, not by the renewal date.
  • Contracts with a price lock or a for-life promise: these stay as they are unless the customer agrees to a change, for example in exchange for something it wants, such as a new module or a longer term. The list shows how many there are and what they cost each month, which is the number a buyer will ask about.
  • Forever reductions given as one-time favors: each one gets a decision, keep, end at the next renewal with notice, or convert to a set number of months.

Within each group, mark accounts whose usage has dropped or whose last conversation was a complaint. A price change can be the event that turns a quiet account into a cancel. Those accounts may need a call about the product before any letter about the price.

The letter, the date, and the change in billing

The letter itself is the short part. It states the effective date, the old price and the new price in dollars for that account, what has changed in the product since the account’s price was set, how to reach a person with questions, and how to cancel or decline if the account chooses to. McConnaughey described sending every customer an email that listed what had been added in the two years since the last increase. A letter written from the list can also say plainly why the account is receiving it.

Timing follows the groups: monthly plans on one date with the notice the terms require, annual contracts by their own renewal windows. In billing, moving a subscription to a new price is a change to the subscription, and Stripe’s documentation notes that “Changing a subscription often results in a proration to apply the new price to the remaining days in the billing period.” Scheduling each change for the start of the next period, rather than applying it the day the letter goes out, keeps the first invoice at the new price clean and expected. One person owns the list until every row has moved, stayed by decision, or been left on purpose.

What to count after a SaaS price increase

The list becomes a before-and-after record. Ninety days after the effective date, the same columns answer whether the change did what it was meant to do, from the company’s own records rather than from anyone’s benchmark.

  • Monthly gap closed: the gap from the list, against what the moved subscriptions actually billed after the change.
  • Cancels and downgrades among accounts that received a letter, against accounts that did not, over the same 90 days.
  • Replies to the letter: how many, how fast they were answered, and by whom.
  • Accounts left on a legacy price by decision, with the reason written next to each.
  • Failed payments on the first invoice at the new price, which belong to the billing team, not the pricing decision.

When not to raise prices on legacy customers, and where the Review fits

Leave it alone when the gap is small against the work and the risk: a few dozen accounts, a few hundred dollars a month. Wait when the product has had a rough quarter, since a price letter after an outage reads as a bill for the outage. Leave locked contracts as they are unless the customer wants to trade. And if a sale or a raise is close, ask the company’s advisers how a buyer will read both the gap and any recent change before acting on either.

For a founder-led company, the Revenue Review counts this under the Payment → Margin hand-off. From read-only billing exports and the signed order forms, it lists every subscription on a legacy price, every reduction set to run forever, every price lock, and every renewal where an increase would need notice, in monthly dollars. It does not set a price list or write pricing strategy. It takes two weeks, and the report is the company’s to keep.

The list above can be built by hand in an afternoon from a billing export, and for a small subscriber base that may be all it takes. If the first number is unclear, the next step is a free 20-minute call, where we say whether the Review is worth it for this company, including when it is not.

Before any next step

What should you do next?

Fix it yourselves.
If the cause is clear, it lives inside one process, and one person can own it — take the play from this page and run it. That outcome is fine with us; it is why the play is published in full.
Order one bounded build.
If the fix is known but needs configuration or integration inside your stack — a cadence wired into your own system, an alert, a handoff — scope that one build, with us or with anyone you trust. The six systems we build show what bounded looks like.
Start with the Review.
If the causes are debatable, the problem crosses departments or systems, or the economics are unclear — diagnose before anyone builds. The Revenue Review: $4,500 fixed, two weeks, computed from your own records. Read a sample finding before you decide — free, no email.

Asked right after

Should a SaaS company grandfather existing customers when it raises prices?
It is a choice with a cost that can be counted. List every subscription on an older price, the monthly gap against today’s list price, and what each contract allows. Some accounts are worth keeping on their price by decision; the list makes that a decision instead of a default.
How much notice should a SaaS company give before raising prices on existing customers?
Start with the contract: the terms of service or the order form is where a notice period for price changes is written, if there is one. For annual business contracts that renew on their own, Wisconsin’s §134.49 requires written notice 15 to 60 days before the customer’s deadline to decline, describing any increase in charges. The company’s attorney confirms what applies to each contract.
Does Stripe move existing subscriptions to a new price automatically?
No. Stripe’s documentation says a price’s amount cannot be changed in the API; it recommends creating a new price and switching to it. When an old price is archived, existing subscriptions on it stay active until they are canceled, so each one has to be moved.
Do forever reductions in Stripe ever end?
A reduction set with duration forever applies to all invoices indefinitely. Stripe’s documentation says an expiration date on it only stops new customers from applying it; any customer already given it keeps it forever unless someone removes it.
What is a normal annual price increase for B2B SaaS?
This guide found no government or other primary source that answers it, and published averages come from vendors. The figure that matters for one company is its own: the monthly gap between legacy prices and today’s list, and what its contracts allow.

The next step

Bring us the process that keeps getting stuck.

A 20-minute conversation about the workflow, the teams and the systems involved — and a straight answer on whether The Revenue Review is the right next step. If it is not, we say that on the call.

A real person answers or calls you back the same business day.

Free self-check · 2 taps