Ab dem 19. Juni 2026 wird der Widerrufsbutton für alle B2C-Fernabsatzverträge mit gesetzlichem Widerrufsrecht Pflicht. Grundlage ist § 356a BGB, umgesetzt durch die EU-Richtlinie 2023/2673. Wer die Frist verpasst, riskiert Abmahnungen und wettbewerbsrechtliche Ansprüche von Mitbewerbern und Verbänden. Kommt eine fehlende oder fehlerhafte Widerrufsbelehrung dazu, verlängert sich die Widerrufsfrist nach § 356 Abs. 3 BGB auf bis zu 12 Monate und 14 Tage.
Shopware hat die Funktion mit Version 6.7.9.0 eingeführt und auf 6.6.10.14 zurückportiert. Das Problem: Weder die offizielle Dokumentation noch die meisten Anleitungen erklären den Einrichtungsprozess für 6.6 vollständig. In diesem Beitrag zeigen wir den kompletten Weg: ohne Plugin, ohne Custom Code, ausschließlich mit Bordmitteln. Den rechtlichen Rahmen und den Überblick über die anderen Shop-Systeme (WooCommerce, Shopify, JTL) findest du im Beitrag Widerrufsbutton ab 19. Juni 2026: Was § 356a BGB bedeutet.
Was der Gesetzgeber verlangt
Der Widerrufsprozess ist nach § 356a BGB zweistufig aufgebaut:
- Stufe 1, Widerrufsformular: Der Verbraucher erreicht über einen klar beschrifteten Button („Vertrag widerrufen") das Widerrufsformular. Dort gibt er die Pflichtdaten ein: Name, Vertragsidentifikation (z.B. Bestellnummer) und ein Kommunikationsmittel für die Eingangsbestätigung (in der Regel E-Mail).
- Stufe 2, Bestätigungsseite: Nach dem Absenden des Formulars wird der Verbraucher auf eine Bestätigungsseite mit einer separaten Schaltfläche „Widerruf bestätigen" geleitet. Erst dieser zweite Klick löst den Widerruf rechtsverbindlich aus.
Zusätzlich zur Zweistufigkeit muss der Verbraucher unverzüglich eine Eingangsbestätigung per E-Mail erhalten. Das ist eine eigene Pflicht und nicht mit Stufe 2 zu verwechseln.
Der Button selbst muss gut sichtbar im Footer platziert sein, ohne Login-Pflicht, auch für Gastbesteller erreichbar. Der Widerrufsgrund darf kein Pflichtfeld sein. Verbraucher können ohne Angabe von Gründen widerrufen.
Wichtig: Auch die Widerrufsbelehrung muss zum Stichtag angepasst werden und einen Hinweis auf die elektronische Widerrufsfunktion und deren Fundort enthalten. Das ist Sache der Rechtstextquelle (IT-Recht-Kanzlei, Händlerbund, Trusted Shops) und nicht über die Shopware-Konfiguration lösbar.
Das native Widerrufsformular: Pflichtfelder und Ablauf für den Kunden
Der Formulartyp „Widerruf" bringt alle gesetzlich nötigen Felder von sich aus mit. Du musst nichts davon manuell anlegen:
- Name des Verbrauchers.
- Vertragsidentifikation, in der Regel die Bestellnummer.
- E-Mail-Adresse für die Eingangsbestätigung.
Der Widerrufsgrund ist bewusst kein Pflichtfeld. Verbraucher dürfen ohne Angabe von Gründen widerrufen, ein erzwungenes Grund-Feld wäre selbst ein Rechtsverstoß.
Aus Kundensicht läuft der Widerruf in drei Etappen ab: Über den Footer-Button „Vertrag widerrufen" öffnet sich das Formular, der Kunde füllt es aus und sendet es ab. Danach landet er auf einer Bestätigungsseite mit der separaten Schaltfläche „Widerruf bestätigen". Erst dieser zweite Klick löst den Widerruf rechtsverbindlich aus. Unmittelbar danach bekommt der Kunde die Eingangsbestätigung per E-Mail, parallel geht eine Benachrichtigung an den Shopbetreiber.
Konfigurierbar sind nur Titel und Bestätigungstext des Formulars. Die Feldlogik, die Zweistufigkeit und der Mailversand sind fest verdrahtet, genau das nimmt dir die technische Umsetzungsarbeit ab. Für die vollständige Rechtskonformität kommen Widerrufsbelehrung, Fristprüfung und Datenschutz dazu, mehr dazu unten. Wie du das Formular technisch in ein Layout bekommst, steht in Schritt 2.
Voraussetzung: Shopware 6.6.10.14 oder neuer
Der Widerrufsbutton steht erst ab Version 6.6.10.14 zur Verfügung. Wer eine ältere 6.6er-Version betreibt, muss zuerst aktualisieren. Shops auf Shopware 6.5 oder älter müssen auf 6.6 oder 6.7 updaten. Einen Backport für ältere Major-Versionen gibt es nicht.
Die aktuelle Version lässt sich im Admin unter Einstellungen > System > Shopware-Version prüfen.
Schritt 1: Erlebniswelt-Layout anlegen
Shopware hätte beim Update auf 6.6.10.14+ automatisch ein Widerrufsantrag-Layout anlegen sollen. In der Praxis passiert das nicht immer. Falls kein passendes Layout vorhanden ist:
- Im Admin zu Inhalte > Erlebniswelten navigieren.
- Auf „Neues Layout anlegen" klicken.
- Als Typ „Shopseite" wählen.
- Einen aussagekräftigen Namen vergeben, z.B. „Widerrufsantrag".
Schritt 2: Das Widerrufs-Formular einfügen
Hier passiert der entscheidende Schritt, der in den meisten Anleitungen fehlt oder falsch beschrieben wird.
- Im Layout-Editor auf das + klicken, um einen neuen Block hinzuzufügen.
- In der Block-Auswahl links auf „Formular" klicken.
- Das Formular-Element per Drag & Drop in den Inhaltsbereich ziehen.
- Auf das eingefügte Element klicken, rechts öffnen sich die Element-Einstellungen.
In den Element-Einstellungen gibt es drei Felder:
- Formulartyp: Hier steht die Auswahl zwischen „Kontakt", „Newsletter" und „Widerruf". Den Typ „Widerruf" auswählen. Das ist die native Shopware-Lösung. Sie bringt die korrekten Formularfelder, die zweistufige Bestätigung, den Mailversand und die Eingangsbestätigung automatisch mit.
- Titel: Z.B. „Vertrag widerrufen".
- Bestätigungstext: Der Text, den der Kunde nach der finalen Bestätigung sieht. Z.B. „Ihr Widerruf wurde erfolgreich übermittelt. Sie erhalten in Kürze eine Bestätigung per E-Mail."
Layout speichern.
Schritt 3: Layout in den Stammdaten zuweisen
- Im Admin zu Einstellungen > Shop > Stammdaten navigieren.
- Zum Abschnitt „Shopseiten" scrollen.
- Bei „Shopseiten-Layout für Widerrufsantrag Seite" das eben erstellte Layout auswählen. Nicht die Widerrufsbelehrung, das sind zwei verschiedene Dinge. Die Widerrufsbelehrung ist der Rechtstext, die Widerrufsantrag-Seite ist das Formular.
- Speichern.
Schritt 4: Button im Footer aktivieren
- Auf derselben Seite (Stammdaten) zum Abschnitt „Recht und Datenschutz" scrollen.
- Den Toggle „Button ‚Vertrag widerrufen' im Footer anzeigen" aktivieren.
- Speichern.
Schritt 5: Cache leeren und testen
- Im Admin unter Einstellungen > System > Caches & Indizes den Cache leeren.
- Im Frontend die Seite aufrufen.
- Im Footer auf „Vertrag widerrufen" klicken.
- Es öffnet sich ein Modal mit dem Widerrufsformular.
- Testdaten eingeben und absenden.
- Auf der Bestätigungsseite den Button „Widerruf bestätigen" klicken.
- Prüfen, ob die Eingangsbestätigung beim Kunden und die Benachrichtigungsmail beim Shopbetreiber ankommen.
Häufige Fehler und Fallstricke
Button erscheint nicht im Footer
Bei Drittanbieter-Themes (z.B. Zenit GRAVITY Pro, ThemeWare) kann es vorkommen, dass das Theme den Footer überschreibt und den nativen Button nicht rendert. In dem Fall prüfen, ob eine aktuelle Theme-Version installiert ist, die den Widerrufsbutton explizit unterstützt. ThemeWare benötigt mindestens Version 3.7.4, bei GRAVITY Pro muss die aktuellste 6.6-kompatible Version installiert sein. Nach dem Theme-Update: Theme neu kompilieren unter Inhalte > Themes.
Formular wird angezeigt, aber keine Mail versendet
Mögliche Ursachen:
- E-Mail-Template nicht aktiv: Unter Einstellungen > E-Mail-Templates prüfen, ob das Template für das Widerrufsformular aktiviert ist.
- Flow Builder: Unter Einstellungen > Flow Builder prüfen, ob ein Flow für das Widerrufs-Event existiert und aktiv ist.
- SMTP-Konfiguration: Unter Einstellungen > System > Mailer prüfen, ob der Mailversand grundsätzlich funktioniert. Ein einfacher Test: eine Testbestellung aufgeben und prüfen, ob die Bestellbestätigung ankommt.
Nur Rechtstext statt Formular im Modal
Das passiert, wenn bei „Shopseiten-Layout für Widerrufsantrag Seite" versehentlich das Layout der Widerrufsbelehrung zugewiesen wurde. Die Widerrufsbelehrung ist ein reiner Rechtstext. Das Widerrufsantrag-Layout muss das CMS-Formular-Element mit Typ „Widerruf" enthalten.
Custom-HTML-Ansatz funktioniert nicht
Shopware filtert <script>-Tags aus CMS-Text-Blöcken und HTML-Blöcken. Ein Custom-Formular mit JavaScript ist über das CMS daher nicht zuverlässig umsetzbar. Der native Formulartyp „Widerruf" ist ohne Plugin oder Custom-Code die einzige zuverlässige Lösung.
Was nicht funktioniert
- Kontaktformular als Widerrufsformular missbrauchen: Das bestehende Kontaktformular erfüllt nicht die gesetzlichen Anforderungen. Es fehlen die spezifischen Felder und der zweistufige Prozess.
- Mailto-Links: Ein
mailto:-Link ist nicht rechtskonform, weil er vom E-Mail-Client des Kunden abhängt. Der Widerruf muss im Shop abschließbar sein. - Custom JavaScript im CMS: Shopwares Content-Sanitizer entfernt Script-Tags. Selbst über Umwege (Theme-Custom-Code-Felder, Tracking-Felder) ist die Lösung fragil und nicht wartbar.
- Plugins für Shopware 6.7 auf 6.6 installieren: Nicht alle Widerrufs-Plugins aus dem Store sind abwärtskompatibel. Die Versionskompatibilität muss vor der Installation geprüft werden.
Plugin oder Bordmittel? Wann sich ein Widerrufs-Plugin trotzdem lohnt
Für Shopware 6.6.10.14 und neuer brauchst du kein Plugin. Der native Formulartyp „Widerruf" deckt die technischen Anforderungen an den Widerrufsprozess vollständig ab, und jedes zusätzliche Plugin ist Wartungsaufwand plus ein weiterer Punkt, der bei Updates brechen kann.
Ein Plugin oder eine Custom-Entwicklung ergibt nur in drei Fällen Sinn:
- Shops unter 6.6.10.14 ohne Update-Möglichkeit. Wenn ein Update aus technischen Gründen blockiert ist, ist ein geprüftes Plugin die Übergangslösung, bis das Update möglich wird.
- Headless- oder Custom-Storefronts. Greift die Standard-Storefront nicht, rendert Shopware den nativen Button nicht. Dann muss der Widerrufsprozess im Frontend eigens umgesetzt werden.
- Sonder-Workflows. Automatische Fristprüfung oder eine Anbindung an ERP und Warenwirtschaft deckt der Standard nicht ab und braucht eigene Logik.
Achte bei jedem Plugin auf die Versionskompatibilität. Nicht jedes Widerrufs-Plugin für Shopware 6.7 läuft auf 6.6. Und ein selbst gebauter Button im CMS scheitert am Content-Sanitizer, der Script-Tags entfernt, siehe Was nicht funktioniert.
Was dieser Beitrag nicht abdeckt
Die technische Einrichtung allein reicht für die Rechtskonformität nicht aus. Drei Punkte musst du zusätzlich klären:
- Widerrufsbelehrung anpassen: Ab 19.06.2026 muss die Belehrung einen Hinweis auf die elektronische Widerrufsfunktion und deren Fundort enthalten. Das liefert deine Rechtstextquelle.
- Fristprüfung: Shopware prüft nicht, ob ein eingehender Widerruf innerhalb der 14-Tage-Frist liegt. Das muss manuell oder per Eigenlogik passieren. Eingehende Widerrufe nach Ablauf der Frist sind nicht wirksam, sollten aber nachvollziehbar dokumentiert werden.
- Datenschutz: Die Verarbeitung der Formulardaten gehört in die Datenschutzerklärung. Rechtsgrundlage ist in der Regel Art. 6 Abs. 1 lit. c DSGVO (rechtliche Verpflichtung).
Zusammenfassung
Der Widerrufsbutton in Shopware 6.6 lässt sich vollständig mit Bordmitteln umsetzen, ohne Plugin und ohne Custom Code. Der Schlüssel ist das native CMS-Formular-Element mit dem Formulartyp „Widerruf", das Shopware mit dem Backport auf 6.6.10.14 mitgeliefert hat. Die meisten Probleme bei der Einrichtung entstehen durch die Verwechslung von Widerrufsbelehrung und Widerrufsantrag-Seite oder durch Versuche, das Problem mit Custom HTML zu lösen.
Fünf Schritte: Erlebniswelt-Layout mit Formular-Element (Typ: Widerruf) erstellen, in den Stammdaten als Widerrufsantrag-Seite zuweisen, Footer-Button aktivieren, Cache leeren, testen. Den rechtlichen Rahmen (Belehrung, Fristprüfung, Datenschutz) musst du separat absichern.
Wer den Button nicht selbst einrichten will oder einen Custom- oder Headless-Aufbau fährt, bei dem die Standard-Storefront nicht greift: melde dich. Wir bauen den Button samt Bestätigungsseite ein und binden die aktualisierten Rechtstexte deiner Rechtstextquelle (Widerrufsbelehrung, Datenschutzerklärung) technisch korrekt ein, für Händler aus Hockenheim, Mannheim, Heidelberg und dem Rhein-Neckar-Raum oft vor Ort, sonst remote. Mehr zu unseren E-Commerce-Projekten.
Dieser Beitrag gibt den Stand vom 25. Juli 2026 wieder und ersetzt keine Rechtsberatung. Für die rechtssichere Ausgestaltung von Widerrufsbelehrung, Fristen und Datenschutz wende dich an deine Rechtstextquelle oder einen Anwalt.