Berechnung des Warenkorbes

Einleitung

Das Herzstück eines Shops ist der Warenkorb. Eine nachvollziehbare und korrekte Berechnung der Summen, Positionen und Mehrwertsteuern ist essentiell um das Vertrauen der Kunden in den Shop nicht zu stören. Aus diesem Grund soll dieser Artikel einmal über die Berechnungsgrundlage des Warenkorbes aufklären und Dir Möglichkeiten an die Hand geben, mit denen Du die Berechnung selbst überprüfen kannst. Neben zahlreichen Grundfunktionen von Shopware wie Preisgruppen, Ab- und Aufschläge, Versandkosten, Gutscheine und Promotionen, gibt es natürlich auch unzählige Plugins die sich in die Berechnung des Warenkorbes einhängen. Somit ist es wichtig, dass Du Dir auch ein Bild davon machst, welche Erweiterungen die Berechnung eventuell beeinflussen und welche Auswirkungen dies haben kann.

Grundlagen

In Deutschland gibt es zwei valide Methoden zur Berechnung der Mehrwertsteuer. Das vertikale und das horizontale Verfahren. Shopware verwendet das vertikale Verfahren, hier wird auf Positionsebene die enthaltene Mehrwertsteuer errechnet, gerundet und abschließend zusammenaddiert. Im Gegensatz dazu wird beim horizontalen Verfahren zunächst die Summe der enthaltenen Mehrwertsteuer gebildet und anschließend gerundet. Die Verwendung des vertikalen Verfahrens ermöglicht das Ausweisen der enthaltenen Mehrwertsteuer pro Position auf der /checkout/confirm-Seite. Dies ist beim horizontalen Verfahren nicht möglich.

Shopware zeigt zudem an allen Stellen des Frontends zwei Nachkommastellen. Damit deine Kunden die Berechnung stets nachvollziehen können, wird auch immer mit dem auf 2-Stellen gerundeten Wert gerechnet.

Berechnungsbeispiele

Horizontale Berechnung

Definition:
Die Mehrwertsteuer wird für jede Position einzeln berechnet – also Artikelpreis × Menge, daraus die Steuer, dann gerundet. Am Ende werden alle Steuerbeträge summiert.

 

Typisches Verhalten:

  • Pro Position erfolgt eine eigene Steuerberechnung

  • Rundung findet auf Positionsebene statt

  • Besonders relevant bei mehreren Mengen desselben Artikels oder vielen Einzelpositionen

Beispiel: 

ArtikelNettopreisMwSt. (19 %)Bruttopreis
Produkt A1,99 €0,38 €2,37 €
Produkt B2,99 €0,57 €3,56 €
Produkt C3,99 €0,76 €4,75 €
Gesamt8,97 €1,71 €10,68 €

In diesem Beispiel wird für jede Position zunächst die Steuer einzeln berechnet (Beispiel: Produkt A: 1,99 € x 19% = 0,38 € MwSt.). Zum Schluss werden alle getrennt berechneten Steuern zusammenaddiert.

 

Vertikale Berechnung

Definition:
Die Mehrwertsteuer wird erst nach Addition aller Netto-Positionen berechnet. Anschließend wird auf den Gesamtbetrag die Steuer angewendet und einmalig gerundet.

 

Typisches Verhalten:

  • Steuerberechnung erfolgt auf Gesamtebene

  • Rundung findet nur einmal am Ende statt

  • Ideal für glatte Beträge oder Rechnungsdarstellung nach Gesamtwert

Beispiel:

ArtikelNettopreisMwSt. (19 %)Bruttopreis
Produkt A1,99 €  
Produkt B2,99 €  
Produkt C3,99 €  
Gesamt8,97 €1,70 €10,67 €

In diesem Beispiel wird auf Positionsebene keine Steuer berechnet. Stattdessen geschieht die Berechnung auf Basis des Netto-Gesamtbetrags: 8,97 € x 19% = 1,70 € MwSt.

Im Vergleich zur horizontalen Steuerberechnung gibt es einen Unterschied durch Rundung von 0,01 €.

Erklärung

Bei der vertikalen Berechnung wird die Nettosumme pro Steuersatz für die gesamte Rechnung ermittelt und daraus die Mehrwertsteuersumme berechnet Bei der horizontalen Berechnung wird für jede einzelne Artikelzeile die Mehrwertsteuer unter Berücksichtigung der des jeweiligen Steuersatz berechnet. Beide Verfahren zur Berechnung sind gesetzlich zulässig, können aber bei Nachkommastellen zu Rundungsdifferenzen führen.

Debugging

Shopware hat keine zentrale Stelle zur Berechnung des Warenkorbes. Die Berechnungen im Front- und Backend sind grundsätzlich voneinander getrennt. Daher solltest Du immer den kompletten Weg in deinem Shop nachvollziehen, wenn Du hier einen Fehler vermutest. Am besten gehst Du wie folgt vor, wenn sich ein Kunde bei Dir meldet:

  • Warenkorb im Frontend nachstellen
  • Screenshot der Bestellabschlussseite anfertigen (/checkout/finish)
  • Summen in der Bestellübersicht mit dem Screenshot vergleichen
  • Summen in der PDF-Rechnung mit dem Screenshot vergleichen
  • Errechneten Warenkorb mit Excel-Tabelle überprüfen

Sollte sich hier ein Problem bestätigen, solltest Du zunächst prüfen, ob eines der eingesetzten Plugins in die Berechnung des Warenkorbes eingreift. Hierzu kannst Du den Sicherheitsmodus nutzen oder einen Testshop aufsetzen, der keine Plugins einsetzt.

War dieser Artikel hilfreich?