PS PrestaShop Anfänger

Automatische Standard-Steuerregel bei Produkterstellung

Die automatische Zuweisung der Steuerregelgruppe bei jeder Produkterstellung in PrestaShop installieren und konfigurieren.

Aktualisiert Modulversion 1.1.0

Wozu dieses Modul dient

Seit PrestaShop 1.7 hat ein neu angelegtes Produkt keine Steuerregel: Das Feld Steuerregel im Reiter Preise bleibt auf „Keine Steuer“, bis Sie es von Hand ändern. In einem aktiven Katalog passiert dieses Versäumnis schnell — und ein ohne Mehrwertsteuer veröffentlichtes Produkt verfälscht sowohl den im Shop angezeigten Bruttopreis als auch Ihre Buchhaltung.

Dieses Modul weist jedem erstellten Produkt automatisch die von Ihnen gewählte Steuerregelgruppe zu, ganz ohne Zutun. Ein Modus „nur füllen, wenn leer“ sorgt dafür, dass eine bereits gewählte Regel nie überschrieben wird.

Voraussetzungen

  • PrestaShop 8.0 bis 9.x
  • PHP 7.4 bis 8.3
  • Mindestens eine aktive Steuerregelgruppe, konfiguriert unter International > Steuern > Steuerregeln

Das Modul erstellt keine Steuerregel. Es wendet lediglich eine Regel an, die bereits in Ihrem Shop existiert. Ist Ihre Liste der Steuerregeln leer, legen Sie zuerst eine an, bevor Sie das Modul installieren.

Installation

  1. Laden Sie das ZIP-Archiv aus Ihrem DataFirefly-Kundenkonto herunter.
  2. Gehen Sie im PrestaShop-Backoffice zu Module > Modul-Manager.
  3. Klicken Sie oben rechts auf Modul hochladen und legen Sie die ZIP-Datei ab.
  4. Klicken Sie nach abgeschlossener Installation auf Konfigurieren.

Wichtig: Solange Sie in der Konfiguration keine Steuerregelgruppe ausgewählt haben, bleibt das Modul bewusst inaktiv. Das ist eine Sicherheitsmaßnahme, damit es nicht direkt nach der Installation eine unerwünschte Regel anwendet.

Konfiguration

Die Konfigurationsseite umfasst zwei Einstellungen.

Anzuwendende Steuerregelgruppe

Ein Dropdown zeigt alle aktiven Steuerregelgruppen Ihres Shops (zum Beispiel „FR TVA 20%“). Wählen Sie diejenige aus, die neuen Produkten standardmäßig zugewiesen werden soll.

Der erste Eintrag der Liste lautet „Nichts tun (deaktiviert)“. Wählen Sie ihn, wenn Sie das Modul vorübergehend aussetzen möchten, ohne es zu deinstallieren.

Vorhandenen Wert überschreiben

Dieser Schalter bestimmt das Verhalten des Moduls, wenn ein Produkt zum Zeitpunkt der Erstellung bereits eine Steuerregel besitzt.

  • Ja (Standard): Die konfigurierte Gruppe wird stets angewendet, unabhängig vom vorhandenen Wert.
  • Nein: Die Gruppe wird nur angewendet, wenn das Produkt noch keine Steuerregel hat. Ein bereits gesetzter Wert wird nie verändert.

Stellen Sie diese Option auf Nein, wenn Sie regelmäßig bereits korrekt konfigurierte Produkte duplizieren: Die Kopien behalten dann die Steuerregel des Ursprungsprodukts.

Klicken Sie auf Speichern, um zu bestätigen. Das Modul ist sofort aktiv.

Funktionsweise

Das Modul klinkt sich in den Hook actionObjectProductAddAfter ein, der von PrestaShop unmittelbar nach dem Einfügen eines neuen Produktdatensatzes ausgelöst wird. Es schreibt dann das Feld id_tax_rules_group in die Tabellen product und product_shop.

Kompatibilität mit der Produktseite v2

Die neue Produktseite von PrestaShop 8 arbeitet anders als die alte: Sobald Sie auf Neues Produkt klicken, erstellt PrestaShop sofort ein temporäres Produkt (mitunter „Geisterprodukt“ genannt), noch bevor Sie überhaupt etwas eingegeben haben. Dieses Produkt erscheint erst nach dem ersten Speichern im Katalog.

Genau in diesem Moment greift das Modul ein. Die Steuerregel wird also in der Datenbank gesetzt, bevor das Formular überhaupt angezeigt wird, und der Reiter Preise zeigt direkt die richtige Gruppe an.

