My client has a bit of a situation with his tax...


He charges tax at 20% to all EU countries and this tax is included in his catalogue prices.

He doesn't charge tax to all other countries, but he would still like to charge the full price of his catalogue. However due to how the rules are set up, if a country is not tax applicable then it will deduct the tax amount from the price.

My Idea

My current idea is to force a store view change if certain countries are selected as the billing address during checkout. This store view will then have no tax class selected on the products.

I could potentially do this by intercepting the 'Place Order' script and programmatically setting the store view.

Does anybody know if there are any extensions or existing code snippets that will help me enable this?

2 Answers 2


How I've done this in the past was to extend the Mage_Tax_Model_Calculation class. Then creating a copy of the function calcTaxAmount we return a value of 0 if the conditions are met. In your case you could look up the quote from the customer session and get the customer's billing address information.

I think I also made the function compareRequests always return true as well, it's been a while.


You could create a customer group for the NON-EU users and set every user to this group (using an observer) when the account is created for a non-eu country. At product level (since 1.7 if i'm correct) you can set a price on this group that is 20% higer so it matches the original price.

  • I thought initially of a similar approach, but I don't think it will work mainly because you don't specify a country when registering and even if you did, the same user can order using an EU address and a non EU address. The tax values should be different in these cases, but the price should be the same.
    – Marius
    Commented Oct 16, 2013 at 11:55
  • Yes, thats true. Maybe then change the group during checkout on the save of the shipping address (or the address type that is configured to calculate tax on). This solutions is also not possible if you use many customer groups. Commented Oct 16, 2013 at 12:02
  • Now you might be on to something. Maybe changing the customer group at checkout if the address is NON-EU. Or maybe change the product tax class in the checkout process?
    – Marius
    Commented Oct 16, 2013 at 12:05
  • I like the idea of switching customer group rather than store view. It seems like a less heavy-duty change. Changing product taxes would change it for everyone else I assume? I'll use this as my main option unless an extension is suggested.
    – Adam Moss
    Commented Oct 16, 2013 at 12:46
  • 2
    note: once he passes a certain threshold in a country (~100k EUR in sales), he needs to charge local VAT rates. Commented Jan 14, 2014 at 16:53

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.