Zuletzt geprüft im Juni 2026. Die unten genannten Backoffice-Pfade und Konfigurationsschlüssel gelten für PrestaShop 1.7, 8 und 9 (Bezeichnungen unterscheiden sich je nach Version leicht). Steuersätze und Rundungsregeln sind landesspezifisch und ändern sich — klären Sie die aktuell geltenden Anforderungen für das Land, aus dem Sie Rechnungen stellen, mit Ihrem Steuerberater, statt einen hier genannten Satz als dauerhaft feststehend zu behandeln.
Steuern gehören zu den PrestaShop-Einstellungen, bei denen sich ein stiller Fehler monatelang aufsummiert, bevor ihn jemand bemerkt. Ein Produkt, das der falschen Steuerregelgruppe zugewiesen ist, wird ohne Steuer verkauft; ein fehlendes Land in einer Gruppe berechnet allen Kunden aus diesem Land 0%; ein Rundungsmodus, der nicht zu den Vorgaben Ihres Steuerberaters passt, erzeugt Rechnungen, die um einen Cent abweichen — genau so, dass Prüfer es bemerken. Nichts davon löst eine Fehlermeldung aus. Der Warenkorb lässt sich abschließen, die Bestellung wird bestätigt, und die Lücke fällt erst auf, wenn Sie die Umsatzsteuer zum Quartalsende abstimmen — oder wenn die Finanzbehörde es für Sie tut.
In diesem Leitfaden geht es um die Mechanik: wie die Steuer-Engine von PrestaShop tatsächlich aufgebaut ist, welche Backoffice-Pfade und Konfigurationsschlüssel relevant sind und wie Sie zielortbasierte EU-Mehrwertsteuer so verdrahten, dass sie zuverlässig funktioniert und danach im Hintergrund verschwindet. Die rechtliche Seite — wann Sie sich für OSS registrieren müssen, wie die 10.000-Euro-Schwelle funktioniert, welche Nachweise Sie aufbewahren müssen — ist ein eigenes Thema; wir behandeln es in Umsatzsteuer in der EU: OSS, IOSS und was Ihr Shop leisten muss. Hier setzen wir voraus, dass Sie bereits wissen, welchen Steuersatz Sie berechnen müssen, und PrestaShop ihn jedes Mal korrekt anwenden soll.
Wie PrestaShop Steuern abbildet: drei Ebenen, nicht eine
Das Wichtigste, bevor Sie etwas anfassen: PrestaShop hat keinen einzelnen „Steuersatz“, den Sie direkt am Produkt eintragen. Es gibt drei verschachtelte Objekte, und ein Produkt verweist auf das oberste davon.
| Ebene | Was es ist | Backoffice-Bereich | Klasse |
|---|---|---|---|
| Steuer | Ein einzelner benannter Satz — „DE Standard 19%“, „FR ermäßigt 5,5%“. Im Kern eine Zahl mit Bezeichnung und Aktiv-Status. | International → Steuern | Tax |
| Steuerregel | Eine Zeile, die sagt: „Für dieses Land (optional diesen Bundesstaat/Postleitzahlenbereich) gilt diese Steuer“. Die Verbindung zwischen einem Satz und einem Ort. | Im Editor einer Gruppe | TaxRule |
| Steuerregelgruppe | Ein benanntes Bündel aus Steuerregeln — „EU-Standardsteuersätze“, „EU ermäßigt (Bücher)“. Darauf verweisen Produkt, Versanddienst oder Geschenkverpackung tatsächlich. | International → Steuern → Steuerregeln | TaxRulesGroup |
Was bringt Ihnen das? Sie definieren jeden Ländersatz einmal als Steuer und bauen anschließend Gruppen, die diese Sätze wiederverwenden. Ein Produkt nennt nie ein Land — es nennt eine Gruppe, und die Gruppe entscheidet anhand der Lieferadresse des Kunden zum Berechnungszeitpunkt über den Satz. Ändern Sie Deutschlands Satz einmal auf Steuer-Ebene, werden alle Gruppen aktualisiert, die darauf verweisen. Genau diese Indirektion macht eine EU-Konfiguration mit 27 Ländern wartbar, statt sie zu einer Tabelle zu machen, die Sie von Hand pflegen.
Wenn eine Bestellung aufgegeben wird, löst PrestaShop den Satz über die Lieferadresse gegen die Gruppe des Produkts auf — die TaxManagerFactory übergibt die Arbeit an den TaxRulesTaxManager, der Land (und, wo relevant, Bundesstaat/Postleitzahl) der Adresse mit einer TaxRule abgleicht und den daraus resultierenden Satz an einen TaxCalculator weitergibt. Sie rufen diese Kette nie direkt auf, aber wenn Sie sie kennen, debuggen Sie ein Ticket vom Typ „Warum ist diese Bestellung unversteuert?“ in zwei Minuten statt in zwei Stunden.
Die EU-Konfiguration Schritt für Schritt aufbauen

