Markus Michalski FAQ

Kleinunternehmer: Storefront

Wo und wann das Sylius-Plugin Kleinunternehmer §19 UStG den Hinweis in der Storefront einblendet: Produktseite, Warenkorb, Checkout, Gutschrift-PDF, Hook-Positionen und Twig-Funktionen.

English Version

Zurück zur Übersicht

Kleinunternehmer: Storefront

Live Demo: Teste dieses und weitere Plugins live — ohne Installation, ohne Risiko: demo.markus-michalski.net

Wo der Hinweis erscheint

Bei aktiver Regelung blendet das Plugin den Hinweis über Twig Hooks überall ein, wo Kunden einen Preis oder eine Steuersumme sehen. Du musst kein Template anpassen.

Ort Hook Position
Produktseite sylius_shop.product.show.content.info.summary.prices unter den Preisen
Produktkarte (Listen, Empfehlungen) sylius_shop.shared.product.card.prices unter den Preisen
Warenkorb sylius_shop.cart.index.content.form.sections.general.summary direkt unter „Steuern gesamt“
Checkout-Seitenleiste (Adresse, Versand, Zahlung) sylius_shop.checkout.common.sidebar.summary.total zwischen „Steuern gesamt“ und „Gesamt“
Bestellübersicht (Checkout-Abschluss und Bestellverlauf im Konto) sylius_shop.shared.order.show.summary.table_summary unter „Gesamt“

Produktseite, Produktkarte und Warenkorb nutzen ein Absatz-Template, die beiden tabellenbasierten Zusammenfassungen eine Tabellenzeile.

Wann der Hinweis erscheint

Der Hinweis erscheint nur, wenn die Regelung aktiv ist und der Hinweis zum jeweiligen Objekt passt:

Ort Bedingung
Warenkorb, Checkout, Bestellung Die Steuersummen des Warenkorbs oder der Bestellung sind beide 0
Produktvariante Die Variante liegt auf der Steuerkategorie kleinunternehmer_zero
Produkt Das Produkt hat aktive Varianten, und alle aktiven Varianten liegen auf kleinunternehmer_zero

Ohne Warenkorb, Bestellung, Variante oder Produkt bleibt der Hinweis aus: Eine Steueraussage, die sich nicht prüfen lässt, ist schlimmer als keine.

graph TD
    A["Hook rendert Hinweis-Template"] --> B{"Regelung aktiv?"}
    B -->|Nein| Z["Kein Hinweis"]
    B -->|Ja| C{"Warenkorb oder Bestellung im Kontext?"}
    C -->|Ja| D{"Beide Steuersummen 0?"}
    C -->|Nein| E{"Variante oder Produkt im Kontext?"}
    D -->|Ja| Y["Hinweis anzeigen"]
    D -->|Nein| Z
    E -->|Ja| F{"Alle relevanten Varianten auf kleinunternehmer_zero?"}
    E -->|Nein| Z
    F -->|Ja| Y
    F -->|Nein| Z

Eine Bestellung, die vor dem Umschalten der Regelung aufgegeben wurde, zeigt den Hinweis nur, wenn ihre Steuersummen tatsächlich 0 sind. Ein teilweise migrierter Warenkorb zeigt ihn nicht, weil sonst der Hinweis neben einer „Steuern gesamt“-Zeile mit Betrag stünde.

Hinweistext

Den Text bearbeitest du im Admin, siehe Konfiguration. Ohne eigenen Text gelten diese Standardtexte:

Sprache Text
Deutsch Gemäß §19 UStG wird keine Umsatzsteuer berechnet.
Englisch No VAT charged according to §19 UStG (German small business regulation).

Die Hinweise tragen die CSS-Klasse mmd-kleinunternehmer-notice und in der Storefront zusätzlich text-secondary small, in den Tabellenzeilen außerdem text-end. Der Hinweis im Gutschrift-PDF hat nur mmd-kleinunternehmer-notice. Damit lässt sich die Darstellung im Theme anpassen.

Hinweis verschieben oder abschalten

Alle fünf Hooks registrieren das Hookable kleinunternehmer_notice. Die Priorität bestimmt die Position: -100 für Produktseite, Produktkarte und Bestellübersicht, 150 für den Warenkorb, 50 für die Checkout-Seitenleiste. In deiner eigenen sylius_twig_hooks-Konfiguration kannst du es unter demselben Hook-Namen mit enabled: false abschalten oder mit einer anderen priority verschieben. Die Template-IDs sind @MmdSyliusKleinunternehmerPlugin/shop/product/kleinunternehmer_notice.html.twig (Absatz) und @MmdSyliusKleinunternehmerPlugin/shop/order_summary/kleinunternehmer_notice_row.html.twig (Tabellenzeile).

Gutschrift-PDF

Ist sylius/refund-plugin installiert, ersetzt dieses Plugin das Template des Gutschrift-PDFs durch eine Variante, die das Original erweitert und den Hinweis unter der Tabelle ergänzt. Der Hinweis erscheint nur, wenn die Regelung aktiv ist und die Gutschrift keine Steuern enthält. Er steht in der Sprache, in der die Gutschrift ausgestellt wurde, und nutzt denselben Text wie die Storefront, einschließlich deiner Admin-Überschreibungen.

Das Refund-Plugin ist keine Abhängigkeit. Ist es nicht installiert, ändert sich nichts. Hat eine andere Erweiterung das Gutschrift-Template bereits ersetzt, lässt dieses Plugin es unangetastet.

Rechnungen und Stornobelege behandelt das Plugin nicht. Der Hinweis wird dort nicht ergänzt, nur auf Gutschriften des Refund-Plugins.

Twig-Funktionen

Für eigene Templates stellt das Plugin diese Funktionen bereit:

Funktion Rückgabe Beschreibung
kleinunternehmer_active() bool Ist die Regelung aktiv?
kleinunternehmer_notice_applies(order, variant, product) bool Gilt der Hinweis für das übergebene Objekt? Alle drei Argumente sind optional, übergeben wird eines davon
kleinunternehmer_notice_applies_to_tax_total(taxTotal) bool Aktiv und taxTotal ist 0? Für Dokumente, die nur eine Steuersumme kennen
kleinunternehmer_notice_text(locale) string Hinweistext in der angegebenen Sprache, ohne Angabe in der aktuellen Request-Sprache
kleinunternehmer_plugin_version() string Installierte Plugin-Version, wie sie im Admin unter dem Titel steht

Beispiel für einen eigenen Hinweis in einem Theme-Template:

{% if kleinunternehmer_notice_applies(order) %}
    <p class="mmd-kleinunternehmer-notice">{{ kleinunternehmer_notice_text() }}</p>
{% endif %}

Theme-Kompatibilität

Die Hooks hängen am Standard-Markup von Sylius. Ersetzt dein Theme eines der Templates, das einen dieser Hook-Punkte enthält, und rendert den Hook nicht mehr, entfällt dort auch der Hinweis. Binde in dem Fall den Hook wieder ein oder nutze die Twig-Funktionen oben direkt.