SaaS Billing & Recurring Revenue Management3 min readUpdated September 2026

Billing a Mix of Fixed-Bid Builds and Retainers

You shipped a fixed-bid build, wrapped it in a monthly support retainer, and now one client sits on a milestone payment schedule while three others sit on flat recurring plans. Custom software shops rarely run one billing shape; they run two or three at once, and the tool you pick has to hold all of them without a spreadsheet stitching them back together.

Here's a practical way to work through the choice between Stripe Billing and Chargebee once your contracts stop looking identical.

Vendors Covered in this Article

Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.

Separate Your Two Revenue Types Before You Compare Tools

Project revenue and retainer revenue behave differently, and conflating them is the most common reason a billing setup falls apart. Milestone payments tied to a fixed-bid build are one-time charges triggered by delivery, not a subscription cycle. Ongoing support, hosting, or a dedicated-team retainer is genuinely recurring. Map every current client to one of those two buckets, plus a third bucket for clients who have both (a build that converted into an ongoing maintenance contract), before you evaluate either platform against your actual book of business.

Stripe Billing for Studios That Live in Code Already

If your engineers are comfortable maintaining subscription logic, Stripe Billing lets you keep milestone invoices and recurring retainers on the same rails you already use for payment processing. Metered billing works well for retainers priced on hours consumed or API calls served, and one-off invoices for a delivery milestone sit alongside the recurring plan without needing a second system. The catch is that anything nonstandard, a client who wants their retainer paused for two months during a slow quarter, say, or a build-to-retainer conversion mid-contract, usually means someone on your team writing a script instead of clicking a button.

Chargebee When Contract Amendments Are the Norm, Not the Exception

Chargebee is built for exactly the kind of contract amendments that custom software shops deal with constantly: pausing a retainer, converting a project client into a subscription client, or applying a one-time credit against a delayed milestone. Your account managers can make those changes directly without a developer in the loop, which matters more as your client roster grows past what one person can track in a spreadsheet. The cost is a heavier setup and a real monthly fee, so it's a poor fit if you're still running fewer than a handful of active retainer clients.

What Slower Growth in the Category Means for Your Pricing

Median annual recurring revenue growth for private B2B SaaS companies has cooled to 25%1, which matters for shops whose retainer clients are themselves software companies: their budgets for outside engineering help are tighter than they were a couple of years ago. If you bill primarily by retained hours or a dedicated-team fee, expect more requests to scale a retainer down or pause it, and pick a platform that lets you handle that change without renegotiating the whole contract.

A Mistake to Avoid: One Invoice Template for Two Different Deals

The most common error is forcing a milestone build and a monthly retainer through the same invoice template because it's less setup work. That hides the difference in your own reporting: you can't tell at a glance how much of this month's cash is one-time versus recurring, which makes it hard to forecast next quarter or to explain your revenue mix to a bank or an investor. Set the two up as genuinely separate billing objects from day one, even if it takes an extra hour of configuration now.

Avoid these billing mistakes for a mixed book of builds and retainers:

  • Treat a fixed-bid milestone as a one-time invoice, not a subscription with a single billing cycle that the platform will try to renew.
  • Keep project revenue and retainer revenue on separate invoice templates, so reporting shows how much of each month is genuinely recurring.
  • When a client converts from a project to a retainer, close the project out as a final milestone invoice and start a new subscription for the retainer.
  • Let account managers own amendments such as pauses and one-time credits only if the tool lets them do it without a developer.

A Second Look: When the Retainer Itself Has Tiers

Not every retainer is a flat number. A dedicated-team retainer might price a junior engineer, a senior engineer, and a part-time architect at three different rates, bundled into one monthly invoice that changes whenever the team composition changes. Building that as a single subscription price hides the mix from your own reporting and makes it hard to answer a client's question about what they're actually paying for each role. The cleaner approach, in either platform, is to model each role as its own subscription item within one customer account, so a swapped engineer or an added architect shows up as a line-item change rather than a manual edit to one lump price. Stripe Billing supports multiple subscription items per customer natively, which covers this case reasonably well once someone sets it up correctly. Chargebee's item-price catalog does the same thing with less custom configuration, which matters if you don't have an engineer free to build and maintain the Stripe setup. Either way, resist the shortcut of one blended number per retainer client: it's faster to set up once and slower to untangle every time a client asks what they're paying for.

Executive Capability Standard

What Good Looks Like

A well-run custom software shop can tell, without pulling a report, exactly how much of this month's revenue is one-time project cash versus recurring retainer revenue, and can amend a retainer contract the same day a client asks.

Building The Capability (5-Stage Skill Ladder)

1. Learn:Sort every current client into project revenue, retainer revenue, or both, and note which billing shape each one is actually being invoiced through today.
2. Do Manually:Send milestone and retainer invoices separately by hand, even if it means two emails to the same client, so your books show the split clearly.
3. Delegate:Hand invoice creation and retainer amendments to an account manager or bookkeeper instead of routing every change through an engineer.
4. Automate:Set up recurring retainers as true subscriptions in Stripe Billing or Chargebee, with milestone builds billed as separate one-time invoices in the same system.
5. Buy:Connect your project tracker, billing platform, and accounting system so a delivered milestone or a signed retainer amendment updates billing without anyone re-entering it.

How to Get Started

Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.

Frequently Asked Questions

Should a fixed-bid project ever be billed through a subscription platform?

You can, but treat it as a one-time invoice inside the platform rather than a subscription with one billing cycle. That keeps your recurring-revenue reporting clean and avoids the platform trying to auto-renew a project that was never meant to repeat.

How do we handle a client who converts from a project to a retainer mid-engagement?

Close out the project as a final milestone invoice, then start a new subscription object for the retainer rather than editing the old one. Chargebee makes that a form field; in Stripe Billing it usually means creating a fresh subscription and canceling the old invoice schedule.

Do we need Chargebee if we only have a few retainer clients?

Probably not yet. Stripe Billing or even manual invoicing is usually enough until you have more retainer clients than one person can track changes for by memory, at which point the amendment tools start paying for themselves.

Sources

Where we quote a benchmark, we show its source. Other figures in this guide are estimates or general guidance, so check them against your own numbers.

  1. Median ARR growth rate, all private B2B SaaS companies. SaaS Capital Research Brief 33: 2025 Benchmarking Private SaaS Company Growth Rates, 2024.

Related Guides