How Should You Design SaaS Billing and Upgrade Flows?
Why Do Upgrade Flows Lose People Who Wanted to Pay?
Because the flow asks for more than the decision was worth. Somebody has already decided to give you money. Then they meet a form built for a first time stranger, a price that does not match the pricing page, and a confirmation screen that does not say what happens next. Some of them stop.
This is the most expensive interface in a SaaS product and it is usually the least designed. It gets built once, by whoever wired up the payment provider, and then nobody looks at it again because revenue is going up anyway.
Here is how we approach it, what the ecommerce research says about the form itself, and why the cancellation flow deserves as much care as the upgrade.
How Many Fields Should a Checkout Have?
Fewer than you have. Baymard Institute's research on checkout flows found the average was 11.3 form fields in 2024, down from 11.8 in 2021 and 12.7 in 2019. Its recommendation is blunt: most sites need only eight form fields in total for a checkout flow.
The cost of the extra fields is measurable. Baymard reports that 17 percent of users have abandoned a checkout due to complexity. That is not a design preference, it is a conversion rate, and it applies to a person who had already chosen to buy.
Its benchmark also shows how stubborn the problem is. Baymard notes that 89 percent of sites use multiple name fields, which is one field more than necessary repeated across the entire industry. In SaaS you start with an advantage here, because a logged in customer has already given you most of what you need. Use it, and do not ask twice.
Where Should the Upgrade Path Start?
At the moment of the limit, not in the settings menu. The best upgrade prompt appears when someone hits the wall your plan created: the fifth seat, the tenth project, the export they cannot run. That is when the value is obvious and the decision is easy.
Make the prompt specific about what unlocks. Not upgrade for more features. You have used all three projects on the Starter plan, and Growth includes twenty. The person should be able to see the exact constraint they just met and the exact plan that removes it.
Keep a route from the settings page too, because some people go looking deliberately, often after a budget conversation you were not part of. Both entry points should land in the same flow with the same numbers.
How Do You Show What Changes When They Upgrade?
With three numbers, before they confirm. What they pay today. What they pay from now on. And what they are charged right now, which on a mid cycle upgrade is neither of the first two. That third number is the one that generates support tickets when it is missing.
Show the proration explicitly. A customer who upgrades on the eighteenth of the month and sees an unexplained partial charge assumes a mistake. The same charge with one line of explanation reads as fair, and the difference is a sentence.
Then confirm what happens at the next renewal and the exact date. Nielsen Norman Group's B2B research found that people view companies that hide costs as being evasive and untrustworthy, and that judgement does not stop applying once someone is a customer. If anything it gets sharper.
What About Seats, and Who Is Allowed to Buy?
Two problems that get conflated. Seat selection is an input design question. Purchase authority is a permissions question. Getting the second one wrong is worse, because the person who wants to upgrade often is not the person allowed to.
On the input itself, avoid a slider for seat counts. Nielsen Norman Group's slider guidance states that sliders work best when the specific value does not matter and an approximate value is good enough, and warns that the denser the range, the harder precise selection becomes. A seat count is exact by definition, so give people a number field.
On authority, design the handoff rather than the block. A member who cannot purchase should be able to request the upgrade, with the reason attached, and have it land with someone who can approve it. A dead end that says contact your administrator is a lost sale that nobody logs.
How Should You Handle Failed Payments?
As a design problem, not a billing job. An expired card is the most common reason a paying customer stops being one, and it usually has nothing to do with intent. The person still wants your product. Their card was reissued.
Tell them inside the product, not only by email. A persistent, dismissible banner that links straight to the card update form recovers accounts that an email in a spam folder never will. Keep the fix to one screen and one field where the payment provider allows it.
Be careful about the severity curve. Restricting the account on day one of a failed payment punishes an accident. A short grace period with clear escalation is both kinder and better for revenue, and it gives the customer time to act.
Why Does Cancellation Design Matter So Much?
Because the way you let people leave is the strongest signal about how you treat them. A cancellation flow that hides the button, adds steps, or requires an email to support is a dark pattern, and customers recognise it instantly. They also tell people.
There is a practical argument too. A clean cancellation flow is the only place you reliably learn why people leave, and a single well written question at the moment of departure produces better data than any survey. A flow designed to obstruct gets you an angry click and no information.
Make it symmetric. If someone can subscribe in two clicks inside the product, they should be able to cancel in two clicks inside the product. We wrote about this class of decision in our piece on dark patterns and conversion.
Is There a Regulatory Reason to Get This Right?
Yes, and it is unsettled rather than absent, which is the harder situation to plan for. The Federal Trade Commission announced a final click to cancel rule in October 2024. That amended rule was subsequently vacated, and the FTC's own later communications refer to it as the vacated 2024 Rule.
The issue has not gone away. In March 2026 the FTC opened an advance notice of proposed rulemaking, asking whether to retain the current rule, adopt provisions of the vacated 2024 rule, or pursue alternatives. It also asked for evidence on practices that obscure terms, enrol consumers without consent, or make cancellation difficult.
The FTC's own framing tells you where this is heading. Its notice states that negative option subscriptions continue to be plagued by difficult cancellation processes, unlawful retention tactics, and a suite of other impediments that prevent consumers from easily switching or ending subscription services. Designing an honest flow now is cheaper than retrofitting one under a deadline.
What Belongs on the Billing Settings Page?
Everything a finance person would ask for, in one place. The current plan and price. The next renewal date and amount. The payment method with an obvious way to change it. Every past invoice, downloadable. The billing contact, which is often not the account owner.
Add the boring fields that unblock enterprise buyers. A tax or VAT number, a purchase order reference, and a billing address that can differ from the company profile. These cost an afternoon and remove a class of procurement objection entirely.
Then keep the destructive actions separate and clearly labelled. Downgrade, cancel and delete are three different things with three different consequences, and grouping them under a single account actions heading guarantees someone picks the wrong one. Our guide to SaaS settings page UX covers the wider organisation.
What Would We Fix First?
Count your fields. Open your own upgrade flow as a logged in customer, count every input, and remove the ones you already know the answer to. Baymard's eight field target is for a stranger buying from an ecommerce site. You know who this person is, so you should be well under it.
Then fix the numbers on the confirmation screen. Today's price, the new price, the charge right now, and the next renewal date. If any of those four is missing, add it before you touch anything else, because that is where trust is won or lost.
After that, walk your own cancellation flow end to end and time it. If it takes longer than subscribing did, you have found your next piece of work. The form craft underneath all of this is the same craft we cover in our guide to form design UX.
If you want a second pair of eyes on a billing flow before it goes live, we are happy to walk through it with you. Find us at phoenix.studio.
Want a site that performs like this?
Tell us about your project. We will come back with a clear next step, no pressure.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Have a project like this?
Tell us where you want to go. We'll tell you how we'd get you there.