Das Problem: Wenn der Preis plötzlich zu niedrig ist
Haben Sie in Ihrem Shopware 6 Shop schon einmal folgendes Phänomen beobachtet? Ein Kunde aus einem Drittland (z. B. der Schweiz) registriert sich. Eigentlich erwarten Sie, dass er den korrekten Nettopreis zahlt. Stattdessen zeigt der Shop einen Preis an, der viel zu niedrig ist – so als ob die Mehrwertsteuer doppelt abgezogen wurde.
Ein Rechenbeispiel aus der Praxis:
- Brutto-Preis des Artikels: 15,35 €
- Erwarteter Netto-Preis (bei 19% MwSt.): 12,90 €
- Angezeigter Preis im Warenkorb: 10,84 € ❌
Woher kommen diese 10,84 €? Shopware nimmt den rechnerischen Nettopreis (12,90 €) und zieht – aufgrund einer Fehlkonfiguration – fälschlicherweise noch einmal 19% ab. In diesem Artikel zeige ich Ihnen, wie Sie diesen Fehler in wenigen Minuten beheben und eine saubere Steuerlogik für Drittländer aufbauen.
Die Ursache: Der Konflikt zwischen „Steuerfrei“ und „Brutto“
Das Problem entsteht durch eine unglückliche Kombination von Einstellungen. Wenn Sie in den Ländereinstellungen für die Schweiz den Haken bei „Steuerfrei“ gesetzt haben, die Kundengruppe des Kunden aber weiterhin auf „Brutto-Anzeige“ steht, versucht Shopware, aus dem bereits steuerfreien Preis die Steuer herauszurechnen.
Die Lösung besteht nicht darin, im Core-Code zu basteln, sondern die Shop-Logik an die Buchhaltung anzupassen: Schweizer Kunden müssen Netto-Preise sehen.
Schritt-für-Schritt Anleitung zur Lösung
1. Eigene Kundengruppe für Drittländer anlegen
Damit Shopware weiß, dass hier nicht gerechnet werden muss, benötigen wir eine „Netto-Gruppe“.
- Gehen Sie zu Einstellungen > Kundengruppen.
- Erstellen Sie eine neue Gruppe, z. B. „Drittland / Schweiz“.
- Wichtig: Stellen Sie die „Steuerdarstellung“ auf Netto.
- Deaktivieren Sie den Schalter „Bruttopreise im Storefront“.
2. Automatisierung via Flow Builder einrichten
Niemand möchte Kunden manuell verschieben. Wir nutzen den Flow Builder, um Kunden aus der Schweiz (und anderen Drittländern) automatisch bei der Registrierung in die neue Gruppe zu sortieren.
- Erstellen Sie im Rule Builder eine Regel „Kunde aus Schweiz“ (Bedingung: Lieferadresse / Land ist eines von Schweiz).
- Erstellen Sie im Flow Builder einen neuen Flow.
- Trigger:
checkout.customer.register(Kunde hat sich registriert). - Bedingung (IF): Regel „Kunde aus Schweiz“ ist wahr.
- Aktion (THEN): Kundengruppe ändern zu „Drittland / Schweiz“.
3. Der Geheimtipp: Ländereinstellungen korrigieren
Dies ist der Schritt, den die meisten übersehen. Obwohl die Schweiz steuerfrei ist, müssen wir den pauschalen Abzug deaktivieren, da unsere Kundengruppe jetzt bereits Netto-Preise liefert.
- Gehen Sie zu Einstellungen > Länder > Schweiz.
- Suchen Sie den Schalter Steuerfrei (B2C).
- Schalten Sie diesen AUS.
Wenn Sie dies nicht tun, zieht Shopware trotz Netto-Gruppe weiterhin Steuer ab. Schalten Sie ihn aus, zeigt der Shop korrekt 12,90 € an.
4. Steuer auf 0% setzen
Nach Schritt 3 würde Shopware nun versuchen, deutsche 19% auf den Nettopreis aufzuschlagen. Um das zu verhindern und buchhalterisch sauber zu bleiben (Steuerausweis 0,00 €):
- Gehen Sie zu Einstellungen > Steuern > Standard-Satz.
- Fügen Sie eine Steuerregel hinzu.
- Land: Schweiz, Steuersatz: 0.
Fazit
Mit dieser Konfiguration haben Sie eine absolut saubere Lösung geschaffen. Der Kunde sieht echte Nettopreise, die Rechnung weist 0% MwSt. aus und Sie vermeiden teure Abmahnungen oder Verluste durch zu niedrige Preise.