---
title: Keep VAT Instead of Exempting for Certain Orders
description: Keep charging VAT for valid VAT numbers by country, shipping destination or product, and fix VAT still being removed for domestic customers.
url: "https://wpfactory.com/docs/keep-vat-instead-of-exempting/"
updated: "2026-09-27"
category: How to
---

# Keep VAT Instead of Exempting for Certain Orders

To keep charging VAT for some orders even when the VAT number is valid, use the free Keep VAT rules in [EU/UK VAT Manager for WooCommerce](https://wpfactory.com/item/eu-vat-for-woocommerce/) at **WPFactory > EU VAT** (also reachable at **WooCommerce > Settings > EU VAT**) > **Validation**. Tax rules often require this, for example for customers in your own country.

By default EU/UK VAT Manager removes VAT once a number validates. The preserve-VAT rules below let you keep it by country, by shipping destination, or per product.

### Where to find them

Go to **WPFactory > EU VAT** (also reachable at **WooCommerce > Settings > EU VAT**), **Validation** sub-tab, **VAT Exemption** group. First, confirm **Remove VAT for validated numbers** (`alg_wc_eu_vat_disable_for_valid`) is on: it is the switch that grants exemption in the first place.

### Preserve rules

| Label | Option ID | Default | Free/Pro |
| --- | --- | --- | --- |
| Keep VAT if shipping country is different from billing country | `alg_wc_eu_vat_preserv_vat_for_different_shipping` | No | Free |
| Keep VAT if shipping country matches store base country | `alg_wc_eu_vat_preserve_vat_for_base_country_shipping` | No | Free |
| Keep VAT in selected countries | `alg_wc_eu_vat_preserve_in_base_country` | Disable | Free |
| Keep shipping VAT | `alg_wc_eu_vat_keep_shipping_vat` | No | Free |

### Keep VAT in selected countries

**Keep VAT in selected countries** has three modes:

- **Base (i.e., store) country:** validate the number but keep VAT when the chosen country equals your store's base country (set at **WooCommerce > Settings > General > Store Address**).
- **Comma separated list:** keep VAT for a specific list of countries. Enter the codes in **Keep VAT in selected countries locations** (`alg_wc_eu_vat_preserve_in_base_country_locations`), for example `IT,NL`.
- **Disable:** no country-based preserve rule.

Use **Country type** (`alg_wc_eu_vat_preserve_country_type`) to decide whether the billing or shipping country is compared.

**Note:** to make "Keep VAT if shipping country matches store base country" work, turn off "Keep VAT if shipping country is different from billing country", as noted in the setting's own description.

### Keep VAT on a single product

Every product has a **Keep VAT for this product** checkbox (`_alg_wc_eu_vat_keep_vat`) next to its tax settings on the product edit screen, under **Product data > General**. Tick it for products that must always carry VAT. When the cart contains one of these products and the customer has a valid VAT number, the ticked products keep their VAT and the rest of the cart is exempt.

### Troubleshooting: VAT is still removed for customers in your own country

If a customer from your store's country enters a valid number and VAT is still removed, check these points in order:

1. **The rule is set and your store country is right.** Set **Keep VAT in selected countries** to **Base (i.e., store) country**. The plugin compares the customer's country with the country in **WooCommerce > Settings > General > Store Address**, so make sure that address uses your country.
2. **The right country is compared.** **Country type** decides whether the billing or the shipping country is checked. With **Customer shipping country** selected, a domestic company that ships abroad is not matched. Most stores should use **Customer billing country** (the default).
3. **List codes match WooCommerce's country codes.** With **Comma separated list**, the codes are compared with the checkout country, not with the VAT number prefix. Use WooCommerce's two-letter codes, for example `GR` for Greece, not the `EL` VAT prefix.
4. **Your country is not in the skip list.** Numbers from a country listed in **Skip VAT validation for selected countries** (Validation sub-tab, Advanced group) skip the whole check, including the Keep VAT rules, so they are always exempt. Remove your own country from that list.
5. **No role is always exempt.** A role in **Always exempt VAT for selected user roles** (User Roles group) is exempt even when a Keep VAT rule matches. Remove the role if domestic customers use it.
6. **The result is not cached.** Enable **Force VAT recheck on checkout** on the **Advanced** sub-tab and test in a private window, so an earlier result from the same session is not reused.

If VAT is kept when it should be removed, see [VAT Not Removed After Entering a Valid VAT Number](https://wpfactory.com/docs/eu-vat-not-removed-valid-number/).

### Tell the customer

Enable **Enable country preserve message** on the **Messages** sub-tab to show shoppers why VAT was kept. See [Customize VAT validation messages](https://wpfactory.com/docs/customize-vat-validation-messages/).

### Get more control

These exemption rules, including the per-product checkbox, are free. Explore the rest of [EU/UK VAT Manager for WooCommerce](https://wpfactory.com/item/eu-vat-for-woocommerce/) for country and user-role targeting in Pro. [See what Pro unlocks](https://wpfactory.com/item/eu-vat-for-woocommerce/).

Need a hand? Our team answers every ticket on the [EU/UK VAT Manager support forum](https://wpfactory.com/support/item/eu-vat-for-woocommerce/).

Related articles

- [Show VAT Numbers in Admin Orders and Reports](https://wpfactory.com/docs/show-vat-in-admin-orders-and-reports/)
- [EU/UK VAT Manager: Reset a Settings Section to Defaults](https://wpfactory.com/docs/eu-vat-reset-a-settings-section/)
- [Validate UK and Non-EU VAT Numbers with VATSense](https://wpfactory.com/docs/vatsense-non-eu-validation/)
- [Enable the VAT Field in Block-Based Checkout](https://wpfactory.com/docs/vat-field-in-block-checkout/)
- [Make the VAT Field Required Only for Businesses](https://wpfactory.com/docs/require-vat-number-conditionally/)
