
Aanchal Parmar
Product Marketing Manager, Flexprice

The 3 ways this usually goes wrong
Engineering owning everything works at Series A when the founding engineer who built billing knows all the pricing context in his head.
It breaks at Series B when that engineer moves to a different team and billing becomes a support burden with no clear owner.
Every pricing question ends up back in engineering's inbox. Every audit request too. Engineering resents it, the backlog fills up, and changes that should take two days take three weeks.
Companies are often surprised when they actually measure how much engineering time billing consumes, because nobody was tracking it. It's not a small number.
Finance owning everything works for pure subscription businesses where pricing rarely changes. It breaks the moment you add usage-based components or metered billing. Finance doesn't have the technical depth to manage that infrastructure.
They make configuration changes that break things they didn't know were connected, and the first sign is usually a customer calling about a wrong invoice.
The limbo state is the most common. Engineering nominally owns the technical layer. Finance nominally owns the business layer. Nobody owns the middle.
Every cross-functional billing question becomes a meeting to figure out who's responsible. Invoice discrepancies sit unresolved because neither team has clear accountability.
The middle is where most billing problems live, and in limbo, nobody's job is to fix the middle. The frustrating part is that both teams usually know something is wrong. They just can't agree on whose problem it is to fix.
The job that actually solves this
The function is called billing operations, and most SaaS companies don't build it deliberately. They go back to it when the pain gets bad enough.
GitLab's public job ladder documents a Billing Operations function inside their Revenue Accounting group. The roles run from Billing Operations Intern through Associate, Analyst, and Manager, up to a Global Process Owner function.
The scope is explicit, own the billing system configuration, own the reconciliation process, own the audit trail, own the relationship between what the billing system says and what the financial statements say.
This is the missing piece. Billing ops owns the middle layer: configuration, reconciliation, contract setup, dunning rules, credit grants. Engineering still owns the infrastructure. Finance still owns the financial outputs. Billing ops owns the space between them where most billing problems actually live.
When this function exists, pricing changes route through billing ops, who have the access and the context to implement them correctly.
Audit requests route through billing ops, who have the trail and the documentation. Engineering gets a clean contract: the billing system infrastructure is yours, the business logic configuration is not your problem.
"Billing operations manager" gets about 150 monthly Google searches with almost no ranking competition. Nobody's writing about this function because companies figure it out by accident. By the time they formalize it, the damage from the limbo state is already done.
What this looks like at each stage
Pre-seed and seed: founders handle billing. This is fine. There's nothing material to manage.
Series A, roughly $1M to $5M ARR: you don't need a dedicated billing ops hire yet, but you need explicit ownership. Usually one person, often a RevOps generalist, whose scope includes making sure billing is clean and finance can trust the numbers. The mistake is leaving it as shared responsibility between engineering and finance with no single person accountable.
Series B, $5M to $20M ARR: this is where the limbo state starts costing real money. You have enough customers that billing errors are material. You have enough pricing complexity that engineering is spending meaningful time on billing support. The right hire is a dedicated Billing Operations Manager. Not RevOps who also handles billing. Someone whose primary job is billing system ownership.
Series C and beyond: a team. GitLab's model is the reference here. Multiple analysts, a manager, a Global Process Owner function that sets standards across the company. At this scale, billing ops interact with sales ops, legal, finance, and product regularly. It's a function with a headcount, not a hat someone wears.
Most companies delay the Series B hire until Series C. By then the technical debt is real, the limbo patterns are baked in, and migrating to a billing system that actually supports billing ops ownership is a multi-quarter project. It's not impossible. It's just a lot more expensive than it would have been a year earlier.
If you're already in limbo
The sequence matters here because there's a failure pattern worth knowing about.
1. Don't hire a billing ops person before your billing system can support them.
If the system has no configuration layer, the new hire ends up doing what finance has always done: filing tickets with engineering. You've added headcount without changing anything structural. The same problems recur, now with an additional person frustrated about it.
2. Start with an audit
Two weeks to understand where billing actually lives today: what's in code, what's in configuration, where the audit trail has gaps, where reconciliation breaks.
Teams that skip this step hire a billing ops manager and then spend the first three months discovering what should have been documented before the hire.
3. Write down the handoff contract
What does billing ops own without engineering involvement? What changes require engineering? If this isn't written down, the ambiguity that created the limbo state in the first place just moves to a different level.
4. Then get the right billing infrastructure in place
Finance autonomy requires a system built around configuration layers, not code changes.
If updating a pricing rule in your current system requires a pull request, the billing ops model won't work regardless of who you hire. The infrastructure has to match the operating model.
Then make the hire. In that order.
The cost that doesn't appear anywhere
The visible costs are the ones that make it into post-mortems: the failed audit, the pricing change that took three months, the enterprise deal that stalled on contract structure.
The invisible cost is what never gets proposed. The pricing experiment nobody raised because everyone knew it would take months.
The enterprise deal structure sales didn't offer because they knew the billing system couldn't support it. The usage-based tier that stayed on the roadmap for two years.
Those don't show up as failures. There's no post-mortem for revenue that was never proposed. It just doesn't exist.
We're at $2M ARR. Do we actually need a billing ops function?
Our engineering team says billing changes take two weeks. Is that normal?
What's the difference between RevOps and billing ops?
How do we know if our billing system can actually support a billing ops model?
What goes in the handoff contract between engineering and billing ops?




























