Magento – Exclude countries from cross border trade

magento-1.9taxvat

We sell products from our store in germany. We'd like to use the cross border trade feature to have consistent prices for our EU customers.

Anyway all international customers should still be able to order products with 0 % vat.

Let me give you an example:

Cross border trade enabled
Germany (19 % Vat) – 119,00 € incl. 19 % VAT
Sweden (25 % Vat) – 119,00 € incl. 25 % VAT
US (0 % VAT) – 119,00 € incl. 0 % VAT

Cross Border Tax disabled
Germany (19 % Vat) – 119,00 € incl. 19 % VAT
Sweden (25 % Vat) – 125,00 € incl. 25 % VAT
US (0 % VAT) – 100,00 € incl. 0 % VAT

What we need
Germany (19 % Vat) – 119,00 € incl. 19 % VAT
Sweden (25 % Vat) – 119,00 € incl. 25 % VAT
US (0 % VAT) – 100,00 € incl. 0 % VAT

I did alot of research and found two possible solutions.

Adjust prices via shoppingcard pricerules

Set up a price rule for all countries with vat 0% and give them a procentual discount of 15,9446 (= -19% VAT). Would work but our tax accountant doesn't like that solution.

Adjust prices via price extension

There are several extension out there to adjust price zone for countries. I think this would solve our problem but we would have alot of work to set up the prices for all products.

So is there another solutions for this problem? Is it possible to exclude countries from the cross border trade feature?

Best Answer

You can modify the function Mage_Tax_Helper_Data::isCrossBorderTradeEnabled($store = null) (copy class to local code pool)

add this code before the return statement to disable Cross Border Trade for countries without VAT.

$address = Mage::getSingleton('checkout/session')->getQuote()->getShippingAddress();

if ($address->getTaxAmount() == 0) {

      return false;
}

Instead you can also compare the country_id against certain countries. (Notice: country_id is only available when the customer/guest has entered an address)

Related Topic