top | item 32939658

Biggest problems with homemade billing systems

9 points| _lovro | 3 years ago |getlago.com | reply

9 comments

order
[+] mbinet|3 years ago|reply
I was building billing for a company in the US, and I faced complexities, but not the ones mentioned in this article. I didn’t have problems with dates, as we managed quite easily the monthly, quarterly and yearly plans.

We also created a billing based on calendar dates and it was not hard to pro-rate amounts.

I had problems based on locations of my customers. Basically they have different timezones, and billing is based on UTC. This means you have to translate everything based on customers’ timezones.

I also had issue with editing / deleting events for metered billing. When you can erase the past, this is creating a lot of downsides on the accounting side.

This article does not mention the hard things behind compensations, like coupons or credit notes, which is really hard to handle.

[+] lveillard|3 years ago|reply
Hey great job!

I’m surprised credit notes aren’t mentioned here. Have you worked on this as well?

A credit note must be linked to an existing invoice, it can cover all or part of the invoice items, it can be deducted from future invoices or trigger a refund… such a pain!

[+] Rafsark|3 years ago|reply
Yes, it's currently part of our scope. I think the hardest part of credit notes is whether the invoice is paid or still to be paid. If I'm taking the example of an invoice to be paid, you can issue a credit note that can overwrite the amount of the invoice. However, if the invoice is paid, you can either refund or assign credits to a customer. The hardest part here is to know what to do when adjusting a past invoice
[+] rubenfiszel|3 years ago|reply
Why would someone choose to work with anniversary dates instead calendar dates in the first place?

The downside on the accounting side looks real, as it’s easier to invoice all your customers at the same date (beginning of the month), instead of invoicing them granularly during a month. Imagine you want to refund a customer. If invoicing period is from 15 Sept. to 14

However, if your invoicing period is from 1st Sept. to 31st Sept., if a refund occured during this period, you make sure to calculate it during the same month. Easier for your finance guys.

[+] ajhit406|3 years ago|reply
Are annual plans really that difficult to implement? Doesn't seem like it should be that difficult unless you have complex pricing behaviors. What are some of the most common stumbling blocks with transferring a plan from monthly to annual?
[+] math_reads|3 years ago|reply
Yearly plans are not the issue. The real problem is to work with different plan intervals: for instance, when a customer switches from a yearly plan paid in advance to a monthly plan, you need to prorate the period they used your product and issue a credit note to refund them for the rest of the period.
[+] danihuertas|3 years ago|reply
Why would someone bother to create a home-made billing system when Stripe does the job?
[+] AnhTho_FR|3 years ago|reply
Stripe Billing is actually great at managing subscription billing, not so great at addressing consumption-based fees.

Also if you wanna use another payment processors than Stripe Payments (for cost reasons or because Stripe's product isn't the best for a specific geography and use case), you can't use Stripe Billing either.