Live data from Hacker News

Problems with homemade billing systems

getlago.com

71–80 of 105 posts

Re: Problems with homemade billing systems

#72
post #2

Good article, and I generally agree that people are too quick to say “Ahh, this looks like a two week project” and ignore broader complexity. I’ve definitely seen a fair amount of that. My question is, how do I know that the OTS solution would actually be much better? For example, OP describes some tricky migrations from one type of billing to another, or complex grandfathering schemes - how would you have any guaran…

Sometimes the fact that you can't change it is a great feature. Obviously if it's missing a critical feature, then you are screwed, but often these requests for customization are made because it seems like they are quick and cheap to make and it will be automated and free after a one-time cost. However, having a whole team of engineers run your billing department is a lot more expensive than hiring someone in finance ops who can do a manual refund or spend an extra 5 minutes every quarter dealing with anniversary billing. Especially if you are B2B, you are going to run into that huge client that wants to be billed net 37 on the lunar calendar, and it's better to get someone in finance to send invoices if necessary each week than to calculate moon phases in your product.

Re: Problems with homemade billing systems

#73
post #33

Like with everything, wrap your billing in a layer and when you grow enough you put your billing under it if you need it or switch to a different provider without changing your codebase. It's not wise to outsource parts that are essential for your business, because: 1. you depend on 3rd party service for a getting paid 2. your operations cost may rise or the service may change terms/functionality

You always need to outsource things. Unless you live on a desert island alone some things are out sourced. Most of us out source barter to a government run cash system, which we then further outsource to various banks. While out sourcing is a risk, it is also an opportunity to offload the hard work. You need to figure out what is worth doing yourself; what you outsource completely and ignore; and what you out source…

That's why you need an abstraction layer for each 3rd party provider. I've been doing online businesses 20+ years and every time we didn't create an abstraction layer our switching cost rose.

Many "startups" who are hungry enough to provide good value for money switch to "enterprise" pricing when investor money run out and your operations costs may rise a lot or you get "discontinued". Look what Atlassian did with self-hosted versions.

Also for tracking/logging layers it may be beneficial to mirror the data you're sending to 3rd party providers to your own db/logs, because you won't get data locked when switching.

So my point is that you need to outsource smartly and keep in mind that the 3rd party dependencies increase operations risk.

BTW that's why any user request shouldn't depend on 3rd party resources in a blocking matter (e.g. synchronous JS from vendors' CDN). You might pay more for your hosting but if you factor the service disruption risks you may be better off for mission critical parts.

Re: Problems with homemade billing systems

#74
I worked for a mobile phone operator many years ago. I was there when the company was bootstrapped. We built our own billing system because we would be billing for stuff that incumbents didn't bill for, because they didn't offer those services: we were the first 3G operator of the country and we also had to create and sell contents (example: YouTube was not born yet.)

I was not in the billing team but we definitely followed rule #4 of the post: "You must be prepared to staff an entire team".

And yes, #1 "Pricing changes all the time and billing needs to follow".

About #2 "Your billing system needs to scale with your user base", we had to go from 0 to 3 million customers in 9 months to be viable. We were not typical, we made it.

No idea about #3 "Grandfathering causes headaches" but there were probably many headaches, that one and others.

Re: Problems with homemade billing systems

#75
post #69

I was that 20-something guy tasked with building a homemade billing system. Hint: Don't.

If you are not afraid of it, it means you don't know nearly enough to be successful.

Maybe there are 20-something people out there with enough world knowledge to make one. But it's not a safe bet at all.

Re: Problems with homemade billing systems

#76

Taxes alone are complicated enough to warrant the existence of TaxJar. Billing systems should not be underestimated.

This is completely true. Taxes, entitlements and billing can be 3 different products. I don't understand how people think it's a 3 week effort. Avoiding this separation can lead to a messy setup down the road.

Re: Problems with homemade billing systems

#77
post #63

Another problem with billing systems I've seen repeatedly is that the billing demands flows one way; marketing or product management basically scribbles on a napkin how they'd like to bill the customer, and that napkin gets passed to the billing team as a specification carved into stone. Basically, in practice it gets run as Waterfall, actual factual Waterfall, except the design phase is skipped. It goes straight fro…

Marketing teams can sometimes miss the mark on this one. There's a misconception that improving billing is as simple as launching a new marketing campaign, but that couldn't be further from the truth. Billing is a multifaceted aspect of engineering and business operations, and those who solely focus on it often prioritize following industry trends over gaining a deep understanding of the economic intricacies within the company.

It's crucial to bridge this gap in comprehension for more effective decision-making and strategy alignment between the marketing and billing departments. By doing so, we can ensure that both teams are on the same page and working together seamlessly to drive the company's success.

Re: Problems with homemade billing systems

#79
post #42

How do you monitor for tax compliance changes, especially for international usage?

I think billing, taxes and entitlements are 3 different products, with obviously strong relationships. I would rather give the advice to rely on a third party tax tool that is connected to the billing engine instead of the "all in one" if taxes are too complex. Otherwise, just use the basic tax codes of Lago's billing engine

Re: Problems with homemade billing systems

#80
post #3

I think it depends on the business you run. To be honest, I would not mind building a billing system if my company grows to an unicorn!

How do you know in advance it will grow into a unicorn? I tend to agree with you, but that's a shame to have a team of 30 engineers working only on billing, even if you are a unicorn.. I would prefer to have them working on my product
Post reply on HN