Nobody thanks you for good billing. They definitely notice bad billing.
Billing is the part of a platform that's completely invisible when it works and absolutely catastrophic when it doesn't. Nobody ever sends a thank-you note because their invoice was correct. But charge someone twice, or fail to apply a plan change, or let a subscription drift out of sync, and you've earned a support ticket, a refund, and a small dent in trust that's hard to repair. As we grew, our old approach to plans and payments was starting to creak — so we rebuilt it, properly, around a central admin and a real subscription engine.
I'll admit it upfront: this is not a flashy feature. You can't screenshot it for social media. But it's one of the most important things we've shipped, because it's the foundation a surprising number of merchant-facing features quietly stand on. Get billing right and a dozen other things become easy. Get it wrong and you spend your weeks firefighting edge cases involving people's money.
Why we centralised it
Plans, upgrades, downgrades, proration, recurring subscriptions, and all the awkward edge cases around them are far too important to scatter across the codebase in a dozen half-remembered places. When billing logic lives everywhere, it's tested nowhere, and bugs hide in the seams between systems. Pulling it all into one central system means there's a single place where the money logic lives, is reasoned about, and is tested rigorously — which is exactly what you want for the part that touches people's bank accounts.
- One central admin that manages plans and subscriptions across the whole platform.
- Recurring subscription products with flexible billing intervals for merchants to sell.
- Upgrades and downgrades with proration handled correctly and automatically.
- A clear, auditable record of every billing event, for support and reconciliation.
- Far fewer places for billing bugs to hide — which is, honestly, the whole point.
What it quietly unlocked
The rebuild wasn't just internal hygiene, though it was that too. It's the machinery that makes self-service plan changes possible — when you upgrade your own plan in a few clicks and the proration just works, that's this system. It's what lets merchants sell their own subscription products with confidence. And it's what keeps the whole billing experience predictable, for us and for you.
This is the thing about good infrastructure: it's a feature factory. Once the foundation is solid, a whole category of merchant-facing capabilities goes from 'risky and bespoke' to 'a configuration change'. We're already building on top of it, and you'll see the results without ever thinking about the billing engine underneath.
“Good billing is infrastructure. It's the foundation a dozen features stand on.”
Boring on purpose
We deliberately made billing boring: predictable, auditable, quiet. In most parts of a product, 'boring' is a criticism. For billing, it's the highest compliment you can pay. The best possible billing system is one you never have to think about — it charges the right amount, at the right time, and produces a clean record when anyone needs to check. Excitement in a billing system is always bad news.
If you're a merchant reading this
If you're on a paid plan or selling subscriptions of your own, this is the machinery working for you in the background — and the goal is that you should never, ever have to think about it. The day billing becomes interesting to you is the day something went wrong, and our entire aim with this rebuild was to make that day not happen. Quiet, correct, and invisible. That's the whole brief.