• Hello,

    I have a problem when paying by credit card: when a customer based in a European country with a valid VAT number wants to be delivered to my country of residence, he is subject to VAT. VAT does apply in WooCommerce, but when paying by credit card, before redirection to the payment platform, VAT disappears from the order.

    How to solve this problem ?

    Thank you

Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Author Diego

    (@daigo75)

    The EU VAT Assistant doesn’t remove VAT based on the payment method, it only deducts VAT when a valid VAT number is entered at checkout.

    Please note that the VAT number is checked against he billing country. If a valid EU VAT number is entered, and the billing country is different from your shop’s base country, then the VAT is removed from the order. Example:
    1. Your shop is based in France.
    2. The customer selects Belgium as the billing country and France as the shipping country.
    3. The customer enters a valid Belgian VAT number.

    In this case, the EU VAT Assistant removes the VAT from the order. The fact that the order is shipped to France is irrelevant, because the aspects related to the shipping of physical goods are not taken into account by the plugin. This is not a bug, nor a problem, it’s by design.

    The reason behind this design choice is that the EU VAT Assistant was designed specifically to comply with the VAT MOSS regulations. These regulations applied to digital products, which don’t require shipping. We haven’t yet implemented a check against the shipping country, nor features specifically related to the sale of physical goods. That will be part of the VAT Assistant plugin that will replace the existing one.

    In the meantime, you have two options:

    1. If you wish to replace the country to be used for the check with the shipping country, you can use a filter for hook wc_aelia_euva_set_customer_vat_exemption_country. In your filter, you could check if the value of WC()->customer->get_shipping_country() is set and, in that case, return that as the country for the VAT number validation.

    2. If you wish to continue validating the VAT number against the billing country, but disable the VAT exemption when the shipping country matches your shop’s base country, you can use a filter for hook wc_aelia_eu_vat_assistant_customer_vat_exemption. You can use the following template to get started:
    add_filter(‘wc_aelia_eu_vat_assistant_customer_vat_exemption’, function($customer_vat_exemption, $vat_country, $vat_number) {
    if($customer_vat_exemption) {
    // If your custom criteria is met, e.g. the $vat_country matches
    // your shop’s base country, set $customer_vat_exemption = false;
    }
    return $customer_vat_exemption;
    }, 10, 3);`

    Thread Starter btom76

    (@btom76)

    Hello,

    Thank you for your very comprehensive response. Regarding the example of the Belgian customer with the VAT number that is delivered in France, when I do the simulation in WooCommerce, the VAT appears on the checkout page, and disappears when I put a delivery in Belgium. Which is strange since you tell me in your message that the plugin is not configured to work like this (for information, my shop is configured with a VAT calculation on the delivery address).

    Plugin Author Diego

    (@daigo75)

    The VAT exemption should only be applied when the customer enters a valid EU VAT number and when the VAT number country, which is the billing country, is different from the shop’s country. The shipping country should not make a difference, but I will ask to check if there could be a case where this could lead to an unexpected behaviour.

    A better handling of physical goods is in the roadmap for the plugin that will replace the EU VAT Assistant, so it makes sense to have a look at it while we work on the new solution.

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘VAT no longer appears when paying by credit card’ is closed to new replies.