Recurring Billing: Why Subscription Revenue Looks Better Than Your Bank Balance
October 29, 2026 · Devhuset Team
A subscription dashboard showing forty thousand in monthly recurring revenue feels like proof that a business works. Then the bank account arrives with a smaller number, and the gap gets blamed on timing, or on the accountant, or on the payment provider. Usually it is none of those. The gap is structural: recurring billing produces revenue events and cash events on different schedules, and the software that produces the first is often managed by people who never look at the second.
This is a practical look at where the money actually goes between the invoice and the account, and which parts of a recurring billing setup you can tighten without changing your product.
What MRR measures, and what it does not
Monthly recurring revenue is a normalised figure. It takes whatever contracts exist today and expresses them as if every customer paid one twelfth of an annual amount every month. That is useful for comparing months and useless for predicting a bank balance on the fourteenth.
MRR says nothing about whether the card on file still works, whether the customer is inside a trial that converts next week, whether an annual plan was prepaid in March, or whether a refund was issued yesterday. Those are billing facts, not revenue facts, and they live in a different system with a different clock.
The practical consequence is that a team can grow MRR for two months and still run out of cash, because the growth came with annual discounts, longer payment terms, or a rise in failed payments that nobody charted.
Four places where cash leaves the dashboard
Failed payments. A card expires, a bank blocks a cross-border charge, a customer's limit drops. The subscription stays active in your system because it is easier to keep it active than to cancel it, and the revenue line keeps counting while the cash does not arrive. In most subscription businesses this involuntary churn is a double-digit share of total churn, and it is the cheapest churn to fix.
Proration. Mid-cycle upgrades create small immediate charges and mid-cycle downgrades create credits. Credits are not cash out the door today, but they are a claim on future revenue, and stacked downgrades can mean a month where a customer pays nothing while still consuming the product.
Annual prepay. A twelve-month plan paid up front is the best cash event in subscription software and the worst revenue event if you read the dashboard quickly. You have the money, but you owe twelve months of service. Recognising it correctly (deferred revenue under IFRS 15 or ASC 606) keeps the books honest; ignoring it leads to spending cash that is already spoken for.
Tax and payout timing. Card payouts land days after the charge, refunds and chargebacks claw back later, and sales tax or VAT is collected on behalf of someone else. In the EU, digital services are taxed where the customer is, which is why merchant-of-record arrangements exist: the provider handles registration and remittance and takes a cut for the privilege.
Failed payments: the part of churn you can fix
Retry logic is the highest-leverage piece of billing configuration most teams own and never review. Three habits matter.
First, retry on a schedule that matches paydays rather than on a fixed count. A retry at 02:00 on the first of the month fails for the same reason it failed on the twenty-eighth. Second, send a payment-update link early and make it work without a login, because the customer who has to reset a password to fix a card rarely finishes. Third, stop retrying cards that the issuer has marked as permanently dead, since continued attempts damage authorisation rates.
Providers differ in how much of this they expose. Stripe Billing, Chargebee and Recurly all offer configurable dunning; the difference is in how much of the sequence you can change without support tickets. If your provider gives you one retry schedule for all customers, you have a product decision disguised as a billing limitation.
Proration, upgrades and the credit problem
Proration is where billing logic becomes customer experience. An upgrade charged immediately and a downgrade credited immediately is the fair version, but it means a single account can generate two invoices, one credit note and three support questions in a week.
The alternative — change at the next renewal — is simpler to explain and worse for cash if upgrades are common. Most teams end up with immediate charges and end-of-term credits, then discover that credits accumulate quietly until a renewal month where several customers owe nothing.
Whatever you choose, make the rule visible in the interface before the customer clicks. A pricing page that does not explain what happens on a mid-month change generates the support load that makes finance teams ask for manual approvals, and manual approvals are how billing stops scaling.
Annual plans: cash today, revenue tomorrow
Annual prepay is a financing decision wearing a discount. A twenty percent annual discount in exchange for twelve months of cash up front is often a good trade, especially for a small team, but only if the money is treated as an obligation rather than as profit.
Three things make annual plans safer: a clear refund policy that you can apply consistently, a written rule for what happens if the customer cancels in month four, and a monthly internal report that shows the deferred balance alongside the cash balance. Without the third, it is remarkably easy to spend a year of prepaid revenue on a quarter of hiring.
Tax withheld, payouts delayed
Two timing effects deserve to be in your cash forecast even though neither is your money. Card payouts settle on a schedule set by the provider and your risk profile, so a strong week of signups might not reach the account until the following week. And collected VAT or sales tax sits in your account until it is remitted, which makes the balance look healthier than the business is.
If you sell into several EU countries, the merchant-of-record model removes the registration burden and the remittance risk at the cost of a fee. If you handle it yourself, the compliance work is real: registrations, thresholds, invoice formats, and a filing calendar that does not care about your release schedule.
When the gap is borrowed money
Some gaps are timing, and some are growth. If a signed enterprise contract means hiring three months before the invoices are paid, borrowing is a legitimate tool rather than a failure. What matters is modelling it as a loan rather than as a hope: the term, the rate, and whether you repay in equal instalments or with a balloon at the end changes the total cost far more than most founders expect.
Five numbers worth tracking weekly
Cash collected, not billed. Failed payment rate by attempt. Days sales outstanding on invoice customers. The deferred revenue balance. And the share of revenue coming from customers on annual plans, because that share determines how much of this month's cash belongs to next year.
None of these require a data warehouse. Three of them are exports from the billing provider, one is an accounting figure, and one is a filter on your subscription table.
A short checklist before the next price change
Review the retry schedule and the payment-update link. Confirm that downgrade credits have an expiry rule. Check that the deferred revenue report exists and is read by someone. Confirm the payout schedule against your forecast. And write down, in one paragraph, what happens when a customer on an annual plan cancels in month four.
Billing is the part of a subscription business that touches every customer and almost never gets a product review. An afternoon spent on retries, credits and deferred revenue usually produces a bigger number than another pricing test.