Resources

Shopify EU VAT guide

How to validate EU VAT IDs with VIES in Shopify

For EU B2B orders, a VAT ID should be more than a text field. Merchants need to normalize it, check it against VIES, decide whether the order is eligible for reverse charge, and keep a record of the decision.

Why format checks are not enough

A VAT ID can look valid and still fail official validation. Basic format checks catch typos, but they do not confirm that the number is active in the EU VAT system. VIES is the official service merchants commonly use for this validation step.

Where VIES fits in a Shopify workflow

  1. Collect the VAT ID before checkout, commonly in the cart.
  2. Normalize country prefix, spacing, punctuation, and casing.
  3. Submit the normalized number to VIES.
  4. Combine the VIES result with buyer country and shop home country.
  5. Apply Shopify customer tax exemption only when the full rule set passes.

What merchants should record

The important record is not just "valid" or "invalid". A useful audit trail includes timestamp, VAT country, buyer country, shop home country, VIES status, rule outcome, and whether tax exemption was applied.

If VIES returns a consultation identifier, storing that reference can help later review. The app should still minimize personal data and avoid caching full company/address details when they are not needed.

Plan for outages

VIES is an external service and can be unavailable. A Shopify VAT workflow should not break the cart when that happens. A cautious fallback can queue the case for re-check and avoid applying a tax exemption before validation is confirmed.

How ExemptKit handles it

ExemptKit normalizes EU VAT IDs, checks them through VIES, treats VIES outages as recoverable, applies tax exemption only after the tax rules pass, and writes every decision to an audit log.

View ExemptKit