I deal with the software end of dealing with VAT for a small company that sells downloadable software and technical support for that software. We've not found it costly at all.
It took one guy a couple days or so to get registered with Ireland for VATMOSS.
To do the quarterly report for filing, I run a fairly simple script I wrote that produces a CSV file with one row per country giving the total sales and the total VAT we collected for that country, and someone uploads that to a form on the Irish tax authority site, which I understand is a simple and straightforward process.
To keep track of VAT rates, we use https://vatlayer.com/
Their API for getting rates is very simple, and their free plan allows 100 API calls per month. It is one call to get the rates for all VATMOSS countries.
The reporting script needs to get exchange rates to calculate the VAT in EUR for those sales where the customer paid in GBP or USD. The EU makes that information available in this handy XML document: https://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist-90d...
That contains the exchange rates between various currencies and EUR for the last 90 days. The rate you want for VATMOSS is the rate on the last business day of the quarter you are reporting for, so there is a little bit of calculation to figure out which day's rate to use.
They also have one that gives the most recent day if that better floats you boat: https:///www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.x...
If you need a specific range of dates for specific currencies, they've got that covered too. Here it is for USD and GBP: https://sdw-wsrest.ecb.europa.eu/service/data/EXR/D.GBP+USD....
Specify the range by adding query parameters startPeriod=YYYY-MM-DD and endPeriod=YYYY-MM-DD.
Right now I'm just charging no VAT worldwide (and we keep track of the totals in US states to see if we approach limits) or VAT for my country.
Also, given we're a B2B service, most of our customers are actual businesses, so we would be adding complexity to our payment flow for not much gained.
Thanks a lot for vatlayer, that looks great and I will definitely keep it in mind!
It also definitely played a role in choosing to do a B2B service over a B2C one.
So now the choice is:
- File VAT yourself, pay 3.5% + some pennies to Stripe - Pay 5% to Paddle and they file VAT for you
Definitely glad to see more competition in this area.