Chargebee, Stripe Billing, and Recurly are excellent tools for collecting recurring payments. The problem begins when someone asks “how much revenue did we actually recognize this quarter” — and the answer lives in a spreadsheet the controller built and maintains manually. Subscription billing and revenue recognition are the same problem. Solving them in separate systems creates work that shouldn’t exist.
Subscription businesses have a deceptively complex relationship with their revenue. The moment cash is received is different from the moment revenue is earned, and the gap between those two events is where most of the accounting complexity lives. A customer pays $24,000 annually upfront on January 1st. That’s $24,000 of cash. It’s also $2,000 of recognized revenue in January, $2,000 in February, and so on through December. The billing system captures the payment. The revenue recognition schedule captures what the payment actually means for the income statement.
When billing and recognition live in separate systems, someone has to maintain that schedule manually — and keep it current as subscriptions change.
The subscription event problem
Subscriptions are not static. Customers upgrade, downgrade, pause, cancel, and restart. They add seats in month three and remove them in month seven. They sign amendments that change the contract terms retroactively. Each of these events affects the recognition schedule: the deferred revenue balance, the monthly revenue amount, and in cases involving contract modifications, the allocation of the transaction price across performance obligations.
A billing system designed to handle subscription events well — processing proration, handling mid-cycle changes, generating accurate invoices — may handle those events from a cash perspective while creating no corresponding update to the revenue recognition schedule. Because the recognition schedule lives somewhere else, someone has to manually update it to reflect every event that changes the subscription.
At small scale, this is manageable. A company with 50 subscribers and moderate churn can maintain a recognition spreadsheet manually with reasonable effort. At 500 subscribers with monthly churn, upgrade, and downgrade events, the manual maintenance becomes a full-time job — and one where errors have direct P&L impact.1
Why the systems stayed separate
The separation between billing and recognition exists partly for historical reasons and partly for organizational ones. Billing tools were originally designed around the payment process — collecting money, generating invoices, managing dunning. Revenue recognition was an accounting function handled by the finance team. The two teams bought different tools for different purposes, and the gap between them was bridged by the controller’s spreadsheet.
As subscription businesses scaled and the complexity of recognition increased with the adoption of ASC 606, the spreadsheet became more sophisticated but the architecture stayed the same: billing in one system, recognition in another, manual synchronization in between.
The ARR problem
Annual Recurring Revenue is one of the most important metrics for subscription businesses and one of the most frequently misstated ones. ARR is a point-in-time calculation that requires knowing the current value of active subscriptions — not billed revenue, not recognized revenue, but the annualized value of what customers are currently subscribed to.
When subscription data lives in a billing system and financial data lives in an ERP, ARR requires pulling from both and joining them, because neither system alone has the complete picture. The billing system knows the current subscription terms; the ERP knows the customer’s history and the revenue that’s been recognized. Combining them into a reliable ARR figure typically requires custom reporting — either a BI layer that joins the two sources or a periodic manual export-and-reconcile process.2
The irony is that ARR, the metric that investors care most about in subscription businesses, is often the metric that’s hardest to produce reliably from the company’s own systems.
What integrated looks like
When subscription management and revenue recognition share a data model — when a subscription change in the commercial system immediately generates the corresponding revenue schedule adjustment in the financial system — the manual maintenance step goes away. The recognition schedule is always current because it’s derived from the subscription state rather than maintained separately from it. ARR is always available because it’s a live query against the subscription data, not a monthly reconciliation exercise.
This requires designing the commercial and financial layers around a shared representation of the contract — the same record that drives billing also drives recognition. That’s a harder architectural starting point than building separate systems and connecting them, which is exactly why most companies don’t start there.
Sources
Footnotes
-
FASB. ASC 606-10-55: Implementation Guidance on Variable Consideration and Contract Modifications. Guidance on recognition treatment for subscription modifications. https://asc.fasb.org/606 ↩
-
SaaStr. The Right Way to Calculate ARR. Discussion of ARR calculation methodologies and common error patterns. https://www.saastr.com/what-is-annual-recurring-revenue/ ↩