Ab dem 27. September 2026 müssen Onlineshops, die an Verbraucher verkaufen, mit einer amtlichen Mitteilung der EU auf die gesetzliche Gewährleistung hinweisen. JTL-Shop bringt das ab Version 5.8 selbst mit. Für Shops, die bewusst auf 5.7 bleiben, habe ich es als Plugin gebaut — zwei Bausteine, die amtlichen Dateien unverändert, keine Datei des Templates angefasst.
Die EU-Kommission stellt die Mitteilung zur gesetzlichen Gewährleistung als fertige Datei bereit, in allen 24 Amtssprachen. Sie muss vor dem Abschluss der Bestellung gut sichtbar sein. Online darf sie platzsparend stehen: als Satz, der die Mitteilung beim ersten Klick vollständig aufklappt — so nennen es die Leitlinien der Kommission ausdrücklich.
Gibt der Hersteller eine Garantie über die gesetzlichen zwei Jahre hinaus, kommt ein zweites Label dazu: das Garantielabel mit Marke, Modellkennung und Garantiejahren. Grundlage sind die Richtlinie (EU) 2024/825 und die Durchführungsverordnung (EU) 2025/1960.
Das Plugin bringt dafür zwei Bausteine für den OnPage Composer mit: die Mitteilung für Artikelseite und Warenkorb, das Garantielabel für die Artikelseite. Gesteuert wird aus der Wawi, über Funktionsattribute am Artikel.
Der OnPage Composer legt für jeden Artikel eine eigene Seite an — für Variantenkinder ebenfalls. So steht es im Kern (PageService::createCurrentPageId()). Wer die Mitteilung auf der Seite von Artikel 4711 ablegt, hat sie bei Artikel 4712 nicht. Bei zwanzigtausend Artikeln ist das kein Weg.
Ich hatte das zunächst selbst anders angenommen und in der Dokumentation falsch beschrieben; aufgefallen ist es beim Nachlesen im Kern, korrigiert in Version 0.4. Seitdem gibt es eine Einstellung, die die Mitteilung auf allen Artikelseiten zeigt — ohne Composer und ohne Template-Datei. Das Plugin hängt sich an den Hook, der auf der Artikelseite nach allen Zuweisungen und vor dem Rendern läuft, und setzt die Mitteilung an die Beschreibung des Artikels. Wählbar sind vier Plätze: über oder unter der Beschreibung, über oder unter der Kurzbeschreibung.
Zwei Dinge gehören dazu. Das Stylesheet lädt der Composer nur dort, wo ein Baustein liegt — auf dem Weg über den Hook bringt das Plugin es deshalb selbst mit. Und wer beides nutzt, Einstellung und Baustein, bekommt die Mitteilung auf dieser Seite doppelt. Entweder — oder.
Wer im Backend einen Schritt des Checkouts im OnPage Composer öffnet, bekommt die Meldung, dass der Composer diesen Bereich nicht bearbeiten kann. Das ist kein Fehler: In den 22 Checkout-Vorlagen von NOVA steht kein einziger Andockpunkt, nachgezählt an JTL-Shop 5.7.2. Der Warenkorb hat fünf.
Die Leitlinien verlangen den Checkout auch nicht. Sie nennen die Produktseite, den Kopf der Website und den Checkout als Beispiele — ausdrücklich als nicht abschließende Aufzählung. Mit Artikelseite und Warenkorb steht die Mitteilung vor dem Abschluss der Bestellung, ohne dass der Checkout angefasst wird.
Wer sie trotzdem im letzten Schritt haben will, hat zwei Wege ohne Template-Eingriff: einen Eintrag in der Checkbox-Verwaltung des Shops ohne Pflichthaken, oder einen Satz im Kopf der Website, der auf eine Seite mit der Mitteilung verweist.
Beide amtlichen Dateien tragen einen QR-Code, den am Bildschirm niemand scannen kann. Die Leitlinien verlangen deshalb immer auch einen anklickbaren Link zum selben Ziel. Im Plugin ist er fest eingebaut, für alle 24 Sprachen mit der Adresse, die die Kommission vorgibt.
An der Mitteilung dürfen keine eigenen Elemente, Symbole oder Texte stehen. Ein zunächst eingebautes Info-Symbol vor dem Satz ist deshalb wieder herausgeflogen.
Online ist die farbige Fassung vorgesehen. Die Mitteilung erscheint in der Sprache, in der der Kunde den Shop sieht.
Das Label verlangt die Schrift Inter. Sie liegt im Plugin, unter freier Lizenz — kein Aufruf bei Google.
Geändert wurde nur der Dateiname. Für jede Datei belegt ein SHA-256-Wert, dass der Inhalt dem der Kommission entspricht. Im Garantielabel werden genau drei Felder gefüllt: Marke, Modellkennung und Jahre.
Garantiejahre, Marke, Modellkennung, Link zu den Garantiebedingungen, Gebrauchtware und ein Ausschluss je Artikel — alles über Funktionsattribute. Die Namen sind mit einem verbreiteten Plugin kompatibel, gepflegte Daten bleiben nutzbar.
Deckt die Herstellergarantie nur die gesetzlichen zwei Jahre ab, erscheint bewusst kein Garantielabel — es würde mehr verwirren als erklären.
Eine A4-Seite ist auf 300 Pixeln Breite nicht zu lesen. Aufgeklappt steht deshalb zusätzlich ein Link, der die amtliche Datei in voller Größe öffnet — zum Zoomen.
Die Mitteilung klappt über ein HTML-Element auf, das jeder Browser kennt. Fällt das Skript aus, ist sie trotzdem vollständig sichtbar — eine Pflichtangabe darf nicht an einer Skriptdatei hängen.
Amtssprachen, jede mit der Originaldatei der Kommission und der passenden Adresse des Your-Europe-Portals.
Seiten Praxisleitlinien der Kommission, Stand 1. April 2026, ausgewertet.
Andockpunkte in den 22 Checkout-Vorlagen von NOVA — nachgezählt an JTL-Shop 5.7.2.
über die Leitung für das volle Garantielabel, 294 KB roh — die Voraussetzung dafür, es direkt in die Seite einzubetten.
Handybreite ohne waagerechtes Scrollen, im Browser gemessen.
geänderte Dateien im Template, kein Ausgabefilter.
Gemessen am Plugin 0.4.0 vom 16. September 2026; Zählungen im Kern an JTL-Shop 5.7.2 aus JTLs öffentlichem Repository.
Drei Fragen bleiben, und ich schreibe sie hierhin, statt sie wegzulassen:
Was ich für JTL-Shop und JTL-Wawi baue — und wie ich dabei vorgehe.
Ansehen →Fünfzehn Bausteine für einen Relaunch — und neun Regeln aus dem Quellcode, die in keiner Anleitung stehen.
Lesen →Ein Shop-Update vorher an einer Kopie durchspielen — bevor Ihre Kunden es tun.
Ansehen →Dann lässt sie sich ohne Eingriff ins Template nachrüsten. Schreiben Sie mir, auf welcher Version Ihr Shop läuft.
Individuelle Software und Werkzeuge für Betriebe, die mit Standardlösungen an Grenzen stoßen.