Billing seems super simple a-priori - you have an awesome startup selling cat-pics on Twitter. $0.30 / pic - what a bargain. But then your excellent marketing team does some market analysis and sees that CPaaS is a thing and a monthly product makes sense - $5/mo for unlimited cat pics. Also, some variety of promotions make sense - $3 for the first month and $5 from there-out. And users are joining mid-month and pro-rating should be a thing. Also, those promotions need to expire after a month. Finally, you're based somewhere outside of the US like New Mexico and need to collect taxes. No Problem!
Dealing with money is hard and scary. There are great services like PayPal, Stripe, Square, and Recurly which handle lots of the hard things like handling PII for PCI compliance, actually taking money and putting it in bank accounts so your startup can buy yachts but dealing with the nuts and bolts of accounting may mean you have to roll some of your own to interface with those services. How you choose to do that can mean the difference between sleepless nights and relaxing weekends.
About Dave Worth
Dave is absolutely not an accountant, taxation consultant or lawyer, nor does any of the content of October Webgeeks constitute legal advice. It's actually probably all wrong. Dave is an Engineering Manager at DigitalOcean where he manages the team which owns Billing for a wildly successful startup. He's even contributed to much of the Billing codebase and can even sometimes successfully type Ruby code into an editor and have something come out the other side that works.
In past lives Dave has been a network engineer, avid competitive cyclist, home brewer, serious developer and consultant, and even tries to parent.