Magento – zzgl. 0% MwSt. – Problem nach Installation von Market Ready Germany 2

Es kam plötzlich vor, dass im Shop nur noch zzgl. 0% MwSt. angezeigt wurde. Dies scheint ein Problem mit der Extension Market Ready Germany 2 zu sein, wobei ich mir hier die Vermutung sparen möchte und mich ausschließlich auf Beobachtungen anderer Nutzer verlasse. Folgender Beitrag brachte die Lösung:

Ich habe die Tax.php (app/code/community/Symmetrics/TweaksGerman/Block) von Symmetrics angepasst, die meiner Meinung nach hier noch einen Fehler enthält.
In der Mage_Tax_Helper_Data Klasse wird an einer Stelle abgefangen, wenn null bei getTaxPercent() zurück kommt. Dies ist dann der Fall wenn Frontend Preis und Backendpreis gleich sind (quasi alles Netto Preise). In diesem Fall ist es bei MRG so, dass dort dann natürlich auch “null” zurück kommt, was zu int gecastet eben 0 ergibt, und daher auch 0 % MwSt.
In der Mage_Tax_Helper_Data Klasse wird allerdings in einem solchen Fall der Steuersatz der beim Produkt hinterlegten Steuerklasse manuell geholt. Um dies bei MRG nachzurüsten habe ich die Methode _getTaxInfo() der Tax.php angepasst. Code siehe unten:

protected static function _getTaxInfo($product)
{
$tax = Mage::helper('tax');
if ($product->getTypeId() == 'bundle') {
// bundle product type has not tax percent
if ($tax->displayPriceIncludingTax()) {
$taxInfo = Mage::helper('tweaksgerman')->__('Incl. tax');
} else {
$taxInfo = Mage::helper('tweaksgerman')->__('Excl. tax');
}
} else {
$taxPercent = $product->getTaxPercent();

// ch / Anpassung damit auch, wennn alles Nettopreise sind die Steuer gefunden wird (Fix 0% MwSt. obwohl 19% hinterlegt).
if (is_null($taxPercent)) { // 0% Steuer wird uebernommen, Abfrage greift nur auf null.
$taxClassId = $product->getTaxClassId();
if ($taxClassId) {
$request = Mage::getSingleton('tax/calculation')->getRateRequest(null, null, null, null);
$taxPercent = Mage::getSingleton('tax/calculation')->getRate($request->setProductClassId($taxClassId));
}
}
// ch / ENDE (siehe auch Mage_Tax_Helper_Data)

if ($tax->displayPriceIncludingTax()) {
$taxInfo = sprintf(Mage::helper('tweaksgerman')->__('Incl. %1$s%% tax'), (int) $taxPercent);
} else {
$taxInfo = sprintf(Mage::helper('tweaksgerman')->__('Excl. %1$s%% tax'), (int) $taxPercent);
}
}

return $taxInfo;
}

Angepasst wurde der else Zweig innerhalb der Kommentare // ch /….

Genutzt in Magento 1.4.1.1

Published by Covos

Seit 2009 arbeite ich nun intensiv mit Magento. Begonnen habe ich mit der Erstellung und dem Betrieb von B2C-Shops. Ausgeweitet wurde dies durch meine Tätigkeit im Logistik-Sektor. Hieraus entstanden erste spezialisierte B2E-Systeme. Heute arbeite ich tag-täglich mit spannenden B2C-, B2B- und B2E-Projekten und berichte in diesem Blog über Herausforderungen und gebe Insider-Tipps.

2 comments on “Magento – zzgl. 0% MwSt. – Problem nach Installation von Market Ready Germany 2”

  1. Scheint immernoch ein Problem zu sein – auch in der aktuellsten Version von Magento und MRG. Danke!

Leave a Reply

Your email address will not be published. Required fields are marked *