Skip to main content
2 of 2
added 1919 characters in body
Maikel Koek
  • 1.1k
  • 7
  • 21

I think I found the answer, it's a feature added in v1.9:

http://www.magentocommerce.com/knowledge-base/entry/cross-border-price-consistency

In our case, it's not possible to upgrade to 1.9 at this time, but I managed to get the desired results, by copying some from version 1.9:

I extended Mage_Sales_Model_Quote_Address_Total_Abstract::collect and changed the following line (line #68):

...
$this->_areTaxRequestsSimilar = $this->_calculator->compareRequests($storeRequest, $addressRequest);
...

To the following:

...
if ($this->_helper->isCrossBorderTradeEnabled($this->_store)) {
    $this->_areTaxRequestsSimilar = true;
} else {
    $this->_areTaxRequestsSimilar = $this->_calculator->compareRequests($storeRequest, $addressRequest);
}
...

Of course, the isCrossBorderTradeEnabled() helper method and configuration option don't exist, so you have to create this yourself in the system.xml of your own module:

<config>
    <sections>
        <tax>
            <groups>
                <calculation>
                    <fields>
                        <cross_border_trade_enabled translate="label comment">
                            <label>Enable Cross Border Trade</label>
                            <frontend_type>select</frontend_type>
                            <source_model>adminhtml/system_config_source_yesno</source_model>
                            <sort_order>70</sort_order>
                            <show_in_default>1</show_in_default>
                            <show_in_website>1</show_in_website>
                            <show_in_store>0</show_in_store>
                            <comment>When catalog price includes tax, enable this setting will fix the price no matter what the customer's tax rate is.</comment>
                        </cross_border_trade_enabled>
                    </fields>
                </calculation>
            </groups>
        </tax>
    </sections>
</config>

And call this option in the if-statement:

...
if (Mage::getStoreConfig(self::XML_PATH_CROSS_BORDER_TRADE_ENABLED, $this->_store)) {
...
Maikel Koek
  • 1.1k
  • 7
  • 21