Recurring billing
Monthly, annual, and multi-year with ramps, escalators, and mid-term changes — generated from the contract rather than from a separately maintained billing plan.
Platform · front office
The standard arrangement is a billing system that issues invoices and a spreadsheet that computes revenue, reconciled monthly. They disagree because they were built from different readings of the same contract — and that disagreement is the first thing a diligence team finds.
What it does
Monthly, annual, and multi-year with ramps, escalators, and mid-term changes — generated from the contract rather than from a separately maintained billing plan.
Metered consumption rated against the contract, with overage billed and recognised as consumed rather than estimated and trued up later.
A platform fee plus usage plus a one-off implementation is three obligations on one contract, and it is the shape most real software deals take.
Upgrades, downgrades, seat changes, and extensions handled as contract modifications with proration and the correct revenue treatment recorded.
Card and ACH through Stripe or your processor, with failed-payment retries and dunning that checks renewal status before it fires.
The revenue schedule and the invoice derive from the same contract record, so there is nothing to reconcile between them.
When billing and revenue live in different systems, somebody interprets the contract twice — once to set up the billing plan and once to build the revenue schedule. Those interpretations diverge on exactly the things that are ambiguous: when the implementation obligation is satisfied, how a ramp allocates, what happens on a mid-term upgrade.
The monthly reconciliation between them is not a control. It is the cost of having read the contract twice, and it grows with contract complexity rather than with volume.
Gross bookings in Stripe rarely equal revenue in the ledger, and the difference is structural rather than an error: processing fees, refunds, disputes, proration, and failed retries all sit between them.
The most common accounting mistake we find is fees netted against revenue rather than posted to their own expense account, which understates both revenue and cost and quietly distorts gross margin. Charges, refunds, disputes, fees, and payouts are read and matched separately for that reason.
Consumption happens continuously, invoices go out monthly, and revenue should be recognised as consumed. Most companies estimate usage revenue at period end and true it up when the invoice is produced, which creates a recurring adjustment nobody can explain in a rollforward.
Rating usage against the contract as it accrues removes the estimate. It also makes the deferred revenue movement explainable, which is the thing a reviewer actually tests.
Limits
Stripe, Adyen, or your existing processor moves the money. We rate, invoice, collect through them, and reconcile — we do not become your merchant of record.
Complex CPQ with configurable products and approval-heavy discount matrices belongs elsewhere. We handle quotes and subscription pricing for the mid-market.
Sales tax and VAT determination integrates with Avalara or similar. Nexus determination and filing is not something we do ourselves.
Questions
Send your contract types and a billing export and we will show you where the two diverge.