The billing logic is pretty easy:
1. If the subscriber has EU IP or the billing address is of any EU country, add VAT per their country's rate to their invoice if they do not provide a valid VAT ID.
2. We use https://vatlayer.com/ for VAT rates, geolocation using cloudflare ip gelocation https://support.cloudflare.com/hc/en-us/articles/200168236-W...
3. Currently, we use WHMCS for subscription management which costs $39.95 per month. Why? because it supports many payment methods! that's very important to our business. It also takes care of VAT etc....