Shopware: Individuelle Versandkosten

Shopware hat ein mächtiges Versandkosten-Modul, in dessen Berechnung man ganz gezielt eingreifen kann. Wir wollen in unserem Fall folgendes Szenario realisieren: Die Versandkosten pro Artikel werden zunächst nach dem Gewicht des Artikels bestimmt (die Gewichtsgrenzen sind dabei vorgegeben). Nur für spezielle Ausnahmen sollen stattdessen pro Artikel feste Versandkosten individuell festlegbar sein.


Dabei sieht die Versandkostentabelle wie folgt aus:

Gewicht vonGewicht bisPreis
0 kg< 3 kg4,99 €
3 kg< 5 kg6,90 €
5 kg< 10 kg9,50 €
10 kg< 15 kg10,90 €
15 kg< 20 kg12,90 €
20 kg< 31 kg17,90 €
31 kg< 40 kg49,90 €
ab 40 kg 49,90 € Grundpreis + 0,59 € je kg

Zunächst könnte man auf die Idee kommen, im Feld "Versandkosten-Berechnung nach:" den Wert "Gewicht" zu wählen und unterhalb die entsprechenden Grenzen einzutragen:

Shopware: Individuelle Versandkosten

Hier hat man gleich mehrere Probleme: Die Realisierung der Regel "ab 40 kg: 49,90 € Grundpreis + 0,59 € je kg" nicht einfach umsetzbar, Werte wie 2.999 sind nicht genau und fehlt die Möglichkeit der individuellen Vergabe von Versandkosten pro Artikel. Um dies zu ermöglichen, legen wir zunächst unter Einstellungen > Artikel > Artikel-Freitextfelder ein neues Freitextfeld (z.B. "attr5") an:

Shopware: Individuelle Versandkosten

Dieses Feld befüllen wir nun mit dem Wert in Euro bei allen Artikel, die individuelle Versandkosten haben sollen. Dabei verwendet man für Dezimalzahlen Punkt statt Komma:

Shopware: Individuelle Versandkosten

Schließlich legen wir noch eine neue Versandart mit den wichtigen Einstellungen "Versandkosten-Berechnung nach: Eigene Berechnung" sowie "Faktor (%): 100" an:

Shopware: Individuelle Versandkosten

Unter "Erweiterte Einstellungen" hinterlegen wir unter "Eigene Berechnung" schließlich unsere neue Berechnungsfunktion:

a359cdf87765551f0706

Diese Funktion nimmt pro Artikel jeweils das Gewicht und berechnet den Preis. Drei Artikel mit einem Gewicht von 2,5 kg schlagen demnach mit 14,97€ zu Buche. Will man stattdessen die Berechnung anhand des Gesamtgewichts (mit dem Ergebnis 9,50€) durchführen, ändert man die Berechnungsfunktion nur minimal ab:

a359cdf87765551f0706

Zurück