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.
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.
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:
| Artikel | Nettopreis | MwSt. (19 %) | Bruttopreis |
|---|---|---|---|
| Produkt A | 1,99 € | 0,38 € | 2,37 € |
| Produkt B | 2,99 € | 0,57 € | 3,56 € |
| Produkt C | 3,99 € | 0,76 € | 4,75 € |
| Gesamt | 8,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.
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:
| Artikel | Nettopreis | MwSt. (19 %) | Bruttopreis |
|---|---|---|---|
| Produkt A | 1,99 € | ||
| Produkt B | 2,99 € | ||
| Produkt C | 3,99 € | ||
| Gesamt | 8,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 €.
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.
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:
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.