I want to forbid VAT numbers from specified countries

If you want to not allow valid (according to your configured VAT number validation services) VAT number from certain countries, you can do this using the following code fragment (but adapt it according to the country code that you wish to use; the example below will forbid VAT numbers everywhere except Ireland, IE):

add_filter('wc_eu_vat_check_vat_number_country', 'my_wc_eu_vat_check_vat_number_country', 10, 2);

function my_wc_eu_vat_check_vat_number_country($allowed_country, $country) {
  // If it is not Ireland, then forbid it
  if ('IE' != $country) return false;
  // Otherwise, let the existing value pass through
  return $allowed_country;

Note that you will like want to also change the message shown. The default is “You cannot use a VAT number for which the country (country name) is outside of (VAT area name, e.g. the EU).”. The code fragment below changes the message to make it more appropriate for our example above:

add_filter('wc_eu_vat_disallowed_country_message', 'my_wc_eu_vat_disallowed_country_message', 10, 2);
function my_wc_eu_vat_disallowed_country_message($error, $country) {
  return sprintf(__('You cannot use a VAT number for this country (%s) - we only accept them from Ireland.', 'woocommerce-eu-vat-compliance'), $country);

Posted in: WooCommerce EU/UK VAT Compliance