Magento – Falsche Zwischensumme berechnet

Update vom 24.02.2014

Auch bei Magento 1.8.1.0 besteht dieses Problem noch. Es fiel aber bislang nur im Zusammenhang mit der Nachnahme Extension auf bei der eine Zusatzgebühr berechnet wurde. Wir haben nun die unten stehende Lösungsmöglichkeit bzgl. der Codeänderung vorgenommen und nicht die andere Version der Datei kopiert.

Wieder einmal eine Magentophänomen:

Eine Bestellung wurde generiert. Noch KEINE Rechnung. Bis dato sieht alles gut aus. Zwischensumme ist korrekt, Steuer ist korrekt, Gesamtergebnis ist korrekt.

Wenn man dann auf “Rechnung” klickt, wird eine falsche Zwischensumme angezeigt. Wird dann die Rechnung generiert, steht auch auf der PDF Rechnung die falsche Zwischensumme.

Um dies zu beheben, habe ich die Datei subtotal.php aus dem Ordner /app/code/core/Mage/Sales/Model/Order/Invoice/Total geöffnet und dann ca. in Zeile 64

if ($invoice->isLast()) {
$subtotal = $allowedSubtotal;
$baseSubtotal = $baseAllowedSubtotal;
$subtotalInclTax = $allowedSubtotalInclTax;
$baseSubtotalInclTax = $baseAllowedSubtotalInclTax;

zu

if ($invoice->isLast()) {
$subtotal = $allowedSubtotal;
$baseSubtotal = $baseAllowedSubtotal;
/*$subtotalInclTax = $allowedSubtotalInclTax;*/
$baseSubtotalInclTax = $baseAllowedSubtotalInclTax;

ändern. Anschließend speichern, hochladen und evtl. Cache neu laden. Um das ganze updatefähig zu machen und nicht direkt im Kern zu spielen, am besten den ganzen Pfad in die eigene Mage/Sales/Model/Order/Invoice/Total im Ordner local kopieren und nicht im core.

Eine andere Lösung, die ich jedoch bislang nur geringfügig getestet habe: Die subtotal.php aus der Magento 1.7.0.2 verwenden (BACKUP der alten Version!). Ich habe sie hier mal als Zip angehängt (übernehme keinerlei Garantie, am besten Code anschauen und manuell einpflegen) Subtotal

Rechnungen, die schon generiert wurde, werden nicht mehr geändert. Hier müsste in der Datenbank gespielt werden. Neu Rechnungen werden aber nun richtig erstellt.

Genutzt in Magento Version 1.5.1.0 Kommentare? Ergänzungen? Hinweise? Gerne!

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.

9 comments on “Magento – Falsche Zwischensumme berechnet”

  1. Nein, um 1.7. Sry, habe gehofft, dass das auch für 1.7 funktioniert, weil es nach dem
    selben Fehler aussieht. Du weisst nicht zufällig was über den Fehler in 1.7 ?

  2. Hallo zusammen,

    ich habe ein Update von 1.4.2 auf 1.7.0.2 durchgeführt. Die Steuern habe ich ohne weitere Extensions so eingestellt, wie dies in der RackSpeed-Anleitung (http://rackspeed.de/forum/magento-faq-backend/mwst-deutschland-einrichten-21) beschrieben ist. Nun aber habe ich das Problem, dass im Warenkorb und in der Kasse die Steuer nicht richtig angezeigt wird, sondern mehrfach abgezogen wird:


    Zwischensumme 238,00 €
    Gesamtsumme exkl. MwSt. 162,00 €
    Steuer 38,00 €
    Gesamtsumme inkl. MwSt. 200,00 €

    Was habe ich falsch eingestellt und wie kann man das beheben?

    Viele Grüße

    Hahni

    1. Hmmm, das ist ohne Einblick in das System schwer zu sagen. Verschiedene Fehlerquellen sind häufig die Definition, ob es sich bei den im Backend eingetragenen Preisen um Brutto- oder Nettowerte handelt, wie der Versand zu berücksichtigen ist, wie die Berechnung und wie ausführlich die Berechnung sein soll etc.

  3. Hallo zusammen,

    vielen Dank für die obigen Tipps. Ihr hattet ja auch angedeutet, daß ältere Rechnungen nur mittels Datenbank-Modifikationen angepaßt werden können. Da ich aktuell aber ältere Rechnungen zu Doku-Zwecken ausdrucken müßte: gibt es nicht die Möglichkeit für diesen temporären Ausdruck die Zwischensumme um die Versandkosten-MwSt. zu reduzieren? Für eine Rückmeldung wäre ich äußerst dankbar.

    Herzliche Grüße,
    Marcus

    1. Hi, auf Anhieb würde mir hier auch nicht einfallen, wie man das nachträglich “schnell” anpassen könnte. Wenn es sehr viele Bestellungen sind, dann könnte man eventuell die Bestellungen inkl. Positionen etc. exportieren und über ein Seriendokument die Rechnungen z.B. in Excel zu generieren? Hätte da so ad hoc keine bessere Idee und auch diese ist nur eine Idee 🙂 Vielleicht hilft es aber.

  4. ah, okay. Das wäre tatsächlich aber eine Lösung die mir reichen sollte.

    Danke auf jeden Fall für den Tipp,
    lese immer eifrig euren Blog.

    Herzliche Grüße,
    Marcus

  5. Pah ich dachte schon ich steh auf Mond weil plötzlich die Nachnahmerechnungen ne höhere Zwischensumme ausgewiesen hatte, kurz gegoggelt, das hier gefunden, eingebaut, läuft. 1.8.1.0

    DANKE!!

Leave a Reply

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