Analyse Shop-Management

Magento 2 Steuerkonfiguration: Tax Classes, Tax Rules und Import im Praxis-Guide

7 Prozent statt 19. Wer in einem Magento-Shop Lebensmittel und Zubehör über dieselbe Steuerregel laufen lässt, hat das Problem erst dann auf dem Schirm, wenn die Buchhaltung Stunden in die Rekonstruktion einzelner Bestellungen steckt. Die Steuerkonfiguration in Adobe Commerce und Magento Open Source ist mächtig genug für internationale Setups mit OSS-Meldepflicht. Sie ist aber auch fehleranfällig genug, dass falsche Einstellungen monatelang unbemerkt mitlaufen. Und der Schaden summiert sich leise.

Das folgende Vorgehen beschreibt die komplette Magento 2 Steuerkonfiguration: Tax Classes anlegen, Tax Zones und Rates definieren, Tax Rules verknüpfen, per CSV importieren und exportieren. Alles über das Admin-Panel, ohne eine Zeile Code.

Warum ist die Steuerlogik in Magento 2 anders als gedacht?

Magento trennt das Steuerproblem in drei Schichten. Tax Classes klassifizieren Produkte und Kunden. Tax Rates hinterlegen den Prozentsatz pro Region. Tax Rules verbinden beides und entscheiden im Checkout, welcher Satz greift.

Die Konsequenz: Ein Produkt erbt seinen Steuersatz nicht direkt, sondern über eine Regelkette. Wer das Prinzip nicht verinnerlicht, konfiguriert an drei Stellen parallel und wundert sich über widersprüchliche Preise im Warenkorb.

Genau dort passiert der klassische Fehler deutscher Händler. Der Shop läuft seit Monaten, alles scheint korrekt. Dann kommt ein Kunde aus Österreich, und plötzlich rechnet der Checkout mit dem deutschen Satz, weil die Tax Rule für AT schlicht fehlt.

Kernsatz: In Magento 2 bestimmt nie das Produkt allein die Steuer, sondern die Kombination aus Produkt-Tax-Class, Kunden-Tax-Class und der Region der Lieferadresse.

Schritt 1: Tax Classes sauber anlegen

Unter Stores → Tax Rules → Tax Classes unterscheidet Magento drei Typen: Produkt-, Kunden- und Versand-Tax-Classes. Für den deutschen Markt brauchen Sie mindestens zwei Produktklassen: „Steuer 19%“ für reguläre Artikel und „Steuer 7%“ für Bücher, Lebensmittel und Zeitschriften. Digitaler Content wie E-Books fällt seit dem B2C-Digitalpaket ebenfalls unter den ermäßigten Satz, verlangt aber eine eigene Klasse, sobald Sie EU-weit verkaufen.

Die Kunden-Tax-Class entscheidet über B2B-Logik. Legen Sie neben „Retail Customer“ eine Klasse „B2B gültige USt-IdNr“ an. Dann lässt sich steuerfreie innergemeinschaftliche Lieferung abbilden, ohne nachträglich Gutschriften zu basteln.

Kritisch ist die Versand-Tax-Class. Deutsche Umsatzsteuer folgt dem Prinzip: Die Versandkosten teilen das Schicksal der Ware. Mischt ein Warenkorb 7- und 19-Prozent-Artikel, berechnet Magento die Versandsteuer standardmäßig anteilig. Das ist korrekt, überrascht aber viele Shop-Betreiber, die einen pauschalen Satz erwarten.

Schritt 2: Tax Zones und Rates für den DACH-Raum

Unter Stores → Tax Zones and Rates legen Sie pro Land und Satz einen Eintrag an: Deutschland 19%, Deutschland 7%, Österreich 20%, Österreich 10%, Schweiz 8,1% (seit Januar 2024, zuvor 7,7%). Jedes Rate bekommt einen sprechenden Identifier wie DE-Standard-19 — das zahlt sich beim CSV-Import aus, weil Sie später gezielt filtern können.

Für Bundesstaaten-Logik à la USA brauchen DACH-Händler nichts. Das Feld „State“ bleibt leer. Haken setzen bei „Zip/Post is Range“ nur, wenn Sie regionale Sonderfälle abbilden müssen, etwa Büsingen oder Helgoland mit Sonderstatus. Die meisten Shops ignorieren das zu Recht.

Wie funktioniert der CSV-Import von Steuersätzen?

