How do handle VAT for European and not European clients? Do you use any tools?
Quaderno is the tool I use.
Collect their VAT ID during checkout, attach to Stripe customer record using the business_vat_id key.
Subscribed to Quaderno.io which, thru their Stripe integration (they support others, too), automatically helps me determine which countries I owe VAT payments to, and how much. Quaderno also helps me send (email, or just have available for them to download) those customers in the EU who gave me a VAT ID their VAT-compliant invoice.
Pay if necessary (this hasn't happened yet).
Thx for the answer. How do you know if the person is in an European country or not? Do you use their ip to get the country?
My app asks for a full billing address, with country, but...
If your app doesn't ask for address, you already have enough information to process VAT. You have the postal code for the card they used to pay (you ARE asking for postal code, aren't you?), and you have their IP address. Those two pieces usually line up (sometimes not, for digital nomads) and are all the evidence you need to meet the statutes. In cases where the postal code and IP do not match, Quaderno gives more weight to the postal code. You can go in and manually override if needed, as well.
I was thinking in making an integration with www.ip2location.com database. With the ip, the card number and the information in the form should be enough. Hopefully at least 2 of the 3 will line up.
I will also take a look at Quaderno.io. This VAT can be a real nightmare with 28 countries with different VAT.
I've only used Stripe and only for consumer payments not businesses. I export all payment data from Stripe which gives me the country of the card (whatever that means) and have a script that calculates vat to pay per country :)
I couldn't be bothered so went with Gumroad, they handle it for me so I can focus on my products.