Skip to content

Tax Rules

Das Modul Steuerregeln automatisiert die Zuweisung von GTU-Codes, JPK_V7-Codes, WooCommerce-Steuerklassen, Kategorien/Schlagwörtern und benutzerdefinierten Meta-Feldern zu Produkten mithilfe von Bedingungs-/Aktionsregeln. Es läuft beim Speichern eines Produkts, über einen geplanten Cron und manuell (Dry Run + Run Now).

  1. Erstellen Sie eine Regel: Name, Abgleichmodus (all/any), Bedingungen, Aktionen, Auslöser, Priorität.
  2. Die Engine wertet die Bedingungen gegen jedes Produkt aus und wendet die Aktionen an, wenn die Regel zutrifft.
  3. Jede Regelanwendung wird im Audit-Log festgehalten (wer/was/wann, Dry Run oder live).
  4. Auslöser:
    • Beim Speichern des Produkts - die Regel läuft, nachdem ein Produkt erstellt oder aktualisiert wurde.
    • Täglich - die Regel läuft im nächtlichen Cron gegen den gesamten Katalog.
    • Wöchentlich - läuft einmal pro Woche (WP-Cron).
    • Monatlich - läuft einmal alle 30 Tage (WP-Cron).
    • Manuell - die Regel läuft nur, wenn Sie im Admin auf Run / Dry Run klicken.

Öffnen Sie WooCommerce > Tax Rules und klicken Sie auf Regel hinzufügen.

FeldBeschreibung
NameFür Menschen lesbare Bezeichnung (z. B. “Books -> GTU_12”).
Gruppe (optional)Freies Label zum Filtern in der Liste.
AktiviertSchaltet eine Regel aus, ohne sie zu löschen.
Abgleichmodusall - jede Bedingung muss zutreffen, any - mindestens eine muss zutreffen.
AuslöserWann die Regel läuft (Speichern / täglich / wöchentlich / monatlich / manuell).
PrioritätAusführungsreihenfolge, aufsteigend (Standard 10).

Format: field | operator | value | key (letztes Feld optional).

Felder: title, sku, price, regular_price, stock_quantity, stock_status, category, tag, type, attribute, tax_class, meta_field, gtu_code, jpk_v7_code, taxonomy.

Operatoren: equals, not_equals, contains, not_contains, starts_with, ends_with, gt, gte, lt, lte, in, not_in, is_empty, is_not_empty.

Das Feld taxonomy akzeptiert jede benutzerdefinierte Taxonomie; tragen Sie den Taxonomie-Slug in key und eine kommagetrennte Liste von Term-IDs in value ein:

taxonomy | in | 12,34,56 | product_brand

Beispiele:

title | contains | book
price | gte | 100
category | in | 42,56,78
meta_field | equals | yes | _polski_tablet

Format: action_type | value.

AktionBeschreibungBeispiel
set_gtu_codeWeist einen GTU-Code zuset_gtu_code | GTU_06
remove_gtu_codeEntfernt den GTU-Coderemove_gtu_code |
set_jpk_v7_codeWeist einen JPK_V7-Code zuset_jpk_v7_code | GTU_12
set_tax_classSetzt eine WooCommerce-Steuerklasseset_tax_class | reduced-rate
add_category / remove_categoryFügt eine Kategorie hinzu oder entfernt sieadd_category | 42
add_tag / remove_tagFügt ein Schlagwort hinzu oder entfernt esadd_tag | 77
set_meta_fieldSetzt ein Meta-Feldset_meta_field | _polski_custom:flag
mark_receipt_with_nipMarkiert das Produkt als “Beleg mit NIP erforderlich”mark_receipt_with_nip | 1

Jede Regel verfügt über die Aktionen Dry Run (Vorschau ohne Schreiben) und Run Now (Anwendung auf den gesamten Katalog). Der Reiter Audit-Log zeigt die letzten 200 Anwendungen mit Zeitstempel, Regel, Produkt, Treffer-Flag, Dry-Run-Flag und angewendeten Aktionen.

Am oberen Rand des Regeleditors ermöglicht das Panel Insert helper das Hinzufügen von Bedingungs-/Aktionszeilen, ohne IDs von Hand nachzuschlagen:

  • Kategorie - alle product_cat-Terms (Select2). Schaltflächen hängen category | in | <ID> oder add_category | <ID> an.
  • Schlagwort - dasselbe für product_tag.
  • Steuerklasse - Liste der WooCommerce-Steuerklassen. Schaltflächen hängen set_tax_class | <slug> oder tax_class | equals | <slug> an.
  • GTU-Code - Dropdown GTU_01 - GTU_13. Drei Schaltflächen: set_gtu_code, set_jpk_v7_code oder Bedingung gtu_code | equals | <CODE>.

Das Textfeld bleibt die maßgebliche Quelle - die Picker hängen nur Zeilen an.

Jede Regel kann ein optionales Gruppen-Label tragen. Gruppen dienen ausschließlich der Organisation und Filterung von Regeln im Admin; sie haben keinen Einfluss auf die Ausführung.

Die Regelliste unterstützt eine Namenssuche ohne Beachtung der Groß-/Kleinschreibung, einen Statusfilter (aktiviert/deaktiviert), einen Auslöserfilter und einen Gruppenfilter (nur sichtbar, wenn Gruppen vorhanden sind).

Der Reiter Import / export ermöglicht:

  • Export aller Regeln als portable JSON-Datei (Format polski.tax_rules, v1) zur Sicherung oder Migration.
  • Import einer zuvor exportierten JSON-Datei. Importe hängen Regeln immer an (ersetzen nie nach ID), sodass Sie Regelsätze aus mehreren Shops sicher zusammenführen können.

Für große Kataloge und Automatisierung:

Terminal window
# Regeln auflisten
wp polski tax-rules list
wp polski tax-rules list --format=json
# Dry Run für Regel #3
wp polski tax-rules run 3 --dry-run
# Regel #3 mit Stapeln von 100 Elementen anwenden
wp polski tax-rules run 3 --batch-size=100
# Regeln in eine Datei exportieren
wp polski tax-rules export --file=/tmp/rules.json
# Regeln aus einer Datei importieren
wp polski tax-rules import /tmp/rules.json

In der Standard-Produktliste von WooCommerce (wp-admin/edit.php?post_type=product) stellt das Dropdown Bulk actions zwei Einträge bereit:

  • Apply tax rules - führt jede aktivierte Regel gegen die ausgewählten Produkte aus.
  • Dry-run tax rules - meldet, was sich ändern würde, ohne zu schreiben.

Nach der Ausführung zeigt ein Admin-Hinweis die Anzahl der verarbeiteten Produkte, der Regeltreffer und der angewendeten Änderungen.

Zugewiesene GTU- und JPK_V7-Codes werden als Produkt-Meta gespeichert und können genutzt werden von:

  • dem Rechnungsmodul (Faktura VAT PDF + KSeF)
  • dem JPK_VAT-Export
  • Buchhaltungsintegrationen (wFirma, Fakturownia, iFirma)
  • Der tägliche Cron verarbeitet den Katalog in Stapeln von 50 Produkten.
  • Das Audit-Log ist auf 10.000 Zeilen begrenzt; ältere Einträge werden automatisch gekürzt.
  • Die Engine schützt vor Rekursion: Eine Regel wird während ihres eigenen internen Produktspeicherns nicht erneut ausgelöst.