Ab Shopware 6.7.14 pflegst du GARAN-Label und Gewährleistungshinweis im Standard

Shopware 6.7.14 liefert die beiden EU-Pflichtkennzeichnungen nach Verordnung 2025/1960 nativ mit. So trägst du die Garantiedaten im Artikel ein, so schaltest du den Gewährleistungshinweis scharf — und das sind die Stolperfallen.

Philipp Flaum
14 min Lesezeit
Aktualisiert am
ShopwareGewährleistungCompliance
Die Karte "Garantie (GARAN Label)" im Shopware-Admin neben dem fertig gerenderten GARAN-Label mit EU-Flagge, QR-Code und Garantiedauer

Nachtrag vom 29. September 2026

Zwei Wochen nach der Erstveröffentlichung ist an dem Feature mehr passiert, als ich erwartet hatte: drei Patch-Releases, die diesen Beitrag an vier Stellen überholen. Das Wichtigste zuerst.

6.6 hat die beiden Kennzeichnungen ebenfalls. Shopware hat das Feature mit 6.6.10.24 (10. September 2026) nach 6.6 zurückportiert — dieselben Produktfelder, derselbe Schalter in den Einstellungen, dieselben 24 Sprachfassungen. Weiter unten stand, vor 6.7.14 gebe es davon nichts. Das gilt nur noch für 6.5 und älter. Wenn du auf 6.6 sitzt, brauchst du für die Pflichtkennzeichnung kein Major-Update, sondern ein Patch-Update. Die Anleitung unten gilt dort genauso.

