Um die in Deutschland ab 01.07. geltende Senkung der Mehrwertsteuer in Zen Cart umzusetzen, kann wie folgt vorgegangen werden.
Soll die Steuersenkung an die Kunden weitergegeben werden (die Bruttopreise sollen also entsprechend sinken), ist nur ein Schritt erforderlich:
SCHRITT 1
Länder und Steuern > Steuersätze
Mehrwertsteuersatz 19%
Steuersatz auf 16 ändern
Beschreibung auf 16% ändern
Mehrwertsteuersatz 7%
Steuersatz auf 5 ändern
Beschreibung auf 5% ändern
Nach dieser Änderung werden die Preise incl. 16% bzw. incl. 5% angezeigt werden.
Da in der Datenbank immer nur die Nettopreise gespeichert sind, die sich ja nicht geändert haben, sind die Bruttopreise im Shop nun entsprechend gesenkt.
Wer die Steuersenkung also an die Kunden weitergeben will, der ist hier bereits fertig.
Ist das nicht gewünscht, da die Steuersenkung nicht an die Kunden weitergegeben werden soll (Bruttopreise sollen gleich bleiben), müssen nun in einem zweiten Schritt die Nettopreise entsprechend erhöht werden.
SCHRITT 2
Erhöhung der Nettopreise bei allen Artikel mit Steuersatz 16% um 3% um wieder die alten Bruttopreise zu erhalten:
Dazu ist es nicht nötig, jeden einzelnen Preis einzeln in der Administration zu überarbeiten.
Die Preiserhöhung kann mit einem Befehl direkt in der Datenbank für alle Artikel auf einmal durchgeführt werden.
Dazu sollte man Zugang zu phpMyAdmin haben.
Und man sollte in der Lage sein, die gesamte Datenbank oder auch einzelne Tabellen via phpMyAdmin zu sichern.
Verwendung der hier beschriebenen Vorgangsweise ohne Gewähr und auf eigene Gefahr!
Mit phpMyAdmin in die Datenbank des Shops gehen.
Eine Sicherung der Tabelle products vornehmen.
Tabelle products wirklich gesichert?
Dann in der Shopadministration auf Lokalisation > Steuerklassen
Steuerklasse Normalsteuersatz
Die links angezeigte ID überprüfen und notieren
In diesem Beispiel ist die ID 2
Für die Preiserhöhung aller Artikel mit Steuerklasse 2 um 3% folgenden Befehl via phpMyAdmin einspielen:
Sollte die vorher ermittelte ID der Steuerklasse anders als 2 sein, products_tax_class_id=2 entsprechend abändern.
Dieser Befehl führt eine zusätzliche Rundung für den Steuersatz 16% aus, so dass die Bruttopreise danach annähernd gleich wie vorher sein sollten, ohne dass "krumme" Bruttopreise entstehen.
Wer lieber statt einer solchen Rundung eine Erhöhung mit einem festen Faktor durchführt (siehe Postings von Tari in diesem Thread), der kann den Umrechnungsfaktor mit folgendem Rechenweg leicht ermitteln:
Nettopreis 16% dividiert durch Nettopreis 19%
Ergibt folgenden Faktor:
1,0259
Der alternative Befehl für eine Preiserhöhung mit diesem Faktor wäre also:
Wenn auch Artikel mit reduziertem Steuersatz verwendet werden (bisher 7%, nun 5%), entsprechend vorgehen:
Erhöhung der Nettopreise bei allen Artikel mit Steuersatz 5% um 2% um wieder die alten Bruttopreise zu erhalten:
Shopadministration > Lokalisation > Steuerklassen
Steuerklasse reduzierter Steuersatz
links angezeigte ID überprüfen und notieren
In diesem Beispiel ist die ID 1
Für die Preiserhöhung aller Artikel mit Steuerklasse 1 um 2% folgenden Befehl via phpMyAdmin einspielen:
Sollte die vorher ermittelte ID der Steuerklasse anders als 1 sein, products_tax_class_id=1 entsprechend abändern.
Dieser Befehl führt eine zusätzliche Rundung für den Steuersatz 5% aus, so dass die Bruttopreise danach annähernd gleich wie vorher sein sollten, ohne dass "krumme" Bruttopreise entstehen.
Wer lieber statt einer solchen Rundung eine Erhöhung mit einem festen Faktor durchführt (siehe Postings von Tari in diesem Thread), der kann den Umrechnungsfaktor mit folgendem Rechenweg leicht ermitteln:
Nettopreis 5% dividiert durch Nettopreis 7%
Ergibt folgenden Faktor:
1,019
Der alternative Befehl für eine Preiserhöhung mit diesem Faktor wäre also:
Hinweis:
Die Befehle können natürlich auch über die Shopadministration unter Tools > SQL Patches installieren eingespielt werden.
Empfohlen ist trotzdem das ganze via phpMyAdmin zu machen, um mehr Kontrolle zu haben und insbesondere vorher die Tabelle products explizit sichern zu können.
Fertig
Im Shop im Frontend nun die angezeigten Preise überprüfen. Je nachdem welche Bruttopreise vorher verwendet wurden kann es Abweichungen im Centbereich geben.
Wenn der Bruttopreis unbedingt 31,99 sein muss und nun 32 angezeigt werden, solche Preise manuell in der Artikelbearbeitung überarbeiten.
Auswirkungen auf Sonderangebotspreise
Wenn im Shop unter Webshop > Sonderangebote für bestimmte Artikel Sonderangebotspreise hinterlegt sind, dann werden diese Preise von der oben beschriebenen Änderung nicht erfasst.
Diese Sonderangebotspreise sind in der Tabelle specials im Feld specials_new_products_price als Nettopreise hinterlegt.
Da die Normalpreise ja um 3% erhöht wurden, werden die Sonderangebotspreise nun um 3% zu niedrig sein.
Um auch die auf einen Schlag um 3% zu erhöhen, kann der folgende Befehl via phpMyAdmin eingespielt werden, der die hinterlegten Nettopreise aller aktiven Sonderangebote um den entsprechenden Faktor erhöht:
Wenn Sonderangebotspreise auch für Artikel mit reduziertem Steuersatz hinterlegt wurden, sollte nun noch manuell nachgearbeitet werden, da obiger Befehl lediglich für Sonderangebotspreise mit Normalsteuersatz gedacht ist
Auswirkungen auf Versandkosten
Die Versandkosten sind in den jeweiligen Versandmodulen normalerweise als Nettopreise hinterlegt und in der Regel auf den Normalsteuersatz (bisher 19%, nun 16% eingestellt).
Da der Steuersatz nun gesenkt wurde, werden die Bruttoversandkosten nun um 3% niedriger sein. Wer diese Senkung nicht an die Kunden weitergeben will, der muss nun noch seine Versandkosten in den jeweiligen Versandmodulen entsprechend anpassen und die dort hinterlegten Werte um 3% erhöhen
Auswirkungen auf Attributpreise
Wenn im Shop mit Attributpreisen gearbeitet, dann werden diese Preise von der oben beschriebenen Änderung nicht erfasst.
Die Attributpreise sind in der Tabelle products_attributes im Feld options_values_price als Nettopreise hinterlegt.
Da die Normalpreise ja um 3% erhöht wurden, werden die Attributpreise nun um 3% zu niedrig sein.
Um auch die auf einen Schlag um 3% zu erhöhen, kann der folgende Befehl via phpMyAdmin eingespielt werden, der die hinterlegten Attributpreise, die nicht Null sind um den entsprechenden Faktor erhöht:
Wenn Attributpreise auch für Artikel mit reduziertem Steuersatz hinterlegt wurden, sollte nun noch manuell nachgearbeitet werden, da obiger Befehl lediglich für Attributpreise mit Normalsteuersatz gedacht ist
Auswirkungen auf Grundpreise
Wenn im Shop mit dem Modul Grundpreisanzeige gearbeitet wird, dann werden diese Grundpreise von der oben beschriebenen Änderung nicht erfasst.
Die Grundpreise sind in der Tabelle products im Feld products_base_unit_price als Bruttopreise hinterlegt.
Hat man die Steuersenkung nicht an die Kunden weitergeben und in Schritt 2 die Nettopreise gesenkt, um die Bruttopreise gleich zu lassen, dann werden die Grundpreisangaben auch weiterhin korrekt sein.
Gibt man aber die Steuersenkung an die Kunden weiter und hat nun um 3% niedrigere Bruttopreise, dann sind die im Shop nun angezeigten Grundpreise zu hoch
In so einem Szenario ist es also nötig, die hinterlegten Grundpreise um 3% zu senken.
Dazu kann wieder wie oben beschrieben der Umrechnungsfaktor ermittelt werden:
Grundpreis auf Basis von 16% dividiert durch Grundpreis auf Basis von 19%
ergibt z.B. einen Faktor von 1,0259
Folgender Befehl senkt alle Grundpreise für Artikel mit Normalsteuersatz um diesen Faktor:
Hat man auch Artikel mit reduziertem Steuersatz, dann wird der Grundpreis um 2% zu hoch sein, also wieder den Faktor ausrechnen:
Grundpreis auf Basis von 5% dividiert durch Grundpreis auf Basis von 7%
ergibt z.B. einen Faktor von 1,019
Folgender Befehl senkt dann alle Grundpreise für Artikel mit reduziertem Steuersatz um diesen Faktor:
Hinweis für Österreich:
Österreich hat mit 01.07.2020 den reduzierten Steuersatz für Bücher, Zeitungen und Zeitschriften von bisher 10% auf 5% reduziert. Ebenfalls befristet bis 31.12.2020
Österreichische Shops, die Bücher, Zeitungen und Zeitschriften verkaufen, stellen daher den reduzierten Steuersatz von 10% auf 5% um so wie oben für Deutschland in Schritt 1 beschrieben.
Falls die Senkung nicht weitergegeben werden soll, die Preiserhöhung der Nettopreise um 5% analog zu der für Deutschland oben in Schritt 2 beschriebenen Vorgangsweise durchführen, z.B.
Soll die Steuersenkung an die Kunden weitergegeben werden (die Bruttopreise sollen also entsprechend sinken), ist nur ein Schritt erforderlich:
SCHRITT 1
Länder und Steuern > Steuersätze
Mehrwertsteuersatz 19%
Steuersatz auf 16 ändern
Beschreibung auf 16% ändern
Mehrwertsteuersatz 7%
Steuersatz auf 5 ändern
Beschreibung auf 5% ändern
Nach dieser Änderung werden die Preise incl. 16% bzw. incl. 5% angezeigt werden.
Da in der Datenbank immer nur die Nettopreise gespeichert sind, die sich ja nicht geändert haben, sind die Bruttopreise im Shop nun entsprechend gesenkt.
Wer die Steuersenkung also an die Kunden weitergeben will, der ist hier bereits fertig.
Ist das nicht gewünscht, da die Steuersenkung nicht an die Kunden weitergegeben werden soll (Bruttopreise sollen gleich bleiben), müssen nun in einem zweiten Schritt die Nettopreise entsprechend erhöht werden.
SCHRITT 2
Erhöhung der Nettopreise bei allen Artikel mit Steuersatz 16% um 3% um wieder die alten Bruttopreise zu erhalten:
Dazu ist es nicht nötig, jeden einzelnen Preis einzeln in der Administration zu überarbeiten.
Die Preiserhöhung kann mit einem Befehl direkt in der Datenbank für alle Artikel auf einmal durchgeführt werden.
Dazu sollte man Zugang zu phpMyAdmin haben.
Und man sollte in der Lage sein, die gesamte Datenbank oder auch einzelne Tabellen via phpMyAdmin zu sichern.
Verwendung der hier beschriebenen Vorgangsweise ohne Gewähr und auf eigene Gefahr!
Mit phpMyAdmin in die Datenbank des Shops gehen.
Eine Sicherung der Tabelle products vornehmen.
Tabelle products wirklich gesichert?
Dann in der Shopadministration auf Lokalisation > Steuerklassen
Steuerklasse Normalsteuersatz
Die links angezeigte ID überprüfen und notieren
In diesem Beispiel ist die ID 2
Für die Preiserhöhung aller Artikel mit Steuerklasse 2 um 3% folgenden Befehl via phpMyAdmin einspielen:
Code:
UPDATE products SET products_price=round(products_price*1.03*1.16)/1.16 where products_tax_class_id=2;
Dieser Befehl führt eine zusätzliche Rundung für den Steuersatz 16% aus, so dass die Bruttopreise danach annähernd gleich wie vorher sein sollten, ohne dass "krumme" Bruttopreise entstehen.
Wer lieber statt einer solchen Rundung eine Erhöhung mit einem festen Faktor durchführt (siehe Postings von Tari in diesem Thread), der kann den Umrechnungsfaktor mit folgendem Rechenweg leicht ermitteln:
Nettopreis 16% dividiert durch Nettopreis 19%
Ergibt folgenden Faktor:
1,0259
Der alternative Befehl für eine Preiserhöhung mit diesem Faktor wäre also:
Code:
UPDATE products SET products_price=(products_price*1.0259) where products_tax_class_id=2;
Erhöhung der Nettopreise bei allen Artikel mit Steuersatz 5% um 2% um wieder die alten Bruttopreise zu erhalten:
Shopadministration > Lokalisation > Steuerklassen
Steuerklasse reduzierter Steuersatz
links angezeigte ID überprüfen und notieren
In diesem Beispiel ist die ID 1
Für die Preiserhöhung aller Artikel mit Steuerklasse 1 um 2% folgenden Befehl via phpMyAdmin einspielen:
Code:
UPDATE products SET products_price=round(products_price*1.02*1.05)/1.05 where products_tax_class_id=1;
Dieser Befehl führt eine zusätzliche Rundung für den Steuersatz 5% aus, so dass die Bruttopreise danach annähernd gleich wie vorher sein sollten, ohne dass "krumme" Bruttopreise entstehen.
Wer lieber statt einer solchen Rundung eine Erhöhung mit einem festen Faktor durchführt (siehe Postings von Tari in diesem Thread), der kann den Umrechnungsfaktor mit folgendem Rechenweg leicht ermitteln:
Nettopreis 5% dividiert durch Nettopreis 7%
Ergibt folgenden Faktor:
1,019
Der alternative Befehl für eine Preiserhöhung mit diesem Faktor wäre also:
Code:
UPDATE products SET products_price=(products_price*1.019) where products_tax_class_id=1;
Hinweis:
Die Befehle können natürlich auch über die Shopadministration unter Tools > SQL Patches installieren eingespielt werden.
Empfohlen ist trotzdem das ganze via phpMyAdmin zu machen, um mehr Kontrolle zu haben und insbesondere vorher die Tabelle products explizit sichern zu können.
Fertig
Im Shop im Frontend nun die angezeigten Preise überprüfen. Je nachdem welche Bruttopreise vorher verwendet wurden kann es Abweichungen im Centbereich geben.
Wenn der Bruttopreis unbedingt 31,99 sein muss und nun 32 angezeigt werden, solche Preise manuell in der Artikelbearbeitung überarbeiten.
Auswirkungen auf Sonderangebotspreise
Wenn im Shop unter Webshop > Sonderangebote für bestimmte Artikel Sonderangebotspreise hinterlegt sind, dann werden diese Preise von der oben beschriebenen Änderung nicht erfasst.
Diese Sonderangebotspreise sind in der Tabelle specials im Feld specials_new_products_price als Nettopreise hinterlegt.
Da die Normalpreise ja um 3% erhöht wurden, werden die Sonderangebotspreise nun um 3% zu niedrig sein.
Um auch die auf einen Schlag um 3% zu erhöhen, kann der folgende Befehl via phpMyAdmin eingespielt werden, der die hinterlegten Nettopreise aller aktiven Sonderangebote um den entsprechenden Faktor erhöht:
Code:
UPDATE specials SET specials_new_products_price=(specials_new_products_price*1.0259) where status=1;
Auswirkungen auf Versandkosten
Die Versandkosten sind in den jeweiligen Versandmodulen normalerweise als Nettopreise hinterlegt und in der Regel auf den Normalsteuersatz (bisher 19%, nun 16% eingestellt).
Da der Steuersatz nun gesenkt wurde, werden die Bruttoversandkosten nun um 3% niedriger sein. Wer diese Senkung nicht an die Kunden weitergeben will, der muss nun noch seine Versandkosten in den jeweiligen Versandmodulen entsprechend anpassen und die dort hinterlegten Werte um 3% erhöhen
Auswirkungen auf Attributpreise
Wenn im Shop mit Attributpreisen gearbeitet, dann werden diese Preise von der oben beschriebenen Änderung nicht erfasst.
Die Attributpreise sind in der Tabelle products_attributes im Feld options_values_price als Nettopreise hinterlegt.
Da die Normalpreise ja um 3% erhöht wurden, werden die Attributpreise nun um 3% zu niedrig sein.
Um auch die auf einen Schlag um 3% zu erhöhen, kann der folgende Befehl via phpMyAdmin eingespielt werden, der die hinterlegten Attributpreise, die nicht Null sind um den entsprechenden Faktor erhöht:
Code:
UPDATE products_attributes SET options_values_price=(options_values_price*1.0259) where options_values_price != 0.0000;
Auswirkungen auf Grundpreise
Wenn im Shop mit dem Modul Grundpreisanzeige gearbeitet wird, dann werden diese Grundpreise von der oben beschriebenen Änderung nicht erfasst.
Die Grundpreise sind in der Tabelle products im Feld products_base_unit_price als Bruttopreise hinterlegt.
Hat man die Steuersenkung nicht an die Kunden weitergeben und in Schritt 2 die Nettopreise gesenkt, um die Bruttopreise gleich zu lassen, dann werden die Grundpreisangaben auch weiterhin korrekt sein.
Gibt man aber die Steuersenkung an die Kunden weiter und hat nun um 3% niedrigere Bruttopreise, dann sind die im Shop nun angezeigten Grundpreise zu hoch
In so einem Szenario ist es also nötig, die hinterlegten Grundpreise um 3% zu senken.
Dazu kann wieder wie oben beschrieben der Umrechnungsfaktor ermittelt werden:
Grundpreis auf Basis von 16% dividiert durch Grundpreis auf Basis von 19%
ergibt z.B. einen Faktor von 1,0259
Folgender Befehl senkt alle Grundpreise für Artikel mit Normalsteuersatz um diesen Faktor:
Code:
UPDATE products SET products_base_unit_price=(products_base_unit_price/1.0259) where products_tax_class_id=2;
Grundpreis auf Basis von 5% dividiert durch Grundpreis auf Basis von 7%
ergibt z.B. einen Faktor von 1,019
Folgender Befehl senkt dann alle Grundpreise für Artikel mit reduziertem Steuersatz um diesen Faktor:
Code:
UPDATE products SET products_base_unit_price=(products_base_unit_price/1.019) where products_tax_class_id=1;
Hinweis für Österreich:
Österreich hat mit 01.07.2020 den reduzierten Steuersatz für Bücher, Zeitungen und Zeitschriften von bisher 10% auf 5% reduziert. Ebenfalls befristet bis 31.12.2020
Österreichische Shops, die Bücher, Zeitungen und Zeitschriften verkaufen, stellen daher den reduzierten Steuersatz von 10% auf 5% um so wie oben für Deutschland in Schritt 1 beschrieben.
Falls die Senkung nicht weitergegeben werden soll, die Preiserhöhung der Nettopreise um 5% analog zu der für Deutschland oben in Schritt 2 beschriebenen Vorgangsweise durchführen, z.B.
Code:
UPDATE products SET products_price=round(products_price*1.05*1.05)/1.05 where products_tax_class_id=1;
Kommentar