Einige Anfragen von Bloglesern und -leserinnen kommen regelmäßig zu der Problematik, wie ein kostenfreier Versand ab einem bestimmten Bestellbetrag in WooCommerce umgesetzt wird.
Diesen Punkt finde ich auch ziemlich tricky bzw. von WooCommerce nicht allzu elegant gelöst.
Versandkostenfrei ab einem bestimmten Bestellwert: Vorgehensweise
Hier nochmals eine Fallbeschreibung:
Du entscheidest dich für kostenlosen Versand deiner Produkte, doch erst ab einem bestimmten Betrag, sagen wir mal ab einem Bestellwert von 50 Euro.
Liegt der Bestellwert darunter, fällt eine Versandkostenpauschale von 3,50 Euro an. (Meine hier genannten Werte sind natürlich beliebig austauschbar.)
Die nächsten Schritte sehen das Erstellen einer Versandkostenzone (z. B. Deutschland) vor, in der einmal der Name der Zone und dann die Zonen-Regionen festgelegt werden.
Da normalerweise bei der Wahl von Deutschland innerhalb des ganzen Landes Waren versendet wird, kann man bei den Zonen-Regionen auch “Deutschland” wählen, oder aber Postleitzahlen-Gebiete eintragen. Wenn letzteres der Fall sein sollte, gib bitte pro Zeile eine Postleitzahl ein.
Bild 1: Anlegen der Versandzone Deutschland
Im nächsten Schritt werden die Versandarten definiert.
Ich lege zuerst die Versandkostenpauschale über den Button Versandart hinzufügen an.
Bild 2: Versandkostenpauschale der Versandzone hinzufügen
Über Versandkostenpauschale im Bereich Bezeichnung werde ich diese nun bearbeiten. Ich wähle einen einfachen Betrag aus: 3,50 Euro plus MWSt. (über das Feld Steuerstatus (Besteuerbar) festgelegt), denn Versandkosten sind umsatzsteuerpflichtig, wenn du Mehrwertsteuer auf die Produkte erhebst (weitere Informationen findest du hier).
Als Kleinunternehmer brauchst du allerdings keine Mehrwertsteuer auf die Versandkosten zu berechnen.
In dem Feld Preis lässt sich auch eine Formel eintragen. Wer allerdings seine Versandkosten auf der Basis von Warenmenge, Gesamtkosten des Warenkorbs oder Gebühren berechnet, wird wohl kaum ab einem bestimmten Bestellwert kostenfreie Lieferung anbieten.
Bild 3: Preis der Versandkostenpauschale eintragen
Über den Button Versandart hinzufügen lege ich jetzt noch Kostenlose Lieferung an, der Mindestbestellwert liegt bei 50 Euro.
Bild 4: Kostenlose Lieferung festlegen
Wer in seinem Shop häufig mit Gutscheincodes hantiert, sollte in dem Feld Kostenloser Versand erfordert … statt Einen Mindestbestellwert den Wert Einen Mindestbestellwert ODER bzw. UND einen Gutschein auswählen.
Nun sind beide Versandarten im Shop festgelegt.
Bild 5: Warenkorb mit Versandkostenpauschale bei Einkaufswert von unter 50 Euro
Wenn ich jetzt in meinen Shop gehe und einen Warenwert von unter 50 Euro in den Warenkorbe lege, wird mir folgendes angezeigt:
Es wird auf eine Bestellung mit dem Wert 39,00 Euro eine Versandkostenpauschale 3,50 Euro mit 0,67 Euro MWSt. berechnet. Also genau so, wie es sein soll (siehe Bild 5).
Nun erhöhe ich den Warenkorb, damit er über 50 Euro Bestellwert liegt und keine Versandkosten anfallen sollen.
Bild 6: Trotz der Festlegung, dass ab 50 Euro Bestellwert versandkostenfrei geliefert wird, zeigt die Warenkorb-Summe neben Kostenlose Lieferung auch Versandkostenpauschale an.
Und nun passiert das, was nicht sein soll. Es wird einmal die Versandkostenpauschale (aktiv geschaltet) angezeigt und einmal die kostenlose Lieferung, d. h. der Kunde hat die Wahlmöglichkeit zwischen Versandkosten und kostenlosem Versand, was nicht sein soll, denn schließlich wird ihm ab einem bestimmten Bestellbetrag versandkostenfreie Lieferung versprochen.
Das ist aus meiner Sicht eine Schwachstelle bei WooCommerce: Wird versandkostenfrei neben Versandkostenpauschale in einer Versandzone festgelegt, wird beim Überschreiten des versandkostenpflichtigen Betrages immer auch die Versandkostenpauschale zusammen mit der kostenlosen Lieferung angezeigt.
Um diese Anzeige auszuschließen, benötigst du einen Code-Schnipsel, den du in die functions.php deines WordPress-Themes einfügen musst.
Hier ist der Code-Schnipsel:
// Alle anderen Lieferkosten ausblenden, wenn ein kostenloser Versand möglich ist
function my_hide_shipping_when_free_is_available( $rates ) {
$free = array();
foreach ( $rates as $rate_id => $rate ) {
if ( 'free_shipping' === $rate->method_id ) {
$free[ $rate_id ] = $rate;
break;
}
}
return ! empty( $free ) ? $free : $rates;
}
add_filter( 'woocommerce_package_rates', 'my_hide_shipping_when_free_is_available', 100 );
Wo findest du die functions.php?
Diese Datei kannst du unter Design -> Editor öffnen. In der rechten Spalte sind einige Theme-Dateien aufgeführt, die Datei müsste ganz schlicht functions.php oder functions plus Theme-Name heißen, wie an meinem Beispiel functions-enfold.php.
Den Code kopierst du einfach ans Ende der functions.php. Aber aufpassen, dass auch wirklich alles vollständig eingefügt wurde, sonst kommt es zu Fehlermeldungen. Die Änderungen solltest du abspeichern.
Bild 7: functions-enfold.php in meinem Beispiel (zum Vergrößern Bild anklicken)
Der Nachteil der direkten Einbindung ist der, dass bei jedem Theme-Update der Code wieder überschrieben und damit gelöscht wird.
Das Problem löst du entweder mit einem Child-Theme (dazu gibt es einige Anleitungen im Internet) oder mit dem Plugin My Custom Functions.
Ich selbst habe dieses Plugin für diesen Beitrag getestet und es hat funktioniert.
Wenn du das Plugin installiert und aktiviert hast, findest du unter Einstellungen den Punkt PHP Inserter vor. Darüber gelangst du zum Plugin und seiner Oberfläche.
Dort gibst du dann den oben aufgeführten Code-Schnipsel ein und schaltest das Plugin auf ON, erst jetzt wird es funktionieren.
Bild 8: Code-Schnipsel im Plugin My Custom Functions
Testest du jetzt den Warenkorb mit einem Mindestbestellbetrag von 50 Euro oder darüber, steht im Feld Versand bei der Warenkorb-Summe nur Kostenlose Lieferung, so wie es sein soll.
Bild 9: Nach Integration des Code-Schnipsels wird nur noch Kostenlose Lieferung ab dem festgelegten Bestellwert angezeigt.
Fazit
Ich hoffe, ich konnte mit dieser Erläuterung einige Ungereimtheiten bei der Einrichtung von kostenlosem Versand ab einem bestimmten Bestellwert ausräumen.
Ich würde mich freuen, wenn WooCommerce in einer der nächsten Versionen eine einfachere Lösung parat hätte. Dass dies umgesetzt wird, ist allerdings zu bezweifeln.
Willst du noch mehr über WooCommerce erfahren?
- WooCommerce Grundeinstellungen
- Produktverwaltung in WooCommerce
- Mehrwertsteuer und Steuerklassen in WooCommerce
- WooCommerce: Kasse, Bestellvorgang und Bezahloptionen
- PayPal im WooCommerce-Shop einrichten
- Versand, Versandarten und Versandklassen in WooCommerce
- E-Mail-Versand in WooCommerce
- Gutscheine in WooCommerce anlegen und verwalten
- Bestellungen in WooCommerce verwalten
- Einfache Produkte im WooCommerce-Shop anlegen
- Variable Produkte in WooCommerce anlegen
- Gruppierte und Affiliate-Produkte in WooCommerce anlegen
- German Market für WooCommerce: Einstellungen
- Neue Versandeinstellungen in WooCommerce ab Version 2.6
(Bildquelle Artikelanfang: © ROMIXIMAGE/Canva.com)