Auf 6.6 gehst du auf 6.6.10.27. Das Release vom 24. September behebt einen Fehler, der die Bestellübersicht im Kundenkonto zerlegt (PR #20705): Das Label-Template zog die Produktreferenz aus lineItem.referencedId. Bei einer Bestellposition steht dort aber nicht zwingend eine Produkt-ID — Custom-Line-Items aus Plugins, ERP-Importe und eigene Positionstypen tragen dort beliebige Strings. Der Label-Filter erwartet eine UUID, wirft eine Exception, und /account/order ist für diesen Kunden tot. Nicht das Label fehlt: die ganze Seite. Der Fix nimmt für Bestellpositionen lineItem.productId und behält referencedId nur für Warenkorbpositionen; Bestellpositionen ohne verknüpftes Produkt zeigen kein Label.

Auf 6.7 ist dieser Fix in keinem Release. Er liegt als PR #20704 auf 6.7.15.x und wartet auf das Release. Aktuell ist 6.7.14.2 — dort steckt der Bug noch drin. Wenn du 6.7 fährst und Bestellungen mit Custom-Line-Items hast, ruf die Bestellübersicht eines betroffenen Kunden auf, bevor der Fehler dich über den Support erreicht. Als Zwischenlösung reicht ein Theme-Override auf genau diese eine Zeile in storefront/component/line-item/element/garan-label.html.twig.

6.6 ist bei GARAN gerade besser gepflegt als 6.7. Ein Release vorher, in 6.6.10.26 (23. September), sind drei weitere Fixes gelandet, die es auf 6.7 ebenfalls noch in kein Release geschafft haben:

  • Varianten erben den Schalter jetzt wirklich. guarantee_confirmed lag als NOT NULL DEFAULT 0 in der Datenbank, jede Variante trug also ihre eigene 0 — und die Vererbung vom Hauptartikel griff nie. Eine Migration macht die Spalte nullable und setzt sie für alle Varianten mit Default-Wert auf NULL. Varianten, die du bewusst ausgeschaltet hast, bleiben aus.
  • Der Admin sagt jetzt, was fehlt. Steht der Schalter an, listet ein Banner in der Garantie-Karte die fehlenden Voraussetzungen auf: Dauer, Hersteller, Hersteller-Produktnummer — inklusive Vererbung aufgelöst.
  • Obergrenze und Mail-Label. Die Garantiedauer ist bei 600 Monaten gedeckelt (vorher waren 500 Jahre möglich), und das Label in der Bestellbestätigungsmail bekommt feste Maße plus Alternativtext, statt auf Mailbreite skaliert und abgeschnitten zu werden.

Im 6.6-Branch stehen bereits die nächsten Fixes für das folgende Release: das Label als PNG für die Bestellbestätigungsmail, Textüberläufe im Label und der Hinweis-Link in den Datenschutzhinweisen. Das Feature ist erkennbar noch in Bewegung — wenn du es scharf schaltest, halte die Patch-Releases nach.

Der Rest dieses Beitrags ist auf einer 6.7.14.0 durchgespielt und gilt unverändert; die drei Stellen, an denen 6.6.10.26 inzwischen weiter ist, sind unten markiert.

Das Problem

Am 27. September 2026 greift die Durchführungsverordnung (EU) 2025/1960. Ab dann brauchst du in jedem B2C-Shop zwei EU-weit einheitliche Kennzeichnungen:

  1. den Gewährleistungshinweis — die harmonisierte Mitteilung über die gesetzliche Gewährleistung, gilt für jeden Verkauf an Verbraucher,
  2. das GARAN-Label — nur für Produkte, für die der Hersteller eine Haltbarkeitsgarantie von mehr als zwei Jahren gibt.

Beide sind bis ins Detail vorgeschrieben: amtliche Grafik, amtlicher Wortlaut, QR-Code, feste Farben. Du darfst dir da nichts ausdenken.

Bis vor Kurzem hieß das für Shopware-Shops: Theme-Override, eigene SVGs, eigene Felder. Das ist jetzt vorbei.

Zwei Kennzeichnungen, zwei völlig verschiedene Arbeiten

Bevor du irgendetwas im Admin anfasst: Die beiden Kennzeichnungen haben außer dem Stichtag fast nichts gemeinsam. Sie kommen aus verschiedenen Rechtsgründen, betreffen verschiedene Produkte, werden an verschiedenen Stellen gepflegt und erscheinen an verschiedenen Stellen im Shop. Wer sie in einen Topf wirft, pflegt entweder zu viel oder übersieht den entscheidenden Schalter.

GewährleistungshinweisGARAN-Garantielabel
Rechtsgrundgesetzliche Mängelhaftung, mindestens 24 Monatefreiwillige Haltbarkeitsgarantie des Herstellers
Gilt fürjeden Verkauf an Verbraucher, ausnahmslosnur Produkte mit Herstellergarantie über 24 Monate
Produktbezugkeiner — der Text ist für alle Waren identischproduktindividuell, mit Marke, Modell und Dauer
Was du pflegstnichts am ProduktguaranteeMonths + guaranteeConfirmed je Artikel
Wo du es steuerstEinstellungen → Warenkorb, einmal für den ShopProdukt → Tab Allgemein, je Artikel
Wo es erscheintnur Bestellabschluss-Seite, als Link in der AGB-ZeileProduktseite, Warenkorb, Checkout, Bestellbestätigungsmail
Sprachen24 EU-Amtssprachen, fertig mitgeliefertMarke und Modell aus deinen Produktdaten
Wenn es fehltVerstoß — der Hinweis ist für alle PflichtVerstoß nur, wenn die Garantie tatsächlich besteht

Die Zeile, die in der Praxis am meisten Zeit kostet, ist die vierte: Für die Gewährleistung gibt es am Produkt nichts einzutragen. Kein Feld, keine Zusatzangabe, keine Textbaustein-Pflege pro Artikel. Die gesetzliche Gewährleistung gilt kraft Gesetzes, und der Hinweistext ist EU-weit bis auf den Buchstaben vorgeschrieben. Shopware bringt ihn fertig mit.

Die ganze Datenarbeit in diesem Beitrag betrifft also ausschließlich das GARAN-Label — und davon nur die Artikel, für die der Hersteller wirklich mehr als zwei Jahre garantiert.

Was 6.7.14 ändert

Shopware hat beides in den Standard übernommen. Konkret bekommst du:

  • zwei neue Felder direkt am Produkt (guaranteeMonths, guaranteeConfirmed),
  • das GARAN-Label als fertiges SVG in der Produktdetailseite, im Warenkorb und in der Bestellbestätigungsmail,
  • den Gewährleistungshinweis in 24 EU-Amtssprachen, automatisch in der Storefront-Sprache des Kunden,
  • zwei Store-API-Routen für Headless-Setups.

Kein Plugin. Kein Theme-Eingriff. Was bleibt, ist Datenpflege — und ein Schalter, den du kennen musst.

Ich habe das auf einer Shopware 6.7.14.0 durchgespielt. Hier ist der komplette Weg.

Schritt 1 — Hersteller und Hersteller-Produktnummer prüfen

Das wird gern übersehen: Das GARAN-Label erscheint nur, wenn am Produkt vier Dinge gesetzt sind — Garantiedauer, die Checkbox, ein Hersteller und eine Hersteller-Produktnummer. Fehlt eines davon, rendert Shopware das Label kommentarlos nicht. Keine Fehlermeldung, kein Hinweis im Admin — auf 6.7.14.x bis heute. Auf 6.6.10.26 und neuer listet ein Banner in der Garantie-Karte auf, was noch fehlt (siehe Nachtrag oben).

Das ist bewusst so gebaut: Marke und Modellkennung stehen auf dem Label, ein unvollständiges Label wäre unzulässig. Für dich heißt es aber, dass du zuerst im Tab Allgemein nach unten scrollst und den Block Auszeichnung prüfst.

Shopware-Admin, Produkt-Tab "Allgemein": Feld "Hersteller-Produktnummer" mit SWDEMO10006, darunter die noch leere Karte "Garantie (GARAN Label)"

Direkt darunter sitzt die neue Karte Garantie (GARAN Label).

Schritt 2 — Warum 24 Monate nicht funktioniert

In die Karte trägst du die Dauer der herstellerseitigen Garantie in Monaten ein. Der Hilfetext sagt: Mindestwert 30, in Schritten von 6.

Das ist keine Empfehlung, sondern eine harte Regel im Server. Die Verordnung kennt nur Haltbarkeitsgarantien von über zwei Jahren, in Halbjahresschritten. Shopware bildet das 1:1 ab: erlaubt sind nur Werte über 24, die durch 6 teilbar sind.

Trägst du etwas anderes ein — im Beispiel 35 — scheitert das Speichern:

Shopware-Admin: Feld mit dem Wert 35 rot markiert, darunter die Fehlermeldung "The GARAN guarantee duration must be empty or a half-year value greater than 24 months."

Zwei Dinge fallen hier auf. Erstens greift die Prüfung serverseitig — auch über die Admin-API kommst du an ihr nicht vorbei. Zweitens ist die Fehlermeldung in einem deutschen Admin auf Englisch. Kein Beinbruch, aber verwirrend, wenn ein Kollege das zum ersten Mal sieht.

Gültige Werte sind 30, 36, 42, 48 und so weiter. Trägst du 30 ein, zeigt das Label „2,5" — halbe Jahre sind vorgesehen.

Schritt 3 — Label scharfschalten

Gültige Dauer eintragen, den Schalter Label in der Storefront anzeigen umlegen, speichern:

Shopware-Admin: Karte "Garantie (GARAN Label)" mit 36 Monaten und aktiviertem Schalter "Label in der Storefront anzeigen"

Der Schalter ist bewusst getrennt von der Dauer. Die Garantiedauer ist eine Produktinformation, die du pflegen kannst, ohne sie sofort zu veröffentlichen. Erst der Schalter ist deine Bestätigung, dass die Angabe stimmt und der Hersteller die Garantie tatsächlich gewährt.

So sieht das im Storefront aus

Auf der Produktseite erscheint das Label direkt unter der Produktnummer — also in räumlicher Nähe zu Preis und Kaufen-Button. Zunächst als schmale, eingeklappte Variante:

Produktdetailseite: schmales GARAN-Label mit der Ziffer 3 unter der Produktnummer, darunter der Link "GARAN-Kennzeichnung anzeigen"

Ein Klick auf GARAN-Kennzeichnung anzeigen tauscht sie gegen das vollständige Label:

Produktdetailseite mit vollständigem GARAN-Label: Marke "Shopware Freizeit", Modellkennung SWDEMO10006, Ziffer 3, Kalender-Icon 365, QR-Code und die Legende in 24 EU-Sprachen

Das ist genau die „verschachtelte" Darstellung, die die Verordnung für Online-Transaktionen erlaubt: Das Label muss beim ersten Klick vollständig aufklappen — und genau das tut es.

Beachte die Marke auf dem Label: In der deutschen Storefront steht dort „Shopware Freizeit", in der englischen „Shopware Freetime". Shopware zieht den übersetzten Herstellernamen. Wenn du Hersteller nur einsprachig gepflegt hast, steht das auch so auf dem Label.

Dieselbe schmale Variante taucht zusätzlich als Position im Warenkorb, im Checkout und in der Bestellbestätigungsmail auf.

Der Gewährleistungshinweis läuft komplett getrennt

Und hier kommt der Punkt, an dem die meisten Shops auflaufen werden.

Der Gewährleistungshinweis hat nichts mit dem Produkt zu tun — er gilt für alle Waren. Deshalb steuerst du ihn zentral unter Einstellungen → Warenkorb, Block Bestellabschluss:

Shopware-Admin, Einstellungen → Warenkorb: der Schalter "Gewährleistungshinweis auf Bestellabschlussseite anzeigen" steht auf aus

Der Schalter steht aus. In der Konfigurationsdatei von Shopware ist der Standardwert zwar true — aber auf einer laufenden Installation existiert dafür schlicht kein gespeicherter Wert, und der Shop wertet das als „aus". Ergebnis: Der Bestellabschluss zeigt gar keinen Hinweis, und die Store-API-Route /store-api/legal-guarantee-notice liefert svg: null.

Mit anderen Worten: Nach dem Update ist der Gewährleistungshinweis nicht aktiv. Du musst den Schalter einmal bewusst umlegen und speichern. Das ist der Ein-Klick-Schritt, der am 27. September 2026 über abmahnfähig oder nicht entscheidet.

Ist er an, ergänzt Shopware die AGB-Zeile im Bestellabschluss um einen Link:

Bestellabschluss: Checkbox-Zeile "Ich habe die AGB gelesen und bin mit ihnen einverstanden und bestätige meine gesetzlichen Gewährleistungsrechte" mit hervorgehobenem Link

Hinter dem Link öffnet sich die amtliche Mitteilung — in der Storefront-Sprache des Kunden, mit QR-Code auf das Portal „Ihr Europa":

Modal "Ihre gesetzlichen Gewährleistungsrechte" mit der amtlichen EU-Grafik: blauer Kopf "GESETZLICHE GEWÄHRLEISTUNG", Erklärtexte und QR-Code auf europa.eu/youreurope/garantien

Die 24 Sprachfassungen bringt Shopware fertig mit. Du musst nichts übersetzen, nichts hochladen, nichts pflegen.

Worauf du noch achten solltest

Varianten erben — mit einer Einschränkung. Beide Felder sind als Vererbungsfelder angelegt. Pflegst du Dauer und Schalter am Hauptartikel, gelten sie für alle Varianten, es sei denn, du überschreibst sie einzeln. Bei Produkten mit 30 Größen spart das viel Klickerei. Der Schalter vererbt sich auf 6.7.14.x allerdings nicht wirklich: die Datenbankspalte war NOT NULL DEFAULT 0, jede Variante trug ihre eigene 0. Auf 6.6.10.26 ist das per Migration behoben, auf 6.7 steht der Fix noch aus. Prüf auf 6.7 also bei einer Variante im Frontend nach, ob das Label erscheint — oder setz den Schalter vorerst je Variante.

Massenpflege geht über Import/Export. Die Felder sind API-fähig und heißen guaranteeMonths und guaranteeConfirmed. Für einen Katalog mit ein paar hundert Garantie-Artikeln ist ein Import-Profil deutlich schneller als die Einzelpflege — die Validierung greift dort genauso.

Der Hinweis steht nur im Checkout. Shopware zeigt den Gewährleistungshinweis ausschließlich auf der Bestellabschluss-Seite, und dort als Textlink in der AGB-Zeile. Auf der Produktseite steht er nicht. Ob das reicht, ist unter Juristen strittig: Ein Teil hält eine einmalige, globale Darstellung im Warenkorb oder Checkout für ausreichend, ein anderer fordert die Produktseite in Nähe zu Preis und Kaufen-Button. Shopware liegt damit am permissiven Ende der Auslegung. Wenn du auf Nummer sicher gehen willst, brauchst du an dieser Stelle weiterhin eine eigene Lösung.

Custom Themes brauchen Inter. Marke, Modellkennung und Garantiedauer sind im Label echter Text in der Schriftart Inter — ohne eingebettete Schriftdatei. Das Standard-Theme lädt Inter, dort passt es. Ein Custom-Theme ohne Inter zeigt diese drei Felder in einer Ersatzschrift, und die Verordnung schreibt Inter ausdrücklich vor. Einmal im Frontend gegenprüfen.

In Mails ist auf das Label kein Verlass. Shopware bettet das Label in der Bestellbestätigung als SVG-Data-URI in ein <img> ein. Gmail und Outlook rendern das nicht — beim Kunden bleibt eine leere Stelle. Auf 6.7.14.x fehlt dort auch der Alternativtext, und das Bild skaliert ohne Maßangaben auf Mailbreite. 6.6.10.26 hat beides repariert, das nächste 6.6-Release bringt das Label zusätzlich als PNG. Für die Pflichtkennzeichnung im Shop ist das egal, für die Mail solltest du es wissen.

Der Hinweis wiegt schwer. Die amtliche Grafik ist ein A4-Vektor und landet als rund 650 KB Inline-SVG im HTML der Bestellabschluss-Seite. Das ist kein Beinbruch, fällt in einem Performance-Budget aber auf.

Headless. Für eigene Frontends gibt es GET /store-api/product/{productId}/garan-label und GET /store-api/legal-guarantee-notice. Beide liefern das fertige SVG, die zweite zusätzlich den passenden „Ihr Europa"-Link zur Sprache.

Ältere Versionen. Auf 6.6 gibt es beides seit 6.6.10.24, dort solltest du direkt auf 6.6.10.27 gehen (siehe Nachtrag oben). Wirklich nichts hat nur, wer auf 6.5 oder älter sitzt — oder auf einer 6.7 vor 6.7.14. Dann brauchst du das Update oder eine eigene Umsetzung, siehe dazu meinen Beitrag zum EU-Gewährleistungslabel.

Drei Fragen, die mir dazu immer wieder gestellt werden

„Muss ich für Gewährleistungsfälle auch etwas am Produkt eintragen?"

Nein. Nirgends. Die gesetzliche Gewährleistung ist keine Angabe, die du pflegst — sie gilt automatisch für jede Ware, die du an einen Verbraucher verkaufst. Entsprechend gibt es in Shopware kein Gewährleistungsfeld am Artikel, und du brauchst auch keines. Was die Verordnung verlangt, ist nur, dass der amtliche Hinweistext im Bestellprozess sichtbar ist. Das ist ein einziger Schalter für den gesamten Shop.

„Reicht es, wenn ich auf 6.7.14 bin?"

Nein — und das ist die teuerste Fehlannahme an dieser Stelle. Das Update liefert die Funktion, aktiviert sie aber nicht. Der Gewährleistungshinweis bleibt nach dem Update aus, weil auf einer laufenden Installation kein gespeicherter Konfigurationswert existiert und der Shop das als „aus" wertet — obwohl in der Konfigurationsdatei true steht. Du kannst also sauber auf 6.7.14 sein und trotzdem am 27. September 2026 ohne Hinweis dastehen.

Prüfen lässt sich das in zwei Sekunden: Ruf /store-api/legal-guarantee-notice auf. Kommt svg: null zurück, ist der Schalter aus. Oder schau schlicht im Bestellabschluss nach, ob in der AGB-Zeile der zusätzliche Link steht.

„Die Garantie trage ich ein — aber schlimm ist es nicht, wenn sie mal nicht drinsteht, oder?"

Doch, das kommt darauf an — und zwar genau umgekehrt, als die Frage es nahelegt. Die Logik läuft nicht über deine Entscheidung, sondern über die Tatsache:

  • Der Hersteller gewährt eine Haltbarkeitsgarantie über zwei Jahre? Dann ist das Label Pflicht, nicht Kür. Fehlt es, fehlt eine vorgeschriebene Kennzeichnung.
  • Der Hersteller gewährt keine solche Garantie? Dann trägst du nichts ein, und das ist vollkommen richtig so. Eine Garantie auszuweisen, die es nicht gibt, wäre irreführende Werbung — also deutlich schlimmer als das fehlende Label.

„Nicht schlimm, wenn nichts drinsteht" stimmt also nur im zweiten Fall. Im ersten ist das Label so verbindlich wie der Gewährleistungshinweis.

Beruhigend ist immerhin: Shopware lässt dich kein halbfertiges Label veröffentlichen. Fehlt Hersteller, Hersteller-Produktnummer oder eine gültige Dauer, wird die Ausgabe unterdrückt. Ein unvollständiges und damit unzulässiges Label bekommst du auf diesem Weg nicht hin — wohl aber gar keines, ohne es zu merken.

Kurzer Hinweis

Dieser Beitrag beschreibt, wie du das Feature in Shopware technisch pflegst. Er ist keine Rechtsberatung und ersetzt keine. Ob die native Lösung in deinem konkreten Fall — Sortiment, Herstellerangaben, Zielmärkte, Sprachen — die Anforderungen der Verordnung vollständig erfüllt, klärst du am besten mit deinem Anwalt.

Nächster Schritt

Drei Dinge, die du heute erledigen kannst:

  1. Einstellungen → Warenkorb öffnen und den Gewährleistungshinweis einschalten. Das ist ein Klick und betrifft deinen gesamten Shop.
  2. Eine Liste der Artikel ziehen, für die der Hersteller mehr als zwei Jahre Garantie gibt. Das ist die eigentliche Arbeit — und sie hat nichts mit Shopware zu tun.
  3. Für diese Artikel Hersteller, Hersteller-Produktnummer und Garantiedauer pflegen. Einmal im Frontend gegenprüfen, ob das Label wirklich erscheint.

Der 27. September 2026 klingt weit weg. Die Datenbeschaffung beim Hersteller ist aber der langsame Teil, nicht die Pflege im Shop.

Du willst wissen, ob dein Theme oder deine Plugins der nativen Lösung in die Quere kommen? Schick mir eine Storefront-URL über das Kontaktformular, ich schau einmal rein.

→ Zum Kontaktformular

Über den Autor

Geschrieben von Philipp Flaum

Das Novastrix Team teilt Expertise und Insights über E-Commerce, Online-Handel und digitale Lösungen für Lieferanten und Händler.

Mehr erfahren?

Entdecken Sie, wie Novastrix Ihnen helfen kann, Ihre Produkte erfolgreich online zu verkaufen