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.
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.