3 ms·
I have worked in billing for 20 years. Each country has its own laws & quirks. Things like having to issue corrective invoices instead of refunds/adjustments in
by trollied 3y ago
I have worked in billing for 20 years. Each country has its own laws & quirks. Things like having to issue corrective invoices instead of refunds/adjustments in some countries. Others require document numbering to be sequential in different ways (by customer, period etc). Rounding is another fun thing - want that done at an invoice level, line level? Up or down? Taxes are not fun, especially geocoded US taxes. You've got a leased line with rented equipment at both ends - Which of these is the service address for tax purposes? Both with different rates? Something else?
I could go on.
Just when you think you've learned it all, another crazy requirement pops up.
You're correct when you say people underestimate the complexity.
- doctor_eval 3y agoYes exactly. The thing I learned is that it all has to work independently, then you glue it together with policies. Even the simplest hard coded decision is going to be wrong in some context. Even with such an approach, you’ll still miss something, but at least policy mechanisms provide a pattern for refactoring and new features. I ended up building what we might call a declarative billing platform. You tell it what you want, and it tries to make it happen. Very successful, technically, but sadly I left the industry before it got into serious production.
- ivanmontillam 3y agoIf you're able to open source it, I'd encourage you to do so. After all, old projects might have an after life in the open.