Bunny RevOps principle #3 - Decouple platform and pricing
Most startups hard-code pricing into the platform itself, which means that any change in price or feature composition for a plan requires a code release. This tight coupling has several drawbacks.
When pricing changes, a new release is required, which may not be such a big deal in itself. But what happens to the existing customers? Are they moved to the new pricing or grandfathered? More code is required to deal with this scenario.
As you start landing larger deals based on quotes, discounts are expected and invoicing now needs to be handled manually by accounting. Now your revenue and metrics are bifurcated, which introduces more reconciliation work. The manual billing also introduces the risk that tenants are not compliance with their contracts as a result of data entry errors.
And lastly, hard-coded pricing also prevents you from easily experimenting with pricing and packaging, which a key part of finding product/market fit in the early stages of a company.
Ideally, the platform should only be concerned about which features a tenant has. Pricing and packaging belongs in the billing system’s product catalog where you have the necessary flexibility.