Bei ein paar Dutzend Sätzen ist Handarbeit tragbar. Verkaufen Sie EU-weit über die One-Stop-Shop-Regelung und hinterlegen für 27 Mitgliedstaaten je zwei Sätze, wird Klicken zur Fehlerquelle. Magento bietet unter System → Data Transfer → Import/Export Tax Rates einen CSV-Weg.

Die Datei folgt einem starren Schema mit den Spalten Code, Country, State, Zip/Post Code, Rate, Zip/Post is Range und den Range-Feldern. Drei Fallstricke sehe ich in der Praxis immer wieder:

  • Falsche Dezimalschreibweise. Die CSV erwartet den Punkt als Dezimaltrennzeichen. „19,5“ aus einer deutschen Excel-Tabelle zerlegt den Import oder erzeugt stillschweigend den Satz 195.
  • Encoding. Die Datei muss UTF-8 ohne BOM sein, sonst scheitern Codes mit Umlauten oder der Import bricht ohne verwertbare Fehlermeldung ab.
  • Duplikate. Magento dedupliziert nicht. Doppelter Import legt Rates doppelt an, und Tax Rules greifen dann ins Leere oder auf veraltete Sätze.

Der Export derselben Funktion liefert übrigens die beste Vorlage: Exportieren Sie die bestehenden Rates, ergänzen Sie Zeilen, importieren Sie zurück. So stimmen Spalten und Format garantiert.

Kernsatz: Der Tax-Rate-Import ersetzt keine Buchhaltung. Welche Sätze in welchem Land gelten, klärt der Steuerberater — Magento rechnet nur, was Sie ihm sagen.

Schritt 3: Tax Rules — wo die eigentliche Logik steckt

Unter Stores → Tax Rules verknüpfen Sie jetzt alles: Kunden-Tax-Class + Produkt-Tax-Class + Tax Rate. Eine Regel „DE-Retail-Standard“ kombiniert die Kundenklasse Retail, die Produktklasse 19% und das Rate DE-19.

Beachten Sie die Prioritäten. Mehrere Rules mit derselben Priorität addieren sich, unterschiedliche Prioritäten bilden eine Abfolge. Für einfache DACH-Setups ist die Addition ohnehin der Normalfall. Komplex wird es erst mit kumulierenden Steuern wie kanadischem GST/PST, wo die Reihenfolge das Ergebnis verändert.

Der Praxis-Test nach jedem Setup: Legen Sie Testkunden mit Adressen in DE, AT und CH an, mischen Sie einen 7%-Artikel mit einem 19%-Artikel im Warenkorb und prüfen Sie die Aufschlüsselung im Checkout. Fünf Minuten Arbeit, die Wochen an Korrekturaufwand ersparen.

Welche Einstellungen entscheiden über die Preisanzeige?

Die Rules allein rechnen korrekt, aber erst Stores → Configuration → Sales → Tax bestimmt, was der Kunde sieht. Deutsche B2C-Shops müssen Preise inklusive Steuer ausweisen, das verlangt die Preisangabenverordnung. Also: „Catalog Prices: Including Tax“ und „Display Product Prices in Catalog: Including Tax“.

Die Steuerberechnungsbasis legen Sie auf „Shipping Address“, nicht auf den Store-Ursprung. Seit der EU-OSS-Reform 2021 gilt ohnehin: Für Fernverkäufe zählt der Satz des Ziellandes, sobald die 10.000-Euro-Schwelle überschritten ist. Magento kann das mit den korrekt angelegten Rates nativ abbilden.

B2B-Händler, die Nettopreise zeigen, verstellen „Catalog Prices“ auf „Excluding Tax“ — und erleben dann regelmäßig Rundungsdifferenzen von einem Cent im Warenkorb. Magento rundet auf Einzelartikelebene, die meisten Warenwirtschaftssysteme auf Belegebene. Wer beide Welten synchronisieren muss, testet das VOR dem Go-live, nicht danach.

Die Steuerkonfiguration ist der Teil eines Magento-Setups, der nie Aufmerksamkeit bekommt — bis er es tut. Dann ist es teuer.

Mein Rat an Betreiber: Dokumentieren Sie Ihr Steuer-Setup wie Code. Welche Classes, welche Rules, welche Rates — ein einseitiges internes Dokument, aktualisiert bei jeder Änderung. Denn die nächste Änderung kommt garantiert: neue OSS-Grenzen, ein Satzwechsel wie in der Schweiz 2024, ein neuer Markt. Wer dann raten muss, was die Regel „EU-Standard-2“ vor zwei Jahren mal bedeutete, hat schon verloren. Wer das Setup sauber nachvollziehen kann, erweitert es in einer Stunde.