7

I'm using a fairly new Magento 1.8.0.0 installation, with no changes to the core. When trying to make a tax rate at 0%, Magento returns the following error upon save: Rate Percent should be a positive number.

I'm recreating a Magento webshop, based on a Magento 1.4.2.0 installation, in which the exact same values have been set.

Is this just a bug in Magento 1.8, keeping me from setting a tax rate with 0% tax, or am I missing something?

Any help would be appreciated.

  • In Magento 1.7 and 1.8, we developed the MagetSetup module from the Firegento which generate Taxes for different country. We have some of them set to 0%. It is done programmatically , so it may be not an issue. However I don't know if it is a restriction in the user interface – Sylvain Rayé Oct 10 '13 at 12:16
  • My solution would be changing it in the database. That doesn't differ much from a module, i think. However, I don't want someone less technical running into trouble when they try to change it. That's why I ask. I want it to work in a way that everybody can change it. – Sander Koedood Oct 10 '13 at 12:37
  • Mzeis tweeted about it (twitter.com/mzeis/status/389344796575158272) and I think it is "only" a frontend issue. So creating them programmatically is no problem. – Fabian Blechschmidt Oct 13 '13 at 20:15
  • I'm curious as I haven't had to use 0% tax before - in what scenario would you use this? – jharrison.au Oct 13 '13 at 22:47
  • @jharrison.au The shipping is from Holland to Belgium. When selling from Holland and shipping to Belgian companies, you do not need to deduct taxes. I don't know the exact rules, as I just build websites, and don't sell products, but this is the short of it. – Sander Koedood Oct 14 '13 at 13:38
6

I asked Piotr Kaminski (Magento product manager) on Twitter:

@piotrekkaminski For B2B customers you create tax rates with a 0% rate. That's not possible anymore in CE 1.8 (see Can't set 0% tax rate …).

His response was:

@mzeis oh I think this will be fixed in next version, will try to check

So it seems that this behaviour (introduced in CE 1.8.0.0 - it works as expected in CE 1.7.0.2) will be removed again.

In the meantime you could try to rewrite app/code/core/Mage/Tax/Model/Calculation/Rate.php and remove these lines:

    if (!is_numeric($this->getRate()) || $this->getRate() <= 0) {
        Mage::throwException(Mage::helper('tax')->__('Rate Percent should be a positive number.'));
    }

Instead you also could change the code to test for $this->getRate() < 0 instead of $this->getRate() <= 0.

I didn't test it so I don't know if this does brake anything. The tax module had a major rewrite in CE 1.8.

  • Thank you for taking the time to look into it, and writing such a complete answer. I just changed the line $this->getRate() <= 0 to $this->getRate() < 0 since that already does exactly what is necessary. Normally I'd change that in the local folder, but since they are going to fix it, I don't really think that is necessary, since it will be overwritten in the update. Again, thank you :) – Sander Koedood Oct 15 '13 at 10:34
  • If you have the ability to limit tax rules to customer groups, and tax rates to countries, why do you need to create a 0% rate for B2B customers? – jharrison.au Oct 15 '13 at 23:58
  • Originally that's what we intended. However most users just upload flat file of tax rates and not accepting 0% rates causes some usability issues. We've reversed that in CE 1.8.1 / EE 1.13.1 – Chuck Jan 21 '14 at 23:02
1

I may be over simplifying things here, but I believe Magento is pushing us to avoid having 0% tax rules because it doesn't really make sense to do so. When editing tax rules you can choose which country the rule applies to, so if you have a situation where shipping from one country to another is free of tax, you simply remove the tax rule for that specific country.

1

Originally that's what we intended. However most users just upload flat file of tax rates and not accepting 0% rates causes some usability issues. We've reversed that in CE 1.8.1 / EE 1.13.1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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