Schritt 1 — Legen Sie eine Steuer pro tatsächlich berechnetem Satz an
Gehen Sie zu International → Steuern und fügen Sie für jeden Standardsatz, den Sie einziehen, eine Steuer hinzu. Ein Shop, der normal besteuerte physische Waren EU-weit versendet, benötigt alle 27 Standardsätze der Mitgliedstaaten. Benennen Sie sie so, dass ein Mensch die Liste schnell erfassen kann: DE Standard 19%, FR Standard 20%, PL Standard 23% und so weiter. Wenn Sie Waren verkaufen, die für einen ermäßigten Satz infrage kommen (Bücher, Lebensmittel, bestimmte Medizinprodukte), legen Sie auch dafür separate Steuern an — FR ermäßigt 5,5%, DE ermäßigt 7% — denn ermäßigte Sätze hängen an bestimmten Produktkategorien und unterscheiden sich von Land zu Land.
Der Schalter „Aktivieren“ bei einer Steuer ist wichtig: Eine deaktivierte Steuer bleibt in der Datenbank (damit historische Bestellungen ihren korrekten Satz behalten), erscheint aber nicht mehr im Auswahlfeld, wenn Sie Regeln erstellen. So nehmen Sie einen abgelaufenen temporären Satz außer Betrieb, ohne alte Rechnungen zu verfälschen.
Schritt 2 — Stellen Sie je Produktprofil eine Steuerregelgruppe zusammen
Erstellen Sie unter International → Steuern → Steuerregeln eine Gruppe — beginnen Sie mit EU-Standardsteuersätze. Fügen Sie darin pro Land eine Steuerregel hinzu, die das jeweilige Land mit der passenden Steuer verknüpft. Das ist der mühsame Teil, und genau hier passieren die meisten Fehler: Sie müssen für jedes EU-Land, in das Sie liefern, eine Regel hinzufügen, einschließlich Ihres eigenen Landes.
Hier liegt der Fehlerfall, der fast jeden erwischt. Wenn für das Lieferland eines Kunden keine Regel in der Gruppe existiert, rät PrestaShop nicht — es wendet 0% Steuer an. Es gibt keine Warnung. Eine Bestellung aus Luxemburg ohne Luxemburg-Regel läuft zum Nettopreis durch, Sie schulden Luxemburg trotzdem die Mehrwertsteuer, haben sie aber schlicht nicht eingezogen. Behandeln Sie „jedes belieferbare Land hat eine Regel“ als Punkt auf einer Checkliste, den Sie prüfen, nicht als Annahme.
Wenn Sie Waren mit unterschiedlichen Steuersätzen verkaufen, werden Sie mehrere Gruppen haben — EU-Standardsteuersätze, EU ermäßigt (Bücher), EU Nullsatz / steuerbefreit. Jede ist nur ein anderes Bündel derselben zugrunde liegenden Steuern.
Schritt 3 — Weisen Sie Produkte der richtigen Gruppe zu
Öffnen Sie ein Produkt, gehen Sie zum Tab Preise und setzen Sie Steuerregel auf die korrekte Gruppe. Das ist der Schritt, der Workflows für neue Produkte still beschädigt: Je nach PrestaShop-Version, Formular und Importvorgaben kann ein neues oder importiertes Produkt standardmäßig auf Keine Steuer oder auf eine unbeabsichtigte Steuerregelgruppe gesetzt werden. Wenn jemand das einmal falsch stehen lässt — oder ein Import es falsch füllt — trägt jedes danach hastig angelegte Produkt diesen Fehler weiter, bis ihn eine Prüfung findet. Prüfen Sie die Steuerregelgruppe jedes Produkts ausdrücklich, statt irgendeiner Vorbelegung zu vertrauen.
Und was heißt das praktisch? Machen Sie „Steuerregel setzen“ zu einem ausdrücklichen Schritt in Ihrer Checkliste für neue Produkte, statt der Vorbelegung zu vertrauen, und prüfen Sie sie stichprobenartig nach jedem CSV-Import — der Import akzeptiert eine leere oder falsche Steuergruppe klaglos, und Sie sehen in der Oberfläche keine rote Warnung. Bei einem bereits live geschalteten Katalog ist ein schneller gefilterter Export der Produkte nach Steuergruppe der effizienteste Weg, unversteuerte Ausreißer zu finden.
Sie müssen nicht jedes Produkt einzeln anklicken, um die Ausreißer zu finden. Diese Nur-Lese-Abfrage listet Produkte auf, denen keine Steuerregelgruppe zugeordnet ist (der Fall id_tax_rules_group = 0 „Keine Steuer“) — führen Sie sie nach jedem Massenimport unter Erweiterte Einstellungen → Datenbank aus:
-- Find products set to "No tax" (id_tax_rules_group = 0).
-- Read-only spot-check; run after every CSV import. Adjust the lang id if needed.
SELECT p.id_product, pl.name, p.reference, p.id_tax_rules_group
FROM ps_product p
JOIN ps_product_lang pl
ON pl.id_product = p.id_product AND pl.id_lang = 1
WHERE p.id_tax_rules_group = 0 -- 0 = no tax group assigned
AND p.active = 1
ORDER BY p.id_product;
Ein leeres Ergebnis ist die Antwort, die Sie sehen wollen. Jede Zeile steht für Produkte, die unversteuert verkauft werden, bis Sie sie korrigieren — genau die stillen Ausreißer, die sonst zuerst eine Prüfung finden würde.
Die Einstellungen, die den Endbetrag bestimmen
Zwei Produkte im Warenkorb, die „richtigen“ Sätze konfiguriert, und die Rechnungssumme stimmt trotzdem nicht mit der Zahl Ihres Steuerberaters überein — dann liegt es fast immer an der Rundung oder an einer Steuerregel für Zusatzpositionen, nicht an den Sätzen selbst.
Rundung: wo sich Deutschland und Frankreich tatsächlich unterscheiden
Unter Shop-Einstellungen → Allgemein ändern die Einstellungen Rundungsmodus und Rundungsart (PS_PRICE_ROUND_MODE und PS_ROUND_TYPE) die Berechnung, nicht nur die Anzeige. Auf jede Position runden summiert gerundete Zeilensummen; Auf die Gesamtsumme runden rundet einmal am Ende. Bei einem Warenkorb mit mehreren Positionen erzeugt das unterschiedliche Summen — manchmal nur um einen oder zwei Cent, aber genau diese Abweichung lässt Rechnungen bei der Abstimmung auffallen.
Das ist keine Geschmackssache, sondern hängt vom Land ab. Als Faustregel erwartet die deutsche Praxis eine Rundung pro Rechnungszeile, während Frankreich eine Rundung auf die Gesamtsumme zulässt — aber klären Sie die aktuelle Anforderung für das Land, aus dem Sie Rechnungen stellen, statt sich auf einen Blogartikel zu verlassen, denn diese Regeln ändern sich. Testen Sie es sauber: Erstellen Sie einen echten Warenkorb mit mehreren Positionen, prüfen Sie die Rechnung und vergleichen Sie sie mit dem, was Ihre Buchhaltung erwartet.
Versand ist steuerpflichtig — und PrestaShop erinnert Sie nicht daran
Jeder Versanddienst hat eine eigene Steuerregelgruppe, die in Versand → Versanddienste im Bearbeitungsbildschirm des Versanddienstes gesetzt wird. Die Werkseinstellung bei einem neuen Versanddienst ist oft Keine Steuer. Versand ist in den meisten EU-Ländern umsatzsteuerpflichtig. Ein Versanddienst mit „Keine Steuer“ bedeutet also, dass Sie bei jeder Bestellung zu wenig Steuer auf die Lieferkosten einziehen. Konfigurieren Sie die Steuer jedes Versanddienstes gemäß Ihren lokalen Mehrwertsteuerregeln — die umsatzsteuerliche Behandlung von Versand kann vom Land und von Warenkörben mit gemischten Steuersätzen abhängen — und testen Sie gemischte Warenkörbe mit Ihrem Steuerberater, statt anzunehmen, dass ein einziger Hauptsteuersatz des Produkts für die Lieferung gilt.
Geschenkverpackung und Ökosteuer — die zwei Zusatzpositionen, die oft vergessen werden
Die Geschenkverpackung hat unter Shop-Einstellungen → Bestelleinstellungen (Abschnitt Geschenkverpackung) eine eigene Steuerregelgruppe. Lassen Sie sie unversteuert, haben Sie dasselbe Problem der zu geringen Steuererhebung in kleinerem Umfang. Wenn Sie in einem Land mit Ökosteuer arbeiten (etwa der französischen Öko-Beteiligung), aktivieren und konfigurieren Sie die Ökosteuer unter International → Steuern (Steuereinstellungen) und setzen Sie anschließend, wo zutreffend, die Ökosteuerfelder je Produkt — PrestaShop behandelt sie dann als separat besteuerte Komponente auf der Rechnung.
B2C vs. B2B: wo sich der Satz tatsächlich ändert
Der Zielortsatz deckt gewöhnliche Verkäufe an Verbraucher ab. Zwei Fälle biegen diese Regel, und beide sind umfangreich genug für einen eigenen Leitfaden, statt hier hineingepresst zu werden.
- Innergemeinschaftliches B2B (Reverse-Charge). Eine gültige Umsatzsteuer-Identifikationsnummer eines Unternehmens in einem anderen EU-Land stellt die Bestellung auf 0% Mehrwertsteuer um; der Käufer versteuert sie im eigenen Land — inländisches B2B (eine deutsche Firma kauft bei einem deutschen Shop) zahlt aber weiterhin die volle Mehrwertsteuer. PrestaShop steuert das über Kundengruppen und die Prüfung der Umsatzsteuer-Identifikationsnummer; die vollständige Einrichtung, die VIES-Prüfung und der Rechnungstext stehen in B2B-E-Commerce mit PrestaShop.
- Ob Preise netto oder brutto angezeigt werden, ist eine rechtliche Anzeigeregel, keine Steuerberechnungsregel, und sie unterscheidet sich je nach Markt und Kundentyp. Wir behandeln das vollständig in Preisangaberegeln in Europa, damit die beiden Themen nicht durcheinandergeraten.
Für stark B2B-orientierte Shops ist der Teil, den PrestaShops Standard-Kundengruppensystem am wenigsten elegant löst, die zuverlässige Prüfung von Umsatzsteuer-Identifikationsnummern gegen VIES — einschließlich der Fälle, in denen VIES nicht erreichbar ist oder nur Teiltreffer zurückgibt. Der Automatic EU VAT Checker bildet diesen Ablauf vollständig ab: Er prüft bei Registrierung und Kasse, wendet die Befreiung nur bei echtem grenzüberschreitendem B2B an und verhält sich sauber, wenn der VIES-Dienst nicht verfügbar ist, sodass ein Kunde mit gültiger Nummer nicht durch einen Ausfall einer Behörden-API blockiert wird. Der Nutzen ist nicht „mehr Prüfung“ — sondern dass Sie Bestellungen nicht manuell reparieren müssen, die das Standardverhalten an einem schlechten VIES-Tag fälschlich befreit (oder nicht befreit) hat. Wenn dieselben Geschäftskunden auch auf Rechnung zahlen, übernimmt B2B Deferred Payment Terms die Seite mit Rechnung und Kreditlimit.
Multishop: gemeinsame Sätze, getrennte Standardwerte
Wenn Sie mehrere Shops unter einer PrestaShop-Installation betreiben (ein typisches Muster für länderspezifische Shop-Oberflächen), können die Steuerobjekte gemeinsam genutzt werden, während die Standardwerte shopspezifisch bleiben. Der praktische Aufbau:
- Teilen Sie Steuern und Steuerregelgruppen über alle Shops hinweg — Sie wollen „DE Standard 19%“ nicht dreimal definieren und später auseinanderlaufen lassen. Definieren Sie es einmal auf der Ebene „Alle Shops“.
- Legen Sie das Standardland je Shop fest (PS_COUNTRY_DEFAULT berücksichtigt den Shop-Kontext, sodass jede Shopfront ihr eigenes Heimatland tragen kann) und weisen Sie die Produkte jedes Shops im jeweiligen Shop-Kontext der richtigen Gruppe zu. Eine deutsche Shopfront setzt Deutschland als Heimatland; eine französische entsprechend Frankreich.
- Testen Sie die Rundung je Shop erneut, wenn sich Währungen unterscheiden — Steuerrundung interagiert mit Währungsumrechnung, sodass ein in Euro sauberer Preis in einer anderen Währung um einen Cent abweichen kann. Prüfen Sie das mit einem echten Warenkorb in der Währung des jeweiligen Shops.
Die Steuer-Checkliste vor dem Start
Bevor Sie der Konfiguration echte Bestellungen anvertrauen, gehen Sie diese Liste durch — sie enthält die Punkte, die still fehlschlagen:
- Jedes belieferbare Land hat eine Steuerregel in jeder Gruppe, die Sie verwenden. Fehlendes Land = 0% berechnet, Mehrwertsteuer trotzdem geschuldet. Öffnen Sie jede Gruppe und zählen Sie nach.
- Ihr Heimatland ist in der Gruppe — es ist am leichtesten zu vergessen, weil Sie dort „natürlich“ inländische Mehrwertsteuer berechnen.
- Jedes Produkt trägt die richtige Steuerregelgruppe — neue und importierte Produkte können je nach Version und Importdaten standardmäßig auf Keine Steuer oder eine unbeabsichtigte Gruppe gesetzt werden, also muss jedes gesetzt (oder geprüft) werden, statt es anzunehmen.
- Versanddienste stehen nicht auf „Keine Steuer“, es sei denn, Sie besteuern Versand tatsächlich nicht.
- Geschenkverpackung und Ökosteuer sind konfiguriert, falls Sie sie anbieten.
- Der Rundungsmodus passt zu den Anforderungen Ihres Rechnungslandes — getestet an einem Warenkorb mit mehreren Positionen, nicht angenommen.
- Geben Sie echte Testbestellungen auf aus drei oder vier verschiedenen EU-Ländern (nutzen Sie je Land eine Testadresse) und prüfen Sie die tatsächlichen Rechnungssummen. Das findet mehr Probleme als jedes lange Starren auf Konfigurationsbildschirme.
Häufig gestellte Fragen
Warum berechnet eines meiner Produkte 0% Steuer ohne Fehlermeldung?
Zwei Ursachen, beide still. Entweder ist das Produkt auf Keine Steuer im Tab Preise gesetzt (id_tax_rules_group = 0 — die SQL-Stichprobe oben findet diese Fälle), oder das Lieferland des Kunden hat keine Steuerregel in der zugewiesenen Gruppe. PrestaShop warnt nie bei einem fehlenden Land; es wendet einfach 0% an. Öffnen Sie die relevante Steuerregelgruppe, bestätigen Sie, dass das Lieferland eine Regel hat, und prüfen Sie, ob das Produkt auf die richtige Gruppe zeigt.
Sollte ich „Steuer basiert auf“ auf Lieferadresse oder Rechnungsadresse setzen?
Für zielortbasierte EU-Mehrwertsteuer (genau das erwartet die OSS-Meldung) verwenden Sie unter International → Steuern die Lieferadresse. Der Satz sollte dem Ort folgen, an den die Ware geht. Bleibt die Einstellung auf Rechnungsadresse, wird immer dann der falsche Satz berechnet, wenn Rechnungs- und Lieferland abweichen — und Ihre Umsatzsteuerabstimmung geht nicht auf. Den rechtlichen Hintergrund, warum der Zielort maßgeblich ist, finden Sie in Umsatzsteuer in der EU: OSS, IOSS.
Prüft PrestaShop B2B-Umsatzsteuer-Identifikationsnummern und wendet Reverse-Charge automatisch an?
Nein. Der Core speichert die Umsatzsteuer-Identifikationsnummer und kann über Kundengruppen Nettopreise anzeigen, aber er ruft VIES nie auf und setzt die Mehrwertsteuer nicht nur deshalb auf null, weil eine Nummer eingegeben wurde. Die Reverse-Charge-Befreiung — Live-Prüfung, grenzüberschreitende Bedingung, Rechnungstext, sicheres Verhalten bei VIES-Ausfall — ist genau die Lücke, die der Automatic EU VAT Checker schließt. Die Gruppenzugehörigkeit allein ändert die Anzeige, nicht die berechnete Steuer.
Meine Rechnung mit mehreren Positionen weicht um einen Cent von der Zahl meines Steuerberaters ab — was stimmt nicht?
Fast immer ist es die Rundung, nicht die Steuersätze. Prüfen Sie Rundungsmodus und Rundungsart unter Shop-Einstellungen → Allgemein. „Auf jede Position runden“ und „auf die Gesamtsumme runden“ ergeben bei einem Warenkorb mit mehreren Zeilen unterschiedliche Summen, und die korrekte Wahl hängt vom Land ab (die deutsche Praxis erwartet typischerweise Zeilenrundung; Frankreich lässt Rundung auf die Gesamtsumme zu — klären Sie Ihre Vorgabe). Testen Sie an einem echten Warenkorb mit mehreren Positionen statt an einem einzelnen Produkt, denn eine einzelne Zeile zeigt den Unterschied nie.
Ich habe den deutschen Mehrwertsteuersatz geändert — muss ich jede Gruppe bearbeiten?
Nein, genau dafür gibt es das Drei-Ebenen-Modell. Ändern Sie den Satz einmal auf Ebene der Steuer (International → Steuern), und jede Steuerregelgruppe, die auf diese Steuer verweist, wird automatisch aktualisiert. Wenn ein temporärer Satz ausläuft, deaktivieren Sie die alte Steuer, statt sie zu löschen — historische Bestellungen behalten ihren ursprünglichen Satz, und die deaktivierte Steuer erscheint nur nicht mehr im Auswahlfeld, wenn Sie neue Regeln erstellen.
Wo die Steuerkonfiguration endet und andere Leitfäden beginnen
Die Aufgabe dieses Artikels ist es, die richtigen Sätze auf Bestellungen zu bringen. Drei benachbarte Themen werden häufig damit vermischt, haben aber ihren eigenen Platz, damit Sie hier keine halben Antworten bekommen:
- Der rechtliche Mehrwertsteuerrahmen — OSS, IOSS, die 10.000-Euro-Schwelle, Leistungsort bei digitalen Waren, die Standortnachweise, die Sie aufbewahren müssen — steht in Umsatzsteuer in der EU: OSS, IOSS und was Ihr Shop leisten muss.
- Rechnungen — wie das PDF netto, Steuer, brutto und die richtigen rechtlichen Hinweise je Land zeigt — behandeln wir in Rechnungsanpassung in PrestaShop.
- Das größere Compliance-Bild, in dem Ihre Steuerkonfiguration steht — Verbraucherrecht, AGB, Rückgaben — beginnt bei E-Commerce-Recht in der EU.
PrestaShop bietet Ihnen eine wirklich leistungsfähige Steuer-Engine — drei saubere Ebenen, zielortbewusste Berechnung, Kontrolle pro Versanddienst und Zusatzposition, multishop-fähige Standardwerte. Was es nicht tut: Ihnen die richtige Konfiguration nennen oder Sie warnen, wenn ein Land fehlt; diese Verantwortung liegt bei Ihnen. Richten Sie sie bewusst ein, prüfen Sie sie mit echten grenzüberschreitenden Testbestellungen und kontrollieren Sie Ihre Sätze jedes Quartal, wenn temporäre Senkungen auslaufen. Dann wird Steuer zu dem, was sie sein sollte: eine Einstellung, die Sie einmal sauber konfiguriert haben und an die Sie danach nicht mehr denken müssen — bis zu der Prüfung, die Sie ohne Schweißausbruch bestehen.
Kommentare
Noch keine Kommentare. Seien Sie der Erste!
Stellen Sie als Erster eine Frage oder teilen Sie hilfreiches Feedback.
Kommentar schreiben
Teilen Sie eine Frage, ein Installationsdetail oder Feedback, das anderen Lesern helfen kann.