Technischer Hinweis. Der Hook actionProductAdd wird trotz seines Namens bei einer normalen Produkterstellung nicht ausgelöst: Der PrestaShop-Core ruft ihn nur beim Duplizieren eines Produkts auf. Aus diesem Grund verwendet dieses Modul den generischen Hook actionObjectProductAddAfter, der alle Erstellungswege zuverlässig abdeckt.

Gezieltes Schreiben in die Datenbank

Das Modul aktualisiert ausschließlich die Spalte id_tax_rules_group über eine direkte SQL-Abfrage. Es ruft Product::update() nicht auf, wodurch vermieden wird, dass Update-Hooks unnötig auf einem noch leeren Produkt ausgelöst werden. Kein anderes Produktfeld wird berührt, und es wird kein Core-Override hinzugefügt.

Abgedeckte Erstellungswege

Erstellungsart Regel angewendet
Manuelle Erstellung im Backoffice (Produktseite v2) Ja
Duplizieren eines vorhandenen Produkts Ja (über die Überschreiboption deaktivierbar)
CSV-Import Ja
Erstellung über den Webservice / die API Ja
Vor der Installation bereits vorhandene Produkte Nein — das Modul greift nur bei der Erstellung

Das Modul korrigiert bereits im Katalog vorhandene Produkte nicht rückwirkend. Nutzen Sie dafür die native Massenbearbeitung von PrestaShop oder ein Modul zur Stapelaktualisierung.

Multishop

Das Feld id_tax_rules_group ist shopspezifisch. Das Modul schreibt den Wert daher sowohl in die Tabelle product als auch in product_shop, und zwar auf dem Shop-Bereich, der dem Erstellungskontext des Produkts entspricht.

Die in der Konfiguration gewählte Steuerregelgruppe gilt hingegen für die gesamte Installation. Benötigen Ihre Shops unterschiedliche Steuerregeln, wenden Sie die häufigste an und passen Sie die Ausnahmen manuell an.

Fehlerbehebung

Die Steuerregel wird bei neuen Produkten nicht angewendet

Prüfen Sie der Reihe nach:

  1. Ist tatsächlich eine Gruppe ausgewählt? Öffnen Sie die Modulkonfiguration: Zeigt die Liste „Nichts tun (deaktiviert)“, ist das Modul konstruktionsbedingt inaktiv. Wählen Sie eine Gruppe und speichern Sie.
  2. Ist der Hook korrekt registriert? Wenn Sie das Modul von Version 1.0.0 aktualisiert haben, hat sich der verwendete Hook geändert. Ein bloßes Kopieren der Dateien genügt nicht: Deinstallieren Sie das Modul und installieren Sie es im Modul-Manager erneut, damit PrestaShop den neuen Hook registriert.
  3. Ist der Cache geleert? Gehen Sie zu Erweiterte Einstellungen > Leistung und leeren Sie den Cache.
  4. Existiert die Steuerregelgruppe noch? Wurde die ausgewählte Gruppe zwischenzeitlich gelöscht, tut das Modul sicherheitshalber nichts. Wählen Sie eine andere aus.

Ein dupliziertes Produkt verliert seine ursprüngliche Steuerregel

Das ist das erwartete Verhalten, wenn die Option Vorhandenen Wert überschreiben aktiv ist: Die Standardgruppe wird erneut auf die Kopie angewendet. Stellen Sie die Option auf Nein, damit Duplikate die Regel des Ursprungsprodukts behalten.

Der Bruttopreis aktualisiert sich im Formular nicht

Der Bruttopreis wird browserseitig aus der gewählten Steuerregel berechnet. Laden Sie die Produktseite neu: Da die Regel korrekt in der Datenbank gespeichert ist, zeigt der Reiter Preise die richtige Gruppe an und berechnet den Preis neu.

Deinstallation

Klicken Sie im Modul-Manager auf Deinstallieren. Das Modul löscht seine beiden Konfigurationsschlüssel und meldet sich von den Hooks ab. Dieses Modul legt keine Datenbanktabelle an, und bereits auf Ihre Produkte angewendete Steuerregeln bleiben unverändert erhalten.

Versionsverlauf

1.1.0

  • Umstellung auf den Hook actionObjectProductAddAfter, um die Erstellung über die Produktseite v2 (temporäres Produkt) abzudecken
  • Kompatibilität mit PrestaShop 8 und 9 bestätigt

1.0.0

  • Erste Version: automatische Zuweisung der Steuerregelgruppe bei der Erstellung
  • Konfigurierbare Standardgruppe und Überschreibmodus
War diese Seite hilfreich?

Immer noch nicht weiter? Support kontaktieren