Taxes are calculated using the address in the customer profile. A customer can just register with an address from a country without taxes, set his default shipping address to this address, then checkout and enter another address. He should pay taxes based on the shipping address entered during checkout, but he isn't because magento uses the profile data to calculate the taxes! How to change this?

2 Answers 2


You can just go to System->Configuration->Tax->Calculation Settings and set the field Tax Calculation Based On to Shipping Address.
This way if the user tries to trick you and fills in the default address a country without taxes, he will see the catalog prices without taxes, but when he tries to checkout and fills in a different shipping address the prices will change to include taxes.

  • 1
    This is already set. So I assume this is a bug in my install then? Magento takes the Shipping address, but the Default shipping address from the customer account, not the actual address used for the order.
    – Josef
    Mar 19, 2014 at 19:05
  • @Josef My intuition tells me that you might have your tax rules set up in way that causes the results to be other than what is expected. Also, what version of Magento is this for?
    – pspahn
    Mar 19, 2014 at 23:10
  • @Josef Did you ever find a solution to this problem? Jul 14, 2015 at 19:50
  • I did not, so far
    – Josef
    Jul 20, 2015 at 12:55

My experience has been that taxes are not always calculated purely based on the data in the order but sometimes based on the actions that the user takes in the checkout. My expectation was that taxes would be calculated based on order data alone.

I setup Magento admin tax to use the shipping address for taxes. I then create 2 orders with identical values.

First order:

  • billing address is UK,
  • shipping address is Canada, BC
  • When order is placed tax is correctly calculated to use BC tax

Second order:

  • Identical data as used above except:
  • In the checkout, the user switches from ship-to-shipping-address, to ship-to-billing-address, and then switches back again.
  • When the order is placed, the tax is now calculated incorrectly.

In both of these orders, the data in the order page in Magento admin appears to be identical except for the tax. This leads me to think that the tax calculation is not based purely on the order data but also on user actions in some cases.

Perhaps this is a bug in the checkout extension we're using and it has broken the tax calculation when the order is placed. This seems like the most likely cause.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.