Der Widerrufsbutton wird am 19. Juni 2026 zur verbindlichen Pflicht für jeden B2C-Online-Shop in Deutschland. Die EU-Richtlinie 2023/2673 (BMJV) schreibt eine zweistufige digitale Widerrufsmöglichkeit vor, deren technische Umsetzung weit mehr verlangt als nur einen Button im Footer. Bei Verstößen drohen Bußgelder von bis zu 4% des Jahresumsatzes (IT-Recht Kanzlei) — und 18% der Online-Händler erhielten bereits 2024 eine Abmahnung, ein Plus von 50% gegenüber dem Vorjahr (Händlerbund Abmahnstudie 2025). Dieser Leitfaden zeigt die konkrete technische Implementierung in Shopware 6, die zulässigen Label-Formulierungen, die erlaubten Datenabfragen sowie die Anforderungen an die Eingangsbestätigung.
Was ab 19. Juni 2026 gilt
Die EU-Richtlinie 2023/2673 wurde mit dem deutschen Umsetzungsgesetz vom 3. September 2025 (BMJV 47/2025) in nationales Recht überführt. Die Umsetzungsfrist für Mitgliedstaaten endete am 19. Dezember 2025, für Händler beginnt die Pflicht sechs Monate später am 19. Juni 2026. Ab diesem Stichtag muss jeder B2C-Shop einen funktionsfähigen Widerrufsbutton bereitstellen, der den Widerruf deutlich einfacher macht als das Ausfüllen eines Formulars oder das Schreiben einer E-Mail. Weitere rechtliche Grundlagen sind in unserem Artikel zur Widerrufsbutton-Pflicht 2026 ausführlich aufbereitet.
Der deutsche E-Commerce-Markt wuchs 2025 auf 83,1 Milliarden Euro mit einem Plus von 3,2% gegenüber dem Vorjahr (BEVH), allein im Q3 2025 wurden 17,96 Milliarden Euro umgesetzt — Marktplätze erreichten dabei einen Anteil von 54,4% (BEVH). Die schiere Größe des betroffenen Marktes bedeutet, dass die neue Pflicht zehntausende Händler betrifft. Gleichzeitig zeigen Umfragen, dass 93% der Shopper eine stärkere Kontrolle über Marktplätze erwarten (vzbv) — die Einführung des Widerrufsbuttons ist damit auch ein Vertrauenssignal für Kunden.
Die Widerrufsfrist von 14 Tagen bleibt unverändert, bei Finanzdienstleistungen kann sie bis zu 12 Monate und 14 Tage betragen (BMJV). Wichtig: Der Button ersetzt nicht die Pflicht zur Widerrufsbelehrung, sondern stellt lediglich eine zusätzliche, barrierearme Ausübungsmöglichkeit dar. Händler müssen beide Wege parallel anbieten — klassischer Widerruf per Text und digitaler Widerruf per Button.
Die Abmahnstudie 2025 des Händlerbundes zeigt: Einzelabmahnungen lagen im September 2025 zwischen 300 und 3.441,60 Euro. 43% der abgemahnten Händler zahlten bis 500 Euro, 31% zwischen 500 und 2.000 Euro (Händlerbund). Ein fehlender oder fehlerhaft implementierter Widerrufsbutton wird ab Stichtag zu einem vergleichbaren Standard-Abmahngrund werden.
Button-Anatomie: Zweistufiger Ablauf
Der Gesetzgeber schreibt einen zweistufigen Prozess vor: Stufe 1 ist der eigentliche Button mit dem Klick, Stufe 2 ist ein Bestätigungsformular mit Eingabe der Identifikationsdaten und Absenden des Widerrufs. Nur so lässt sich sicherstellen, dass der Kunde den Widerruf bewusst auslöst und gleichzeitig der Händler die Bestellung eindeutig zuordnen kann. Eine einstufige Umsetzung — also ein Button, der den Widerruf direkt ohne Datenerhebung auslöst — ist unzulässig, weil keine Zuordnung möglich wäre.
Die beiden Stufen sind klar voneinander abzugrenzen: Stufe 1 ist eine reine Intention-Geste des Kunden. Nach dem Klick auf "Vertrag widerrufen" öffnet sich entweder eine dedizierte Seite oder ein modales Dialogfenster mit dem Formular. Erst mit dem finalen Klick auf "Widerruf bestätigen" wird der Widerruf rechtlich wirksam erklärt und gilt als beim Händler eingegangen. Dieser Moment ist rechtlich entscheidend, weil ab diesem Zeitpunkt die Rücksendefrist (14 Tage ab Zugang beim Händler, BMJV) zu laufen beginnt und die Erstattungsfrist des Händlers ausgelöst wird.
Technisch realisieren lässt sich der Ablauf über eine dedizierte Route (z. B. /widerruf) mit einem Twig-Template, das im ersten Schritt den Button zeigt und nach dem Klick per POST-Request zum Formular-Step weiterleitet. Alternativ kann ein modales Dialogfenster über JavaScript geöffnet werden, solange der Dialog auch bei deaktiviertem JS als Fallback via normaler Seite funktioniert — Barrierefreiheit ist durch das BFSG ohnehin Pflicht. Eine saubere BFSG-Audit-Routine prüft automatisiert, ob Kontraste, Tastaturnavigation und Screenreader-Labels am Widerrufsformular den WCAG-2.1-AA-Standard erfüllen. Ein Modal ohne Fokus-Trap oder ohne Escape-Taste scheitert regelmäßig an diesen Kriterien.
Exakte Label-Formulierungen
Die Bezeichnung des Buttons ist gesetzlich festgeschrieben und lässt keinen Spielraum für kreative Varianten. Die zulässigen Texte müssen die Absicht des Widerrufs unmissverständlich deutlich machen — neutrale Formulierungen wie "Kontakt" oder "Nachricht senden" sind ausdrücklich unzulässig, weil sie den Zweck verschleiern.
| Element | Zulässig | Unzulässig |
|---|---|---|
| Stufe-1-Button | Vertrag widerrufen | Kontakt aufnehmen |
| Stufe-2-Button | Widerruf bestätigen | Abschicken |
| Alternative Stufe 1 | Widerruf erklären | Nachricht senden |
| Alternative Stufe 2 | Widerruf jetzt auslösen | Absenden |
| Seitentitel | Widerruf erklären | Retoure |
| Link-Text Footer | Vertrag widerrufen | Rücksendung |
Die Formulierung "Vertrag widerrufen" ist der gesetzlich bevorzugte Standard-Text für den primären Button. Beim Bestätigungs-Button ist "Widerruf bestätigen" die empfohlene Formulierung. Wer bereits eine Shopware-Agentur mit der Umsetzung beauftragt hat, sollte diese Labels in den Snippets hinterlegen und sprachabhängig übersetzen — für englischsprachige Shops etwa als "Withdraw contract" und "Confirm withdrawal".
Platzierung im Shop
Der Button muss dauerhaft, gut sichtbar und kontrastreich platziert werden. Eine Unterbringung ausschließlich in einer verschachtelten Hilfe-Sektion reicht nicht. Sinnvoll sind zwei Platzierungen: prominent im Footer auf allen Seiten sowie im Kundenkonto unter "Meine Bestellungen". Besonders wichtig: Der Button muss auch für nicht eingeloggte Besucher (Gäste-Bestellungen) erreichbar sein — eine Platzierung ausschließlich hinter dem Kundenkonto-Login ist unzulässig.
- Position im Footer jeder Seite, oberhalb oder neben Impressum/AGB
- Zusätzlich im Header als Link oder in der Meta-Navigation
- Im Kundenkonto direkt bei jeder widerrufbaren Bestellung verlinkt
- Auch für Gast-Bestellungen per separater Seite ohne Login erreichbar
- Kontrastreich gestaltet nach WCAG 2.1 AA (min. 4,5:1 bei Fließtext)
- Mobil voll bedienbar, Tap-Target mindestens 44x44 px
- Nicht hinter mehreren Klicks oder Akkordeons versteckt
- Auch bei deaktiviertem JavaScript funktionsfähig
Wer eine saubere Checkout-Optimierung verfolgt, platziert den Button bewusst NICHT im aktiven Bestellprozess. Er gehört in die Post-Purchase-Phase (Kundenkonto, Footer, Bestellbestätigungs-E-Mail) — nicht aber in die Phase, in der noch Kaufentscheidungen getroffen werden.
Daten, die Sie abfragen dürfen
Das Gesetz beschränkt die Datenerhebung im Widerrufsformular strikt auf das Minimum, das für eine eindeutige Zuordnung nötig ist. Eine Abfrage von Widerrufsgründen, Zufriedenheits-Skalen oder Rückgabe-Alternativen ist während des Widerrufsprozesses unzulässig und wäre abmahngefährdet.
Name
Vor- und Nachname zur Identifikation des Vertragspartners - Pflichtfeld
Bestellnummer
Eindeutige Referenz auf die zu widerrufende Bestellung - Pflichtfeld
E-Mail-Adresse
Adresse für die automatische Eingangsbestätigung - Pflichtfeld
Diese drei Felder reichen aus. Optional dürfen Sie die Auswahl des konkret zu widerrufenden Artikels anbieten, wenn Teilwiderruf möglich sein soll — etwa bei mehreren Positionen innerhalb einer Bestellung. Unter keinen Umständen abfragen dürfen Sie hingegen: Gründe für den Widerruf, Bitte um Stellungnahme vor dem Widerruf, Rückfragen zur Zahlungsmethode oder alternative Angebote wie Gutscheine. Eine Retourengrund-Abfrage darf nach dem abgeschlossenen Widerruf freiwillig angeboten werden — unser Ratgeber zum Retourenmanagement zeigt, wie Sie diese Daten ohne rechtliches Risiko sammeln.
Die Hintergründe für diese strikte Datenminimierung liegen in den typischen Retourenmustern. Laut Universität Bamberg liegt die Retourenquote im Fashion-Segment zwischen 26 und 50% auf Bestellebene, auf Einzelpositionen sogar bei 70-80% (Uni Bamberg). Die Alpha-Retourenquote bei Fashion-Rechnungskauf erreicht sogar 55,65% (Uni Bamberg). Insgesamt werden in Deutschland jährlich 286 Millionen Retourenpakete bei einer Gesamtquote von 28,6% versandt (Uni Bamberg). Bei Retourenkosten von durchschnittlich 15,18 Euro pro Paket (7,93 Euro Prozesskosten plus 7,25 Euro Wertverlust, Uni Bamberg) summieren sich die Beträge schnell. Diese Relevanz verleitet dazu, das Widerrufsformular als Feedback-Kanal zu missbrauchen — genau das untersagt der Gesetzgeber aber ausdrücklich.
Die Retourengründe selbst sind zwar betriebswirtschaftlich interessant — 16-29-Jährige retournieren 15% ihrer Bestellungen, 65+-Jährige nur 7% (Bitkom), Top-Gründe sind Größe mit 67%, Beschädigung mit 56% und Nichtgefallen mit 50% (Bitkom) — aber diese Daten sollten ausschließlich nach Abschluss des Widerrufsprozesses auf freiwilliger Basis erhoben werden, etwa durch eine separate Mail mit optionaler Umfrage zwei bis drei Tage nach Eingang der Retoure. So bleiben Widerrufsprozess und Retourenanalyse rechtlich sauber getrennt.
Technische Integration in Shopware 6
Shopware hat angekündigt, die Umsetzung des Widerrufsbuttons mit Version 6.7.9.0 im April 2026 auszuliefern (Shopware). Wer vorher eine Lösung benötigt oder nicht auf 6.7.9 aktualisieren kann, kann die Funktion als eigenes Plugin umsetzen. Die folgende Minimal-Implementierung zeigt den Controller für die zweite Stufe (Formularabsendung):
<?php declare(strict_types=1);
namespace Xictron\Withdrawal\Storefront\Controller;
use Shopware\Core\Framework\Context;
use Shopware\Core\Framework\DataAbstractionLayer\EntityRepository;
use Shopware\Core\Framework\Routing\Annotation\RouteScope;
use Shopware\Core\Framework\Uuid\Uuid;
use Shopware\Storefront\Controller\StorefrontController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
/**
* @RouteScope(scopes={"storefront"})
*/
class WithdrawalController extends StorefrontController
{
public function __construct(
private readonly EntityRepository $withdrawalRepository,
private readonly WithdrawalMailService $mailService
) {}
/**
* @Route("/widerruf", name="frontend.withdrawal.form", methods={"GET"})
*/
public function form(Request $request): Response
{
return $this->renderStorefront('@XictronWithdrawal/storefront/page/withdrawal/index.html.twig');
}
/**
* @Route("/widerruf/submit", name="frontend.withdrawal.submit", methods={"POST"})
*/
public function submit(Request $request, Context $context): Response
{
$name = trim((string) $request->request->get('name'));
$orderNumber = trim((string) $request->request->get('orderNumber'));
$email = filter_var($request->request->get('email'), FILTER_VALIDATE_EMAIL);
if (!$name || !$orderNumber || !$email) {
$this->addFlash('danger', 'Bitte fuellen Sie alle Pflichtfelder aus.');
return $this->redirectToRoute('frontend.withdrawal.form');
}
$reference = 'WDR-' . date('Y') . '-' . strtoupper(substr(Uuid::randomHex(), 0, 5));
$this->withdrawalRepository->create([[
'id' => Uuid::randomHex(),
'reference' => $reference,
'customerName' => $name,
'orderNumber' => $orderNumber,
'email' => $email,
'receivedAt' => new \DateTimeImmutable(),
]], $context);
$this->mailService->sendConfirmation($email, $name, $orderNumber, $reference);
$this->mailService->notifyMerchant($name, $orderNumber, $reference);
return $this->redirectToRoute('frontend.withdrawal.success', ['ref' => $reference]);
}
}Die Datenbank-Entität withdrawal speichert die Eingangsdaten mit Zeitstempel als Nachweis. Zusätzlich muss im Shopware Flow Builder ein Trigger eingerichtet werden, der beim Eintreffen eines neuen Widerrufs die internen Prozesse anstößt — etwa das Erstellen einer Retoure in der Warenwirtschaft, das Pausieren ausstehender Versand-Aufträge und die Information des Customer-Service-Teams. Für die Formular-Ansicht selbst reicht ein schlankes Twig-Template mit drei Input-Feldern. Wer individuelle Frontends mit Vue oder Nuxt betreibt, implementiert den Flow als separate SPA-Route mit REST-Endpunkt.
Eingangsbestätigung automatisieren
Der Händler ist verpflichtet, den Eingang des Widerrufs unverzüglich auf einem dauerhaften Datenträger zu bestätigen. In der Praxis bedeutet das: Innerhalb weniger Minuten nach Absenden des Formulars muss eine E-Mail an den Kunden gehen, die den Eingang dokumentiert. Die Bestätigung muss mindestens enthalten: Name des Kunden, Bestellnummer, Zeitpunkt des Eingangs (Datum und Uhrzeit), eine eindeutige Referenz-ID sowie eine kurze Information über die nächsten Schritte.
Technisch empfiehlt sich ein Mail-Template im Shopware-Mail-System mit den Platzhaltern {{ customerName }}, {{ orderNumber }}, {{ receivedAt|format_datetime }} und {{ reference }}. Um Verzögerungen zu vermeiden, sollte der Versand nicht synchron im Request-Handler erfolgen, sondern über die Shopware-Message-Queue asynchron im Worker-Prozess. So bleibt die Response-Zeit für den Kunden unter 500 ms, selbst wenn der SMTP-Server gerade ausgelastet ist.
Parallel zum Kunden-Mail sollte ein internes Benachrichtigungs-System eingerichtet werden: eine Benachrichtigung an das Customer-Service-Team, optional ein Eintrag im Ticket-System oder eine Push-Benachrichtigung an die Logistik. Die Nachweis-Pflicht für den Händler bezieht sich auf die Empfangsbestätigung — prüfbar nachvollzogen werden muss, wann und wie der Widerruf entgegengenommen wurde. Ein detaillierter Log-Eintrag mit IP-Adresse und User-Agent (ohne personenbezogene Verarbeitung jenseits der Bestellzuordnung) schützt im Streitfall.
Die Referenz-ID sollte folgenden Anforderungen genügen: eindeutig über alle Widerrufe hinweg, nicht erratbar (um Enumeration-Angriffe zu verhindern), menschenlesbar für Support-Anfragen und kurz genug, um in Betreffzeilen zu passen. Ein bewährtes Schema ist WDR-JAHR-ABCDE mit 5 zufälligen alphanumerischen Zeichen (ca. 60 Millionen Kombinationen pro Jahr). Dieser Ref-Code sollte in allen Folge-Mails (Eingangsbestätigung, Rückversand-Information, Erstattungsbestätigung) konsistent verwendet werden, damit Kunde und Support jederzeit den Vorgang nachvollziehen können.
Ausnahmen: Wann der Button nicht nötig ist
Nicht jeder Shop braucht einen Widerrufsbutton. Die Pflicht gilt ausschließlich für Verträge, für die das gesetzliche Widerrufsrecht überhaupt besteht. In folgenden Konstellationen entfällt die Button-Pflicht vollständig oder teilweise:
- Reine B2B-Shops ohne Endkundenverkauf — kein Widerrufsrecht, kein Button nötig
- Verkauf personalisierter Waren (z. B. Gravur, individuelle Konfiguration)
- Leicht verderbliche Lebensmittel mit begrenzter Haltbarkeit
- Versiegelte Medien (CDs, DVDs, Software) nach Entfernen des Siegels
- Digitale Inhalte auf nicht-physischem Träger, sobald mit Ausführung begonnen wurde
- Finanzdienstleistungen mit eigenen Widerrufsregeln (erweiterte Fristen)
- Waren, die untrennbar mit anderen Sachen verbunden wurden
- Verträge, die auf öffentlichen Versteigerungen geschlossen wurden
Bei gemischten Sortimenten (B2C + B2B in einem Shop, oder Standardware + personalisierte Ware) muss der Button grundsätzlich bereitgestellt werden. In unserem Leitfaden zu kundenspezifischen Sortimenten im B2B-Shop zeigen wir, wie sich Kundengruppen sauber trennen lassen, sodass die Pflicht nur für die tatsächlich betroffenen B2C-Bestellungen greift.
Abmahnrisiko und typische Fehler
Die Abmahnstudie 2025 des Händlerbundes zeigt: Wettbewerbsrecht ist mit 42% der häufigste Abmahngrund, gefolgt vom Verpackungsgesetz mit 40% (Händlerbund). 27% der Händler nehmen eine Zunahme der Abmahnungen wahr, 79% spüren steigenden Konkurrenzdruck (Händlerbund 2025). Insgesamt bearbeitete der Händlerbund über 26.000 Abmahnungen (Händlerbund). Mit dem Stichtag 19.06.2026 wird sich das Muster auf den Widerrufsbutton ausweiten — erfahrungsgemäß starten Abmahnwellen innerhalb weniger Tage nach solchen Stichtagen.
| Typischer Fehler | Richtige Umsetzung |
|---|---|
| Nur "Kontakt"-Link im Footer | Dedizierter Button "Vertrag widerrufen" |
| Button nur im Kundenkonto | Auch im Footer und für Gäste |
| Einstufiger Prozess ohne Formular | Zweistufig: Klick + Bestätigung |
| Grund für Widerruf wird abgefragt | Nur Name, Bestellnr., E-Mail |
| Keine Eingangsbestätigung per Mail | Automatische Bestätigung mit Referenz |
| Button versteckt hinter Login | Auch ohne Login erreichbar |
| Zu geringer Farbkontrast | WCAG 2.1 AA, min. 4,5:1 |
| Mail versendet erst nach 24h | Unverzüglich per Worker-Queue |
Besonders teuer wird es für kleine Händler: Laut Universität Bamberg liegen die Retourenkosten bei kleinen Händlern im Schnitt bei 17,70 Euro pro Retoure, während große Händler nur 5,18 Euro pro Retoure tragen (Uni Bamberg). Eine abmahnbedingte Mehrbelastung trifft die kleineren Betriebe also überproportional. Eine saubere Beratung bei der Erstimplementierung ist daher immer die günstigere Variante als eine spätere Nachbesserung nach erfolgter Abmahnung.
Projektplan bis 19. Juni 2026
- Bis 30. April 2026: Ist-Aufnahme — welche Bestell-Typen gibt es, welche Kundengruppen, welche Ausnahmen greifen, Status Shopware-Version prüfen
- Bis 15. Mai 2026: Technischer Entwurf — Route, Template, Controller, Datenmodell, Mail-Templates, Flow-Builder-Integration festlegen
- Bis 31. Mai 2026: Entwicklung und Code-Review — Plugin entwickeln oder Shopware 6.7.9.0 Update einplanen, Storefront-Template anpassen
- Bis 10. Juni 2026: End-to-End-Test in Staging — Formular-Flow, Bestätigungs-Mail, interne Notification, Flow-Trigger, Mobile, Barrierefreiheit
- Bis 15. Juni 2026: Rechts-Review durch Fachanwalt, Label-Prüfung, Datenschutz-Check, Anpassung der Datenschutzerklärung
- Bis 18. Juni 2026: Deployment in Produktion, Cache-Warmup, Monitoring der Error-Logs
- Ab 19. Juni 2026: Live-Monitoring — erste 48 Stunden engmaschig Logs und Mail-Queue beobachten, Support-Team auf Rückfragen vorbereiten
Wer jetzt beginnt, hat noch ausreichend Puffer. Je nach Shop-Komplexität dauert die Umsetzung erfahrungsgemäß zwischen 3 und 8 Arbeitstagen reiner Entwicklungsarbeit — zuzüglich Test und Rechts-Review. Wer auf individuelle Programmierung setzt oder ein Headless-Frontend betreibt, sollte eher 2-3 Wochen einplanen, weil die API-Schnittstellen mit entworfen werden müssen.
Dieser Artikel basiert auf Daten aus: EU-Richtlinie 2023/2673 (Europäische Union, Umsetzung bis 19.12.2025); BMJV Pressemitteilung 47/2025 (Deutsches Umsetzungsgesetz vom 03.09.2025, Widerrufsfristen); IT-Recht Kanzlei (Bußgeld bis 4% Jahresumsatz); Händlerbund Abmahnstudie 2025 (18% Abmahnquote 2024 + 50% YoY, Einzelabmahnungen 300 bis 3.441,60 Euro, 43% unter 500 Euro, 31% zwischen 500 und 2.000 Euro, Wettbewerbsrecht 42%, Verpackungsgesetz 40%, 27% mehr Abmahnungen wahrgenommen, 79% Konkurrenzdruck, 26.000+ bearbeitete Abmahnungen); vzbv (93% Shopper erwarten Marktplatz-Kontrolle); Universität Bamberg Retourenforschung (Retourenquote Fashion 26-50%, Einzelpositionen 70-80%, Alpha-Retourenquote Fashion Rechnungskauf 55,65%, Retourenkosten 15,18 Euro bestehend aus 7,93 Euro Prozess- und 7,25 Euro Wertverlust-Anteil, kleine Händler 17,70 Euro vs. große 5,18 Euro pro Retoure, 286 Mio. Retourenpakete pro Jahr bei 28,6% Quote); Bitkom (16-29-Jährige retournieren 15%, 65+ nur 7%, Top-Retourengründe: Größe 67%, Beschädigung 56%, Nichtgefallen 50%); BEVH (deutscher E-Commerce 2025 83,1 Mrd. Euro, +3,2%, Q3 2025 17,96 Mrd. Euro, Marktplätze 54,4%); Shopware (Release 6.7.9.0 mit Widerrufsbutton-Funktionalität im April 2026). Die genannten Zahlen können je nach Zeitpunkt variieren.
Ab dem 19. Juni 2026 drohen Abmahnungen durch Mitbewerber und Verbraucherschutzverbände. Laut Händlerbund Abmahnstudie 2025 bewegten sich Einzelabmahnungen im September 2025 zwischen 300 und 3.441,60 Euro. Daneben sind Bußgelder bis zu 4% des Jahresumsatzes möglich (IT-Recht Kanzlei). Wir empfehlen, die Umsetzung bis spätestens Anfang Juni 2026 abzuschließen, um Puffer für Tests und Rechts-Review zu haben. Unsere Shopware-Agentur unterstützt bei der fristgerechten Implementierung.
Das Gesetz beschränkt die Abfrage auf das Minimum: Name, Bestellnummer und E-Mail-Adresse. Eine Abfrage des Widerrufsgrundes oder alternativer Angebote während des Widerrufsprozesses ist unzulässig. Typischerweise reicht ein Formular mit genau drei Eingabefeldern. Optional kann die Auswahl einzelner zu widerrufender Positionen ergänzt werden, wenn Teilwiderruf angeboten werden soll.
Ja. Eine Platzierung ausschließlich hinter dem Kundenkonto-Login ist unzulässig, weil dadurch Gast-Besteller benachteiligt würden. Der Widerrufsbutton muss dauerhaft öffentlich erreichbar sein — typischerweise prominent im Footer auf jeder Seite. Im Formular selbst identifiziert sich der Kunde dann über Name, Bestellnummer und E-Mail-Adresse.
Das Gesetz schreibt eine unverzügliche Bestätigung auf einem dauerhaften Datenträger vor. In der Praxis bedeutet das: Innerhalb weniger Minuten nach Absenden des Formulars muss eine E-Mail beim Kunden eingehen. Technisch sollte der Versand asynchron über die Shopware-Message-Queue erfolgen, damit die Antwortzeit für den Kunden kurz bleibt. Die Bestätigung muss Namen, Bestellnummer, Eingangszeitpunkt und eine Referenz-ID enthalten.
Shopware hat die Auslieferung mit Version 6.7.9.0 im April 2026 angekündigt (Shopware). Wer diese Version nicht einsetzt oder individuelle Anpassungen braucht — etwa bei Headless-Setups oder spezifischen Kundengruppenlogiken — muss die Funktion als eigenes Plugin umsetzen. Typischerweise lässt sich eine solche Integration inklusive Tests in 3 bis 8 Arbeitstagen realisieren. Wir empfehlen eine frühzeitige Beratung zur technischen Architektur.
Reine B2B-Shops ohne Endkundenverkauf sind nicht betroffen, da für sie kein gesetzliches Widerrufsrecht besteht. Bei gemischten Sortimenten (B2C + B2B parallel) gilt die Pflicht jedoch, weil der Shop B2C-Bestellungen ermöglicht. In unserem Artikel zu kundenspezifischen Sortimenten im B2B-Shop zeigen wir, wie sich Kundengruppen sauber trennen lassen, damit die Pflicht gezielt auf die betroffenen Bestellungen angewendet wird.