In Magento 1.5 taucht in der Bestellung bei Versandkosten mit Steuern ein Fehler auf. Die Steuern der Versandkosten werden in der Bestellung der Zwischensumme zugerechnet. Das Problem taucht unter Magento 1.5.0.1 auf, vermutlich sind auch andere Versionen (inkl. Magento 1.6) betroffen.

Der Kunde bestellt ein Produkt im Frontend und bekommt per E-Mail eine korrekte Bestellbestätigung mit korrekt ausgewiesenen Steuern. Im Backend kann die Bestellübersicht eingesehen werden.

Beispiel

Diese weist die Steuern bei den Versandkosten noch korrekt aus (siehe Bild 1). In der Vorschauliste der Steuerdetails werden aber lediglich die Steuern für Produkte (1,60€) aufgeführt. Die Steuern für den Versand (0,95€) sind nicht sichtbar. Das Problem setzt sich in der Rechnung fort. Die fehlenden 0,95€ Mehrwertsteuer des Versands werden der Zwischensumme zugeschlagen (siehe Bild 2). Bei Ausdruck der Rechnung wird die falsche Zwischensumme übernommen.

Lösung

Dieses Problem lässt sich mit ein paar Änderungen im Quellcode schnell lösen. In der Berechnung der Zwischensumme werden sämtliche Steuern addiert, deswegen müssen die Versandkostensteuern subtrahiert werden. Die Anpassung erfolgt in der Klasse Mage_Sales_Model_Order_Invoice_Total_Subtotal in den Zeilen 60 und 61:

60: $allowedSubtotalInclTax = $allowedSubtotal + $order->getTaxAmount() - $order->getTaxInvoiced() - $order->getShippingTaxAmount();
61: $baseAllowedSubtotalInclTax = $baseAllowedSubtotal + $order->getBaseTaxAmount() - $order->getBaseTaxInvoiced() - $order->getBaseShippingTaxAmount();

Alternative Methoden zur Behebung dieses Problems findet man unter folgendem Link: http://www.magentocommerce.com/boards/v/viewreply/342485/