Wie du in WooCommerce versandkostenfrei ab einem bestimmten Betrag richtig einstellst

Einige Anfragen von Bloglesern und -leserinnen kommen regelmäßig zu der Problematik, wie ein kostenfreier Versand ab einem bestimmten Bestellbetrag in WooCommerce umgesetzt wird.


Werbung*

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.

Lesen  Plugin WooCommerce Germanized: Den Online-Shop rechtssicher machen

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.

Lesen  WooCommerce Leitfaden: Teil 10 - Einfache Produkte anlegen

Um diese Anzeige auszuschließen, benötigst du einen Code-Schnipsel, den du in die functions.php deines WordPress-Themes einfügen musst.

Dieser Schnipsel sieht so aus:

In die Zwischenablage kopieren

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.

Functions.php

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.

Lesen  Woocommerce Leitfaden: Teil 5 - PayPal als Zahlungsart im Shop einrichten

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?

11 Kommentare

  1. Franz Meyer 4. Juli 2018 um 15:30 Uhr

    Vielen Dank für diesen tollen Artikel!!!
    Zu den Versandkosten habe ich noch eine Frage: Die Versandkosten sind also steuerbar.
    Wenn bei mir die Versandkosten 3,95 Betragen und ich dann besteuerbar Auswähle, dann erscheint dann später eine Versandkostenpauschale von 4,70 Euro.
    Muss ich dann also meine Versandkosten so wählen, dass inklusive der Mehrwertsteuer ein Wert von 3,95 herauskommt. Als Versandkosten gebe ich dann 3,95 geteilt durch 1,19 an bzw. das, was bei dieser Rechnung herauskommen.
    Oder wie?

  2. Susanne Braun 5. Juli 2018 um 08:03 Uhr

    Hallo Herr Meyer,

    was die MWSt. in den Versandkosten angeht, da habe ich vergessen, einen Hinweis in dem Artikel einzufügen. Das hole ich noch nach.
    Wenn Sie als Kleinunternehmer tätig sind und keine Umsatzsteuer berechnen, brauchen Sie auch auf die Versandkosten keine Umsatzsteuer zu berechnen.

    Falls doch, geben Sie in das Feld bei Versandkosten den Nettowert an: Bei Brutto-Versandkosten von 3,95 Euro wären das netto 3,32 Euro.

  3. Franz Meyer 5. Juli 2018 um 16:05 Uhr

    Recht herzlichen Dank für Ihre Antwort!

  4. Geza Holzinger 24. September 2018 um 19:15 Uhr

    Hallo Susanne,
    es ist toll, aber meine Kunde möchte die Ware bis zu 100 Euro kostenlos Liefern und danach muss bezahlen 6,00 € Versandkosten.
    Was kann ich zu tun?

  5. Susanne Braun 25. September 2018 um 07:55 Uhr

    Oh, da fällt mir spontan auch keine Lösung ein. Da müsste wohl ein Versandplugin wie https://de.wordpress.org/plugins/flexible-shipping/ installiert werden. Ob das genannte Plugin DIE Lösung bietet, weiß ich nicht. Jedenfalls muss eine Formel erstellt werden können, dass ab einem Bestellwert von 100 Euro 6 Euro Versandkosten anfallen.

  6. Miriam 18. Oktober 2018 um 10:26 Uhr

    Hallo, das war schonmal super! Jetzt habe ich aber noch eine Frage: In unserem Shop soll für die meisten Produkte ab 150€ Bestellwert kein Versand anfallen, nur für eine Kategorie (die auf Palette verschickt wird) fällt immer Versand an. Kann man Artikel vom versandkostenfreien Versand ausnehmen?

  7. Susanne Braun 18. Oktober 2018 um 13:02 Uhr

    Hallo Miriam,

    das geht. Du erstellst für die speziellen Produkte eine eigene Versandklasse, die du ihnen in den Produktdetailseiten zuordnen kannst. Die Versandklasse kannst du in den Versandeinstellungen anlegen.

  8. Gisela Hirte 5. Dezember 2018 um 00:48 Uhr

    Hallo Susanne,
    erst mal lieben Dank für den tollen Artikel.
    Hat soweit ganz toll geholfen.
    Ich habe ein Problem mit versandkostenfreien Produkten und Produkten mit Versand gleichzeitig im Warenkorb.
    Sobald versandkostenfreie Produkte im Warenkorb sind, zeigt Woocommerce nur noch versanskostenfreie Lieferung an. Auch wenn Produkte mit Versandkosten enthalten sind und die Berechnungsart auf „pro Klasse“ eingestellt ist.
    Versandzonen habe ich schon erstellt und zugeordnet, das klappt aber nicht.
    Geht das überhaupt mit den Einstellungen in Woocommerce, ohne ein zusätzliches Plugin?

    Lieben Dank im Voraus für eine Antwort.
    Grüße sendet Gisela

  9. Susanne Braun 5. Dezember 2018 um 13:22 Uhr

    Hallo Gisela,

    die Zuordnung mit Versandzonen funktioniert nicht, das ist klar. Aber auch das Einfügen des Code-Snippets (wie in dem Artikel beschrieben) funktioniert auch nicht?

  10. Linda 22. Dezember 2018 um 20:39 Uhr

    Erst einmal vielen Dank für die vielen Infos. Ich habe gerade Ihren Code-Schnipsel verbaut. Das hat schon einmal mein Problem gelöst – toll! Jedoch wird jetzt die Möglichkeit „Abholen vor Ort“ nicht mehr angezeigt, wenn „Versandkostenfrei“ greift. Gibt es eine Möglichkeit, den Code dahingehend zu ändern?

    Herzliche Grüße,
    Linda

  11. Susanne Braun 24. Dezember 2018 um 09:01 Uhr

    Hallo Linda,

    stimmt, das ist mir jetzt auch aufgefallen, dass dann Abholen vor Ort wegfällt. Ich schaue nach, wie der Code umgeändert werden muss.

Schreibe einen Kommentar.