Herzlich willkommen

Compatibility

Below you will find a guide on how to work around compatibility issues with other third-party extensions.

Magestore Onestepcheckout

To ensure the compatibility and full functionality of EU VAT Enhanced with Magestore Onestepcheckout, certain steps need to be performed. Follow the guide below:

1. Changing the IDs of the VAT input fields in the checkout

First, navigate to app/design/frontend/base/default/template/onestepcheckout/onestepcheckout/billing.phtml, copy it and paste it into the corresponding folder in your design folder. Modify the copied file by adding an elseif case within the field loop. The snippet should look like this:

<?php elseif($helper->getFieldEnable($i)=='taxvat'): ?> <label for="billing:vat_id"><?php echo $this->__('Steuernummer/VAT') ?></label><br/> <input type="text" name="billing[vat_id]" id="billing:vat_id" value="" title="<?php echo $this->__('Steuer-/Mehrwertsteuernummer') ?>" class="input-text">

Repeat this procedure for the shipping address template, which is located at app/design/frontend/base/default/template/onestepcheckout/onestepcheckout/shipping.phtml. The resulting code should match the example above.

2. Update the Onestepcheckout controller

Now go to app/code/local/Magestore/Onestepcheckout/controllers/IndexController.php and add the VAT ID to the quote. Search for "customize for load country ma khong dien day du thong tin" and insert the following code after the existing content:

if(isset($shipping_address_data['vat_id'])) { $billingVatId = $shipping_address_data['vat_id']; }

Finally, update the segment where the field data is set on the quote address. Add the VAT ID as follows:


$this->getOnepage()->getQuote()->getShippingAddress() ->setCountryId($billingCountryId) ->setRegionId($billingRegionId) ->setPostcode($billingZipcode) ->setRegion($billingRegion) ->setCity($billingCity) ->setVatId($billingVatId) ->setCollectShippingRates(true);

OneStepCheckout (The Original)

Update 2019-05-10: This fix is now included in the latest version of OneStepCheckout

To ensure full compatibility with Idev OneStepCheckout, a single line needs to be changed in the Idev code.

Please open the file app/code/local/Idev/OneStepCheckout/Model/Observers/PresetDefaults.php. In this file, you need to change one line at the beginning. Here is the change you need to make:


// Change from: //@TODO together with refactoring system.xml: get rid of this variable and add it as a config node public $defaultFields = array('country_id', 'region', 'region_id', 'city', 'postcode'); // To: //@TODO together with refactoring system.xml: get rid of this variable and add it as a config node public $defaultFields = array('country_id', 'region', 'region_id', 'city', 'postcode', 'vat_id', 'vat_is_valid', 'vat_request_id', 'vat_request_success', 'vat_request_date', 'vat_trader_name','vat_trader_address')

Ebizmarts SagePay

Under certain circumstances, orders processed through the Ebizmarts_SagePay module may have VAT calculated again in the backend view of the order, after the order was placed without VAT.

As a workaround you need at least version 1.7.6.2 of our VAT extension for Magento 1. Then apply the following changes to the file app/code/local/Geissweb/Euvatgrouper/etc/config.xml.

Enable the calculation rewrite (remove the comment):

<tax>
    <rewrite>
        <config>Geissweb_Euvatgrouper_Model_Tax_Config</config>
        <calculation>Geissweb_Euvatgrouper_Model_Tax_Calculation</calculation>
    </rewrite>
</tax>

Comment out the tax_rate_data_fetch observer completely:

<!--
<tax_rate_data_fetch>
    <observers>
        <geissweb_euvatgrouper_observer>
            <type>singleton</type>
            <class>Geissweb_Euvatgrouper_Model_Observer</class>
            <method>taxRateDataFetch</method>
        </geissweb_euvatgrouper_observer>
    </observers>
</tax_rate_data_fetch>
-->

Finally, clear the Magento caches.