Handling international tax collection has long been the missing feature from Stripe that every small business is crying out for. Currently, there's a myriad of solutions, all with their own pros and cons. I compared a number of them a couple of months ago on my blog which has proven very popular. In it I noted that really writing tax tooling isn't something a business should be focusing on when starting out and concluded it's probably best to use a tool which handles it for you. Thus far, that means a tool that isn't Stripe.
The announcement of the acquisition of TaxJar by Stripe this week means their features will be coming to the platform in due course. If Stripes track record is anything to go by, this is likely to be a polished simple solution and popular with all developers. It's honestly very exciting news if you're accepting payments online. If you want to get an idea of how complex things currently are with Stripe, take a look at the article in todays issue from mergify, who have written and shared code about how they handle VAT.
As always, if you have any comments or content suggestions for future issues, please feel free to reply to this email and let me know.
Until next time, keep on shipping (but after your Bank Holiday)!
A great story from Matt Lynch on how he was able to replace his database server for one of his projects by replicating the sqlite db that hosts it to AWS. Matt uses litestreaam which I covered in a previous newsletter.
Most overnight success stories involved much more work than the headline will have you believe. I like this article from Kenneth Cassel as the truth he describes is somewhat different.
A comprehensive description of how the team at mergify who are based in France currently handle VAT with Stripe. Includes code for determining if a customer needs to pay it and what the rate should be.
Upptime is a GitHub powered uptime monitor and status page. It uses Github pages and actions to generate pages on a regular basis for your projects.
This commandline tool from the team at gruntwork allows you to perform the same commands across mutliple repos. Looks really useful for cross organisation renaming or license changes.
I published a second tutorial about Python packaging and virtual environments, this time looking at Pipenv.