Hiring guide
SaaS renewals: separate price, seats and expiring discounts
By CFO Index · Published
A renewal can increase recurring revenue even when the customer buys fewer seats. The change may come from a new list price or an expiring discount rather than wider product adoption. Ask your fractional CFO to reconcile the same contract before and after renewal, then put the commercial explanation beside the billing and collection dates. A cohort retention percentage alone cannot answer this question.
Freeze one comparable recurring period
Record customer, contract version, product, currency, seat definition, service dates, list price and every recurring discount. Compare the same period length and service scope. Keep implementation fees, tax, usage overages, one-time credits and proration lines outside this simple recurring bridge, then reconcile them separately to the actual invoice. An annual contract total divided by twelve is only a stated monthly-equivalent convention here, not recognised accounting revenue or monthly cash collection.
Capture the billing metric's settings
Stripe's Billing analytics documentation allows configuration of how recurring and one-time discounts affect MRR and states that permanent recurring discounts are always subtracted. Its subscription-item change-event documentation also shows that an MRR upgrade can reflect either a price or quantity increase. Therefore an upgrade label alone does not establish adoption. Retain the actual settings, export cutoff and item IDs used in your report. This article does not change those settings or prescribe Stripe's definition for every management pack.
Work through a declining-seat renewal
Hypothetical same-product monthly example: the old contract has 100 seats at €50 list price with a 20% recurring discount. The renewal has 90 seats at €55 and no discount. Assume every seat is billable, both versions cover a full month, and there are no taxes, usage charges, minimums, currency effects or other lines. Old recurring value is €4,000; new recurring value is €4,950. These are invented contract terms, not market prices or recommended increases.
| Stage | Calculation | Value | Change from previous stage |
|---|---|---|---|
| Old contract | 100 × €50 × 80% | €4,000 | Starting value |
| Change seats first | 90 × €50 × 80% | €3,600 | −€400 quantity effect |
| Then change list price | 90 × €55 × 80% | €3,960 | +€360 price effect |
| Then remove discount | 90 × €55 × 100% | €4,950 | +€990 discount-expiry effect |
| Net movement | −€400 + €360 + €990 | +€950 | +23.75% versus €4,000 |
Keep the order of decomposition visible
The contract's final €950 increase is fixed in this example, but allocating interaction effects depends on the chosen bridge order. This method changes quantity, then list price, then discount. Apply that same order across the reviewed population and disclose it; do not switch orders to make a preferred driver look larger. Seat count falls 10% even though recurring value rises 23.75%. The bridge explains arithmetic, not the customer's reason for reducing seats or their likelihood of renewing again.
Distinguish negotiated, signed, effective and collected
Keep a proposed renewal out of actual recurring value until it meets your documented reporting policy. Record the signed terms and effective date separately from notice, invoice and receipt dates. A mid-period change can create an invoice different from the full-period €4,950 run rate. If a hypothetical full-month invoice is €4,950 and only €3,000 has been collected, €1,950 remains unpaid; neither the invoice nor the higher run rate proves that cash has arrived. The accounting owner determines applicable recognition and tax treatment.
Turn the explanation into a bounded commercial review
Ask the customer owner to confirm whether fewer seats reflect unused licences, a product change or another reason; do not infer the cause from the financial bridge. Review service costs and contractual obligations before offering a concession. Compare renewal alternatives on the same scope, period and collection assumptions. Show an unsigned alternative as a sensitivity, not as a replacement actual. Aggregate currency-specific bridges only after selecting an explicit currency method and checking that each contract appears once.
Accept the model with four reproducible cases
Test quantity-only, price-only and discount-only changes, plus the combined example. Add a renewal that does not take effect until next month and an invoice containing a one-time charge. Another owner should reproduce the opening value, all signed movements and closing value from contract evidence. Reconcile the recurring bridge to invoice differences without forcing them to match by deleting exceptions. This assignment complements retention cohorts: the cohort identifies who changed, while this bridge identifies which commercial terms explain the change.