Das Plugin berechnet im Warenkorb nichts selbst. Welche Steuer ein Produkt trägt, bestimmt der Steuersatz am Produkt. Die Migration stellt Produkte auf den Steuersatz Kleinunternehmer §19 UStG (0%) um und passt dabei die Preise an. Sie ist die einzige Funktion des Plugins, die Produktdaten ändert.
Die Migration ändert Steuersatz und Preise deiner Produkte in der Datenbank. Mache vorher eine Datensicherung.
| Admin-Karte | CLI-Befehl | |
|---|---|---|
| Richtung | nur zum 0%-Steuersatz | zum 0%-Steuersatz und zurück (--restore) |
| Geeignet für | kleine bis mittlere Kataloge | große Kataloge, Automatisierung |
| Sicherheitsabfrage | Bestätigungsdialog | Abfrage, mit --force überspringbar |
| Vorschau | nein | --dry-run |
Beide Wege setzen voraus, dass der Steuersatz Kleinunternehmer §19 UStG (0%) existiert. Er wird bei der Aktivierung des Plugins angelegt.
Die Karte "Produkt-Migration" steht in der Plugin-Konfiguration (Erweiterungen > Meine Erweiterungen > Kleinunternehmer §19 UStG).
mmd:kleinunternehmer:migrate-products --restore --tax-rate=19 für die Rückstellung.Die Karte ruft die beiden Admin-API-Routen des Plugins auf. Benutzer brauchen dafür die Rechte product:read (Status) bzw. product:update und system_config:read (Migration).
# Vorschau: nur zählen, nichts ändern
bin/console mmd:kleinunternehmer:migrate-products --to-small-business --dry-run
# Alle Produkte auf den 0%-Steuersatz umstellen
bin/console mmd:kleinunternehmer:migrate-products --to-small-business
# Produkte vom 0%-Steuersatz auf 19 % zurücksetzen
bin/console mmd:kleinunternehmer:migrate-products --restore --tax-rate=19
# Auf 7 % zurücksetzen, ohne Rückfrage
bin/console mmd:kleinunternehmer:migrate-products --restore --tax-rate=7 --force
| Option | Bedeutung |
|---|---|
--to-small-business |
Alle Produkte, die nicht auf dem 0%-Steuersatz liegen, werden dorthin migriert. |
--restore |
Alle Produkte, die auf dem 0%-Steuersatz liegen, werden auf einen regulären Steuersatz zurückgesetzt. |
--tax-rate=<Satz> |
Zielsteuersatz in Prozent für --restore. Standard: 19. Verwendet wird der erste Steuersatz im Shop mit genau diesem Prozentsatz. |
--dry-run |
Zeigt nur, wie viele Produkte betroffen wären. |
--force, -f |
Überspringt die Sicherheitsabfrage (Standardantwort der Abfrage ist "Nein"). |
Genau eine der Optionen --to-small-business und --restore muss angegeben werden, beide zusammen sind ein Fehler. Existiert für --tax-rate kein Steuersatz, bricht der Befehl ab und gibt die vorhandenen Steuersätze als Tabelle aus. Während der Migration zeigt der Befehl einen Fortschrittsbalken.
Je Währung werden Brutto- und Netto-Preis neu geschrieben:
| Richtung | Brutto | Netto |
|---|---|---|
| zum 0%-Steuersatz | bisheriger Netto-Preis | bisheriger Netto-Preis |
zurück (--restore) |
Netto-Preis × (1 + Satz / 100), auf 2 Nachkommastellen gerundet | unverändert |
Beispiel: Ein Produkt mit 100 € netto und 119 € brutto kostet nach der Migration zum 0%-Steuersatz 100 €. Beim Zurücksetzen auf 19 % wird daraus wieder 100 € netto und 119 € brutto.
Produkte ohne hinterlegten Preis erhalten nur den neuen Steuersatz.
Beim Zurücksetzen erhalten alle Produkte, die auf dem 0%-Steuersatz liegen, denselben Zielsteuersatz. Der ursprüngliche Steuersatz eines Produkts wird nicht gespeichert. Produkte, die vorher auf 7 % lagen, landen bei
--restore --tax-rate=19also ebenfalls bei 19 %.
Ein vorhandener Streichpreis (Listenpreis) geht bei der Migration verloren und muss danach neu eingetragen werden. Das Plugin schreibt je Währung nur Währung, Brutto, Netto und
linkedzurück, einen Streichpreis übergibt es nicht. Das gilt in beide Richtungen.
price) je Währung. Staffelpreise (erweiterte Preise) und Einkaufspreise werden nicht angefasst.