Handle errors response from VIEW in EU VAT Number
I'm not using this plugin currently, I'm using a different plugin on a different shopping cart. I'm raising this idea from my own experiences and modifications I've had to do in that system.
The VIES API is not reliable - over the last 2 years we've had roughly a 12% error rate. This varies per member state, so if you are selling to a reliable member state primarly, this isn't a big deal, but when you get sales to the less reliable ones, it's an issue.
When faced with response such as MS_UNAVAILABLE/TIMEOUT/MS_MAX_CONCURRENT_REQ we should have an option as to what to do with the VAT. Treating this as VAT number is not valid response isn't good, we should be able to differenciate between the two (invalid vs no/error response). If the VAT number is invalid, VAT should stay on the order. If VIES can't give a response, I want to be able to "assume valid" so remove the VAT and continue. I'd then like to be able to pull a report of all orders/VAT numbers that were assumed valid and check them manually (or automatically!) at a later date.
In my experience, not removing VAT in this case creates support queries during checkout and loses sales.
As an extra: It would be great to a full log of all calls to the API to easily be able to produce some states. Error rates, most reliable/unreliable members states etc so users can feedback to the team that run the VIES system.