Question

We have a magento 1.9.2.4 with only one currency (€), 2 websites, one store per website and 2 views in one store and one on the other, we have the cross border trade enabled.

If we set a price to 10€ it displays it correctly in all the countries with 21% tax, except one of them that have 20%, and others with 0% that displays wrong prices.

By default the price displayed is from a country with 21% tax, but when logged it displays the price by the shipping address of the customer. So it displays a different price depending on the customer address.

expected result:

  • country 1 (tax 21%) price: 10,00€ tax: 1,73€
  • country 2 (tax 20%) price: 10,00€ tax: 1,66€
  • country 3 (tax 00%) price: 10,00€ tax: 0,00€

actual result:

  • country 1 (tax 21%) price: 10,00€ tax: 1,73€
  • country 2 (tax 20%) price: 09,92€ tax: 1,65€
  • country 3 (tax 00%) price: 08,26€ tax: 0,00€

It is supposed that when cross border trade is enabled then it should display same price for all the countries (10€) and then calculate the tax for each of them (1,73€ for 21%, 1,66€ for 20% and 0€ for 0%).

In the menu system -> sales -> shipping settings -> origin is configured a 21% tax origin country.

Why is showing different price? maybe I'm missing some configuration? So despite being enabled, it seems cross border trade is not working at all.

Our tax calculation configuration

example captured from webpage with different users

In admin menu sales -> tax -> Manage Tax Zones & Rates there are the countries and the taxes configured:

enter image description here

In admin menu sales -> tax -> Manage Tax Rules we have two tax rules configured:

enter image description here

The main tax rule is:

enter image description here

Edit: I just made a brand new blank project with the same magento 1.9.2.4 for testing, created 2 products, 3 countries with 3 different taxes, 3 customers with addresses in the 3 countries, same tax rules, same configuration and everything work as expected. I still can't figure why the other project cross border trade is not working correctly, it uses the price without tax and then add the tax of the shipping country, instead of showing the same price always and change the tax by the shipping country.

Edit2: I just moved the database of the actual project to the brand new one. Now in the brand new one I see the correct prices. So I think that the issue should be on the price.phtml template, but I copied the original price.html to te real project and still the same wrong result. So the issue must be in another place.

Was it helpful?

Solution

Finally I fixed it, this is what I did to find the issue:

  1. Installed locally a brand new blank magento same version 1.9.2.4 directed it to the test database. And check cross border trade works fine. Maybe the issue is in the theme templates.
  2. Disable the theme in the real project. Check that the issue is still in the prices. Issue is not in the theme.
  3. Disable all the modules in the project. Issue is solved. So the issue was in a module.
  4. Check all the modules, and finally found one that was overwriting the helper with Mage_Tax_Helper_Data.
  5. Checked that this overwritten helper was not doing anything apart of breaking cross border trade. So Deleting this overwritten helper fix the problem. Now cross border trade works fine.
Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top