Mindestbestellwert und Gutschein in Magento müssen sich nicht bekriegen

Im Standard schaut der im Magento mögliche Mindestbestellwert auf den “Gesamtbetrag” bzw. die Zwischensumme inkl. Gutscheinrabatt. Ist also definiert, dass erst ab 25 Euro bestellt werden kann und ein Gutscheincode lässt die Summe auf 24 Euro fallen, kann nicht mehr eingekauft werden, da die Mindestbestellsumme unterschritten wurde.

Dies ist kann ärgerlich sein.

Es gibt aber einen Weg, um Magento mitzuteilen, dass die Zwischensumme OHNE Rabatt für den Mindestbestellwert relevant sein soll.

Hierzu öffnet man die Address.php im Ordner app/code/core/Mage/Sales/Model/Quote (man kann sie nun auch wieder ins local Verzeichnis kopieren, damit Sie nicht überschrieben wird) und sucht nach

$amount = Mage::getStoreConfig('sales/minimum_order/amount', $storeId);
if ($this->getBaseSubtotalWithDiscount() < $amount) {

return false;

Dies ersetzt man dann durch

$amount = Mage::getStoreConfig('sales/minimum_order/amount', $storeId);
$zeroamount = 0;
if ($this->getBaseSubtotalWithDiscount() == $zeroamount) {
return true;
} elseif ($this->getBaseSubtotalWithDiscount() < $amount) {
return false;

Anschließend wird nicht mehr die Zwischensumme inkl. Rabatt sondern exkl. Rabatt für die Mindestbestellsumme genommen.

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.

3 comments on “Mindestbestellwert und Gutschein in Magento müssen sich nicht bekriegen”

  1. Hallo,

    ich denke es ist besser wenn du, statt die Datei nach code/local/Mage zu kopieren einen Rewrite machst. So implementierst du nur die gewünschte Methode neu und kopierst nicht die ganze “Class”.

    Das macht die Wartung, gerade bei einem Upgrade, doch deutlich einfacher 🙂

    Liebe Grüße

    Tobi

  2. Gutscheincode mit Umgehung des Mindestbestellwertes.

    Danke für den Beitrag – auf diese Weise kann ich die Grundlegende Einstellung für den ganzen Shop ändern.

    Ich möchte aber, dass nur für eine spezielle Gutschein-Liste der Mindestbestellwert quasi deaktiviert wird.

    Hintergrund: In einer Kooperation verteilen wir Gutscheine an Kunden, die einen Bündelartikel kostenlos bei uns bestellen können. Die Kosten übernimmt der Vertragspartner. Der Kunde gibt also den Gutschein ein und die Kosten für Ware und Versand gehen auf 0.-€. Kunde erhält nun die Meldung “Sie haben den Mindestbestellwert noch nicht erreicht”.
    Ich möchte aber den Mindestbestellwert nicht generell umgehen, sondern nur für diese spezielle Warenkorb-Preisregel-Gutscheinliste.

    1. Dies ist eine gute Frage. Mit der o.g. Anpassung wird dies wohl nicht so einfach funktionieren. Man müsste ja Warenkorbregeln bestimmen können bei denen dies erlaubt ist und bei denen dies nicht erlaubt ist. Hierzu bieten sich grds. Attribute an. Hier fallen mir ad hoc die Regel ID ein, die man verwenden könnte was aber sehr unflexibel wäre, da man für jede neue Regel, die man auch noch berücksichtigen muss, den Code anpassen müsste. Alternativ könnte man vielleicht auch das Attribut “Piorität” verwenden. Wenn man z.B. sagt, dass nur Warenkorb Preisregeln am Mindestbestellwert vorbeikommen, die die Priorität 1234 haben und alle anderen nicht.
      So oder so müsste man hierzu eine neue Logik entwickeln, um das darzustellen. Bei Bedarf gerne melden – einer unserer Entwickler findet hier sicherlich eine passende Lösung.

Leave a Reply

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