Disclaimer: here is a more technical post focusing on the engineering challenges that billing creates.
Datadog (now valued north of $40B) automated billing only after the IPO. Why? Because in the B2B space, designing, implementing and maintaining billing is hard, especially if your pricing is ‘usage-based’.
I couldn’t understand why somebody didn’t ‘just fix it’, as this is usually the first cause of customer support tickets.
Many of the 100+ companies we spoke with are still inputting billing parameters manually, from and to their CRM, billing and ERP tools, and the Finance team is still checking consumption by hand.
One way to explain this without going down the rabbit hole is to consider billing as a living organism, which hosts your customers, users, internal teams and investors. Everyone has to thrive under this roof, and that’s why it’s not that simple.
If you’re successful, your pricing will frequently change
You might start with a simple subscription model (e.g. customers pay a fixed amount each month for a predefined set of features, choosing from three different plans: bronze, silver and gold) because your product is simple and you don’t want to confuse your customers.
It may seem easy to implement with any billing SaaS, or even build in-house.
However, as your product evolves, you need to ensure that revenue increases with the new features: should you introduce a new plan? Or maybe sell it as an add-on?
As a result, edge cases will grow exponentially…
How to proceed:
- When you shut down a plan, what happens to current customers?
- When you need to compensate some users because you had an enormous amount of bugs (we all do)?
- When you want to merge several individual accounts into a team billing plan?
- When upgrades or downgrades involve a number of unused consumption credits?
- When you start charging customers for ‘inactivity’, like some fintechs do for inactive cards?
The list goes on for sales-driven companies: how should it work when a customer renegotiates their plan after paying for it, or when several entities (usually in different countries) want to be billed under the same invoice (multi-entity usage roll-up)?
…and so will the requirements from other teams…
The Sales team will want a deep integration with their CRM. The CEO and CFO will ask for precise revenue recognition. Customer Success will be yelled at by customers if they don’t have good visibility on billing.
Integrations with external SaaS or systems are not hard to build, but they’re painful to maintain.
…and the amount of data you’ll have to process.
Usage tracking, billing history and reconciliation (between a sales CRM, a payment processing platform and customer success information) can soon become a data nightmare materialized by the need to report revenue to investors.
As with any data challenge, it often boils down to ‘the source of truth’, its taxonomy and its tracking system.
The underlying question is: for how many of these tasks do you want to use a tool and which available tools can relieve you of this burden?
Pricing and billing are growth levers on which you should iterate. Choosing an inflexible system can cause you to miss out on this powerful lever and create heavy inefficiencies for your teams (e.g. customer support being flooded, manual reworks for the finance team for reporting).
Many companies invest time and effort in trying to build a flexible system instead of focusing on product development. Would it be possible to create a more open, efficient and composable solution?
That’s what we believe in at Lago: we’re on a mission to build an open-source Stripe Billing alternative.
Sign up to our waiting list here.