If checkout still charges VAT after a customer enters a valid number in EU/UK VAT Manager for WooCommerce, a Keep VAT rule or a switched-off exemption is the usual cause. Go to WPFactory > EU VAT (also reachable at WooCommerce > Settings > EU VAT) > Validation and confirm Remove VAT for validated numbers is on.
Symptoms #
- The message under the VAT field says the number is valid, but the order review still shows VAT.
- VAT disappears on the checkout page but comes back on the placed order.
- Only some products, or only the shipping line, keep their VAT.
Causes and fixes #
Work through these in order. They are listed from the most common to the least common.
- The exemption is switched off. EU/UK VAT Manager removes VAT only when both Validate and Remove VAT for validated numbers (
alg_wc_eu_vat_disable_for_valid) are set to Yes on the Validation sub-tab. Both are on by default, so check that nobody turned one off. If Validate is off, the plugin does not check or exempt anything. - A Keep VAT rule matches the order. These rules validate the number but keep VAT on purpose. On the Validation sub-tab, VAT Exemption group, review:
- Keep VAT in selected countries: set to Base (i.e., store) country or a Comma separated list, and compared against the billing or shipping country chosen in Country type.
- Keep VAT if shipping country is different from billing country: keeps VAT whenever the two countries differ. The field then shows “Different shipping & billing countries.”
- Keep VAT if shipping country matches store base country: keeps VAT when goods ship to your own country. The field then shows “Shipping country matches store base country.”
Turn off the rule that should not apply, save, and test again. See Keep VAT Instead of Exempting for Certain Orders for what each rule does.
- A product has Keep VAT for this product ticked. Each product has a Keep VAT for this product checkbox next to its tax settings on the product edit screen (Product data > General). When a cart contains one of these products, the ticked products keep their VAT even for a valid number, and only the other products become tax free. Untick it on products that should be exempt.
- Keep shipping VAT is on. If only the shipping line still has VAT, check Keep shipping VAT on the Validation sub-tab. It exempts the products but not shipping.
- The customer’s user role is never exempt. In the User Roles group on the Validation sub-tab, any role listed in Always not exempt VAT for selected user roles pays VAT even with a valid number. Remove the role if that is not what you want.
- The customer ticked “Valid VAT but still paying?”. If you enabled Valid VAT but still paying? on the General sub-tab, the checkout shows a checkbox (default label “I have a valid VAT but not exempted”). A customer who ticks it keeps VAT on purpose. Ask the customer to untick it, or turn the option off if you do not need it.
- An extra check rejected the number after VIES accepted it. Check for matching billing country code (free), Check company name and Check country by IP (both Pro) can override a valid VIES answer, and VAT then stays. The message under the field tells you which check failed, for example “Wrong billing country.” See EU VAT Validation Always Fails.
- A stale result is being reused. The plugin stores the validation result in the customer’s session and applies the exemption when the cart totals are calculated. If your checkout is cached, or the customer changed the number or country, the old result can stick. Enable Force validate on cart and checkout page load/reload (Validation sub-tab) and Force VAT recheck on checkout (Advanced sub-tab), exclude the cart and checkout pages from page caching, and test in a new private window.
- VAT comes back only on the placed order. The number is checked again when the order is placed, and in the block-based checkout the plugin also recalculates the order totals at that moment. If a Keep VAT rule matches the order’s billing or shipping country, VAT is kept. The block checkout also needs Checkout block field enabled on the Advanced sub-tab, see VAT Field Not Showing in Block-Based Checkout. If no rule explains it, turn on Debug (Advanced sub-tab), place a test order, and compare it with the same order on the classic
[woocommerce_checkout]shortcode checkout. Send the log to support if the two behave differently.
How to confirm it is fixed #
- Turn on Debug on the Advanced sub-tab.
- In a private browser window, add a taxable product to the cart and enter a VAT number you know is valid, with a billing country that no Keep VAT rule covers.
- Check that the order review shows no VAT (or a zero VAT row if Show zero VAT is on) and place the test order.
- Open the order in the admin and confirm it has no tax lines. In WooCommerce > Status > Logs, the EU VAT entry should read “Success: VAT ID is valid”.
- Turn Debug off again when you are done.
FAQ #
Can the order show a 0% VAT line instead of no VAT line? #
Partly. Show zero VAT on the General sub-tab adds a zero VAT row to the order review on the checkout page when no tax applies. It is a display option only: the saved order still has no tax line, because WooCommerce removes taxes from VAT-exempt orders. EU/UK VAT Manager has no setting that writes a 0% tax line to the order.
Are the Keep VAT rules a Pro feature? #
No. All the exemption and Keep VAT options in this article are free. Only Check company name and Check country by IP are Pro.
Do these checks apply to orders I create in the admin? #
Only if you turn on VAT validation for orders created manually from the admin side on the Admin sub-tab. See Show VAT Numbers in Admin Orders and Reports.
Still stuck? #
Send us the debug log entry, your WordPress and WooCommerce versions, and whether you use the classic or block checkout. Our team answers every ticket on the EU/UK VAT Manager support forum.