Der Widerrufsbutton ist seit dem 19. Juni 2026 Pflicht für jeden deutschen Online-Shop mit B2C-Vertragsabschluss. Die Frist ist vorbei. Die Frage ist nicht mehr, ob Sie handeln müssen, sondern ob Ihr Shop den Widerrufsbutton in Shopware 6 schon richtig eingerichtet hat.
Ich habe mir die native Lösung angesehen, die Shopware mit Version 6.7.9.0 nachgereicht hat, und geprüft, was Shops ohne diese Version tun müssen. Dieser Beitrag deckt beide Wege ab: den nativen Schalter für Standard-Storefronts und die manuelle Umsetzung für individuelle oder Headless-Setups, inklusive der Formular- und Bestätigungstexte, die Sie direkt übernehmen können.
Was § 356a BGB seit dem 19. Juni 2026 wirklich verlangt
Die neue Pflicht geht auf eine EU-Richtlinie zurück und ist in Deutschland als § 356a BGB umgesetzt. Kern der Regelung: Wenn Ihr Shop Verträge über eine Online-Benutzeroberfläche abschliesst, für die ein Widerrufsrecht besteht, brauchen Sie eine Widerrufsfunktion, die während der gesamten Widerrufsfrist ständig verfügbar, hervorgehoben platziert und leicht zugänglich ist. Beschriftet werden muss sie mit “Vertrag widerrufen” oder einer gleichbedeutenden, eindeutigen Formulierung.
Betroffen sind alle B2C-Vertragsabschlüsse über eine Online-Oberfläche mit bestehendem Widerrufsrecht, unabhängig davon, ob der Shop primär B2B-Kunden bedient. Sobald irgendwo im Shop ein Verbrauchervertrag mit Widerrufsrecht zustande kommt, greift die Pflicht.
Fehlt der Button oder ist er fehlerhaft integriert, zum Beispiel versteckt, schwer auffindbar oder nur auf Unterseiten sichtbar, gilt das als Wettbewerbsverstoss. Die Konsequenzen sind kostenpflichtige Abmahnungen und Unterlassungsansprüche, nicht nur ein Bussgeld gegenüber einer Behörde.
Sind Sie schon zu spät?
Die Frist liegt zwei Wochen zurück. Das macht die Lage dringlicher, nicht entspannter: Wettbewerbsverbände und Mitbewerber prüfen typischerweise erst nach Ablauf einer gesetzlichen Frist aktiv nach, weil vorher noch Kulanz unterstellt wird. Nach dem 19. Juni gilt diese Kulanz nicht mehr.
Drei Fragen für den Zwei-Minuten-Check:
- Sehen Sie im Footer Ihres Shops einen Button mit der Beschriftung “Vertrag widerrufen”?
- Führt dieser Button zu einem Formular, das sich elektronisch absenden lässt, ohne dass der Kunde eine E-Mail selbst formulieren muss?
- Erhält der Kunde nach dem Absenden automatisch eine Bestätigung über den Eingang seines Widerrufs?
Bei einer “Nein”-Antwort ist der Shop aktuell nicht compliant.
Die native Lösung: Widerrufsbutton ab Shopware 6.7.9.0 aktivieren
Voraussetzungen
Die native Lösung gibt es ab Shopware 6.7.9.0, veröffentlicht im April 2026, mit einem Backport auf Version 6.6. Läuft Ihr Shop auf einer älteren 6.x-Version oder noch auf Shopware 5, existiert diese Option nicht. Der Abschnitt weiter unten zu alten Versionen erklärt, was dann zu tun ist.
Schritt für Schritt
Die Aktivierung läuft über die Administration, nicht über eine eigene Erlebniswelt oder ein Plugin:
- In der Shopware-6-Administration einloggen.
- Zu Einstellungen → Stammdaten navigieren.
- Zum Bereich Recht und Datenschutz scrollen.
- Die Option zur Anzeige des Buttons “Vertrag widerrufen” im Footer aktivieren.
Für Shops mit Standard-Storefront ist das der gesamte technische Aufwand. Kein Custom Code, kein Plugin, kein manuelles Bauen eines Formulars.
Was danach passiert
Nach der Aktivierung erscheint der Button im Footer der Storefront. Ein Klick öffnet eine Formularseite, über die Kunden ihren Widerruf elektronisch einreichen. Shopware generiert dafür ein Shop-Page-Layout, das automatisch verlinkt ist. Nach dem Absenden erhält der Kunde automatisch eine Bestätigung über den Eingang, wie es das Gesetz verlangt.
Für Titel und Bestätigungstext, die Sie direkt einsetzen können, siehe die Vorlagen weiter unten.
Kein Standard-Storefront? Individuelle Templates und Headless-Setups
Bei individuellen Templates oder Headless-Architekturen greift der Schalter aus der Administration nicht automatisch. Die native Lösung ist an die Standard-Storefront gebunden. Läuft Ihr Frontend eigenständig, zum Beispiel als React- oder Vue-Anwendung gegen die Shopware-API, müssen Sie drei Dinge selbst nachbauen:
- Einen Button oder Link mit der Beschriftung “Vertrag widerrufen”, dauerhaft sichtbar an einer Stelle, die auf jeder Seite erreichbar ist, typischerweise im Footer.
- Einen Formular-Endpoint, der die Widerrufserklärung entgegennimmt und elektronisch verarbeitet, ohne dass der Kunde eine eigene E-Mail schreiben muss.
- Eine automatische Bestätigungslogik, die nach dem Absenden sofort eine Empfangsbestätigung auslöst.
Das ist kein Wochenendprojekt, aber auch kein Neuaufbau der Storefront. Wenn Sie ohnehin eigene Plugins pflegen, ist der sauberste Weg, die Funktion als eigenständigen Service zu bauen, der über Shopwares Erweiterungspunkte an den Checkout- und Account-Bereich andockt, statt sie hart ins Template zu verdrahten. Ich habe beschrieben, wie ich Shopware-6-Plugins baue, die Updates überleben, und dasselbe Prinzip gilt hier: Ein Decorator, der die Formular-Logik kapselt, bricht nicht bei jedem Shopware-Update.
Formular und Bestätigungsmail anpassen, ohne Layout oder Sprachversionen zu brechen
Die Formularseite, die Shopware bei der Aktivierung generiert, lässt sich über Shopping Experiences (Erlebniswelten) platzieren und individualisieren. Wichtig: Erlebniswelten dient hier nur der Seitengestaltung, nicht der Aktivierung selbst. Die Funktion an sich kommt aus den Stammdaten-Einstellungen, das Layout drumherum gestalten Sie in der gewohnten Umgebung.
Titel für die Formularseite:
Vertrag widerrufen
Das ist die Formulierung, die das Gesetz selbst als Beispiel nennt. Es gibt keinen Grund, sie durch eine kreativere Variante zu ersetzen und damit ein Risiko einzugehen, das der Gesetzestext eigentlich ausschliesst.
Bestätigungstext für die Anzeige nach dem Absenden (Konfiguration des Formularelements, reiner Text ohne Platzhalter-Logik):
Vielen Dank für Ihren Widerruf.
Wir haben Ihre Widerrufserklärung elektronisch erhalten. Diese Bestätigung
dient als Nachweis des Eingangs Ihres Widerrufs.
Die weiteren Schritte (Rückgabe, Rückerstattung) teilen wir Ihnen in einer
separaten Nachricht mit.
Bei Fragen erreichen Sie uns unter [email protected] oder +49 xxx xxxxxxx.
Wichtig: Dieses Feld ist die Textanzeige direkt auf der Seite nach dem Absenden, nicht die E-Mail. Shopware übernimmt den Inhalt 1:1 als String, es gibt keine Platzhalter-Auflösung. Bestellnummer, Datum und Uhrzeit lassen sich hier nicht einsetzen, nur fixer Text wie Ihre Kontaktdaten.
Die eigentliche Bestätigungs-E-Mail ist eine separate Vorlage unter Einstellungen > Shop > E-Mail-Vorlagen (“Widerrufsantrag Kunde”). Die läuft über Twig und kennt echte Variablen aus dem Formular:
Vielen Dank für Ihren Widerruf.
Wir haben Ihre Widerrufserklärung zu {{ revocationRequestFormData.contractNumber }}
am {{ revocationRequestFormData.submitTime|format_datetime('medium', 'short', locale='de-DE') }}
elektronisch erhalten. Diese Bestätigung dient als Nachweis des Eingangs
Ihres Widerrufs.
Die weiteren Schritte (Rückgabe, Rückerstattung) teilen wir Ihnen in einer
separaten Nachricht mit.
Bei Fragen erreichen Sie uns unter [email protected] oder +49 xxx xxxxxxx.
Verfügbar sind nur contractNumber, firstName, lastName, email, comment und submitTime. Eine Telefonnummer liefert das Formular nicht mit, Ihre Kontaktdaten tragen Sie auch hier fest ein.
Drei Punkte, die beim Einrichten häufig übersehen werden:
Erstens: Anzeige-Text und E-Mail-Vorlage sind zwei getrennte Stellen mit unterschiedlichen Möglichkeiten. Wer eckige Klammern wie [Bestellnummer] in den Anzeige-Text schreibt, bekommt genau das wortwörtlich auf der Seite angezeigt, nicht die echte Bestellnummer.
Zweitens bestätigt der Text nur den Eingang, nicht die Bearbeitung. Versprechen Sie hier keine Rückerstattungsfrist oder Abholtermine. Das gehört in eine separate Nachricht, sobald der Widerruf tatsächlich geprüft ist.
Drittens: Wenn Ihr Shop mehrsprachig ist, muss die Bestätigungsmail in der Sprache rausgehen, in der der Kunde eingekauft hat, nicht standardmässig auf Deutsch. Das steuern Sie über die Snippet-Verwaltung pro Storefront-Sprachversion. Ein Test in jeder aktiven Sprache vor dem Livegang ist Pflicht, nicht optional.
Test-Checkliste vor dem Livegang:
- Testbestellung mit Testkonto abschliessen.
- Widerruf über den Footer-Button auslösen.
- Eingangsbestätigung im Postfach prüfen, inklusive Absenderadresse und Betreffzeile.
- Darstellung des Formulars auf Mobilgeräten prüfen, weil der Grossteil der Widerrufe über das Smartphone eingereicht wird.
- Bei mehrsprachigen Shops: denselben Test in jeder aktiven Sprache wiederholen.
Läuft Ihr Shop noch auf einer alten Version?
Wenn Sie noch auf Shopware 5 oder einer 6.x-Version unterhalb von 6.6 mit Backport unterwegs sind, haben Sie weder die native Lösung noch eine stabile Basis, um zuverlässig ein eigenes Plugin dagegen zu bauen. Shopware 5 ist bereits seit Juli 2024 End-of-Life, und ich habe in einem separaten Beitrag zur Shopware-5-Migration beschrieben, warum jeder weitere Monat auf dieser Version das Risiko erhöht, nicht nur bei diesem einen Thema.
Ein Plugin für den Widerrufsbutton auf einer veralteten Version ist ein kurzfristiger Workaround, kein Fix. Es löst die Compliance-Frage für den Moment, während das eigentliche Problem, eine unsupportete Plattform im Produktivbetrieb, weiterläuft. Die richtige Reihenfolge ist Update zuerst, Widerrufsbutton danach über die native Lösung, nicht umgekehrt.
Jetzt handeln: Compliance-Check in drei Schritten
Prüfen Sie Ihre Shopware-Version. Ab 6.7.9.0 oder mit 6.6-Backport aktivieren Sie die native Lösung über die Stammdaten in wenigen Minuten. Bei individuellen Templates oder Headless-Setups bauen Sie Button, Formular-Endpoint und Bestätigungslogik nach. Bei älteren Versionen steht die Plattform-Migration vor dem Widerrufsbutton.
Testen Sie danach den kompletten Ablauf einmal selbst, inklusive der Bestätigungsmail in jeder Sprache, die Ihr Shop bedient.
Häufig gestellte Fragen
Seit wann ist der Widerrufsbutton in Shopware Pflicht? Seit dem 19. Juni 2026. Die Pflicht steht in § 356a BGB und verlangt ein elektronisches Widerrufsformular, das während der Widerrufsfrist dauerhaft sichtbar und leicht zugänglich ist.
Welche Shopware-Version bringt die native Lösung für den Widerrufsbutton mit? Ab Shopware 6.7.9.0, veröffentlicht im April 2026, mit einem Backport auf 6.6. Ältere Versionen haben keine native Lösung und brauchen eine manuelle Umsetzung.
Wo aktiviere ich den Widerrufsbutton in Shopware 6? Unter Einstellungen, Stammdaten, Bereich Recht und Datenschutz. Dort aktivieren Sie die Option zur Anzeige des Buttons “Vertrag widerrufen” im Footer.
Funktioniert die native Lösung auch bei individuellen Templates oder Headless-Shops? Nicht automatisch. Bei individuellen Templates oder Headless-Architekturen muss der Button aktiv ins jeweilige Frontend eingebunden und getestet werden, weil die native Storefront-Integration dort nicht greift.
Was passiert, wenn der Widerrufsbutton fehlt oder fehlerhaft ist? Das gilt als Wettbewerbsverstoss und kann zu kostenpflichtigen Abmahnungen und Unterlassungsansprüchen führen. Weil die Frist bereits verstrichen ist, prüfen Wettbewerbsverbände aktiv nach.
Brauchen Sie Unterstützung bei der Umsetzung?
Bei Standard-Storefronts ist das ein Zehn-Minuten-Job. Bei individuellen Templates, Headless-Setups oder Shops auf veralteten Shopware-Versionen ist es ein echtes technisches Projekt, bei dem Fehler direkt Abmahnrisiko bedeuten. Wenn Sie nicht sicher sind, welcher Fall bei Ihnen zutrifft, oder Unterstützung bei der Umsetzung brauchen, nehmen Sie Kontakt auf. Mehr dazu, worauf es bei der Wahl der richtigen Unterstützung ankommt, auch in diesem Beitrag.