Fedev — EU VAT & VIES
Live VIES VAT number validation in the Shopify cart
Fedev — EU VAT & VIES adds a VAT number field to your Shopify cart page and cart drawer. When a business buyer enters their EU VAT number, it is checked live against VIES, the European Commission’s VAT registry, and the buyer sees the result before they reach checkout.
Want to check one number by hand? Use the free EU VAT number check.
How it works
- The buyer types their number the way they know it. Spaces, dots and hyphens are fine —
BE 0123.456.789is read asBE0123456789. - A local format check runs first. Each EU country publishes the shape its VAT numbers take. A number that cannot be valid is caught instantly, in the cart, without a call to VIES. The check is deliberately no stricter than the published formats, so a real number is never turned away by it.
- VIES is asked. The app sends the number to VIES, together with your own VAT number if you have added it in Settings. VIES answers valid or invalid.
- The cart shows the answer. A valid cross-border number gets a confirmation that VAT will be removed; an invalid one gets a plain message the buyer can act on. The new total appears at checkout, where Shopify recalculates tax.
When VIES does not answer
VIES is run by the member states and goes down for minutes at a time. The app treats an outage, a timeout or a rate limit as “no answer”, never as “invalid”. The buyer can still pay; the order keeps its VAT and is flagged Needs review in your VAT records, so a valid customer is never turned away by someone else’s outage. What each VIES error code means is in VIES VAT validation errors.
Your own VAT number
Adding your own VAT number in Settings is optional, but worth it. VIES then identifies you as the requester and returns a consultation reference for every answer — the proof that the number was valid on the day of the sale. See the audit trail for what happens to it.
What counts as a validation
The Free plan includes 25 validations a month; Starter is unlimited. A validation is one real call to VIES. A number rejected by the format check, or answered from a recent check, costs nothing. If the month’s free validations run out, buyers are not rejected — their orders keep VAT and are flagged for review, like an outage.
Questions
Where does the buyer enter their VAT number?
In the cart page and the cart drawer — an app block on the cart page and an app embed for the drawer, both switched on in the theme editor. A field inside the checkout steps themselves is only available on Shopify Plus, and even there an app cannot change the tax — so the cart is where this works on every plan.
What happens if VIES is down?
The buyer is never rejected because VIES did not answer. The order goes through with VAT still on it and is flagged "Needs review" in your VAT records, so you can decide afterwards.
Does a typo use up one of my validations?
No. A number that fails the local format check never reaches VIES, and a number already checked recently is answered from cache. Only real calls to VIES count towards the Free plan's 25 validations a month.
Does it work for Northern Ireland (XI) numbers?
VIES validates XI numbers for goods under the Windsor Framework, but Northern Ireland is not an EU member state, so the app keeps VAT on those orders. Check XI sales with your accountant.
Which languages does the VAT field support?
English, German, French and Dutch.