Update van 2 november 2026
In Nederland geldt de verplichting sinds 25 juni 2026, in Duitsland sinds 19 juni 2026. We schreven dit artikel vóór de deadline en hebben het sindsdien bijgewerkt. Heeft je shop nog geen herroepingsknop, voeg hem dan nu toe.
Waar het om gaat, in twee zinnen
Richtlijn (EU) 2023/2673 (die artikel 11 bis toevoegt aan de Richtlijn consumentenrechten 2011/83/EU) verplicht webshops die aan consumenten verkopen een herroepingsknop aan te bieden. In Nederland volgt de verplichting uit artikel 6:230oa van het Burgerlijk Wetboek en geldt ze sinds 25 juni 2026; de andere lidstaten passen de richtlijn sinds 19 juni 2026 toe zodra hun nationale wet geldt. Geen overgangsperiode, geen coulancetermijn.
Dit treft Shopify-merchants in het bijzonder, omdat Shopify zelf geen native oplossing biedt en de meeste thema’s de knop niet meeleveren. Je moet hem zelf toevoegen.
Het tweestapsproces dat de wet voorschrijft
Stap 1 is een knop in de navigatie of de footer. Hij luidt « Hier de overeenkomst herroepen » – de tekst van artikel 11 bis van de richtlijn, die de memorie van toelichting als voorbeeld noemt; de Nederlandse wet (art. 6:230oa BW) schrijft zelf geen vaste tekst voor. Je mag hem herformuleren, zolang de betekenis ondubbelzinnig blijft. Elke creatieve afwijking vergroot het risico op een sommatie.
Stap 2 is het formulier dat opent wanneer iemand op stap 1 klikt. Het moet drie gegevens mogelijk maken: de naam, gegevens waarmee de overeenkomst te identificeren is (een bestelnummer is maar één mogelijkheid) en het e-mailadres of een ander elektronisch communicatiemiddel voor de ontvangstbevestiging. Een vrij tekstveld is optioneel. De afsluitknop luidt « Herroeping bevestigen ».
De shop mag geen login vereisen. Wie iemand dwingt eerst in te loggen om zijn wettelijke herroepingsrecht uit te oefenen, handelt in strijd met artikel 6:230oa BW.
Ontvangstbevestiging op een duurzame gegevensdrager
Na het indienen moet een ontvangstbevestiging volgen. De wet zegt « onverwijld » (art. 6:230oa lid 4 BW). In de praktijk betekent dat seconden, geen uren. De bevestiging moet de volledige tekst van de herroepingsverklaring bevatten, plus datum en tijdstip van indiening.
Het formaat moet een « duurzame gegevensdrager » zijn. Een e-mail voldoet daaraan. Een korte toast-banner in de browser volstaat niet, want die is weg zodra het tabblad sluit.
Wat er gebeurt als de knop ontbreekt
Twee mechanismen treden tegelijk in werking. Ten eerste: in Nederland kan de ACM handhaven en een bestuurlijke boete opleggen. In Duitsland kostten de tot nu toe gedocumenteerde sommaties over § 356a BGB ongeveer 417 € per stuk.
Ten tweede: wie klanten niet informeert over het bestaan en de plaats van de herroepingsfunctie, krijgt te maken met een bedenktermijn van tot twaalf maanden en veertien dagen na ontvangst van de goederen. Een klant die zijn bestelling in juli 2026 ontvangt, kan dan tot juli 2027 herroepen. Elk van die retouren is een echte kostenpost, en geen van je financiële prognoses heeft die ingecalculeerd.
Waarom Shopify-shops een bijzonder probleem hebben
Shopify is een gesloten platform. Je kunt niet zomaar een PHP-bestand bewerken zoals in WooCommerce. Je werkt met Liquid-templates, themasecties en app embeds. Dat laat twee realistische paden.
Pad A: je bouwt de knop rechtstreeks in je thema. Je bewerkt theme.liquid, voegt een sectie of een snippet toe, registreert een eigen route voor het formulier en schrijft server-side afhandelingslogica in een app. Dat is haalbaar, maar je bent dan zelf verantwoordelijk voor hosting, mailverzending, rate limiting en bewaring.
Pad B: je gebruikt een widget die via een script-tag wordt geladen. Shopify staat script-tags toe via Theme App Embeds. Je activeert de embed één keer in de thema-editor, en de knop verschijnt automatisch in de navigatie of de footer. Dit pad beheren wij.
Inbouwen in Shopify via Theme App Embed
Een Theme App Embed is een speciale app-extensie die Shopify sinds Online Store 2.0 ondersteunt. Hij laadt een script zonder dat je themacode hoeft aan te raken. De merchant klikt in de customizer op « App embeds », zet de schakelaar om, en is klaar.
Bij WiderrufButton ziet dat er zo uit: je installeert de app uit de Shopify App Store, bevestigt bij de eerste aanmelding het e-mailadres dat de herroepingen ontvangt en zet de app-embed aan in de thema-editor. Een widget-key invullen hoeft niet. De widget laadt in de Shadow DOM, botst niet met je thema-CSS, plaatst geen cookies en blijft onder 15 KB gzipped.
De stapsgewijze variant met code staat in onze handleiding voor de herroepingsknop. Lees je liever de productpagina: zie Herroepingsknop.
Wat er geregeld moet zijn
Knop op elke pagina bereikbaar en opvallend geplaatst – vast aan de rand van het scherm, in de navigatie of duidelijk uitgelicht in de footer; zonder scrollen zichtbaar hoeft niet. Formulier met de drie verplichte gegevens (naam, overeenkomst, e-mail voor de bevestiging). Ontvangstbevestiging per e-mail, met de volledige herroepingsinhoud en een tijdstempel. Een adres in je colofon waarlangs vragen mogelijk zijn. En het belangrijkste: de knop moet de hele bedenktermijn beschikbaar blijven, dus minstens veertien dagen vanaf ontvangst van de goederen.
Wie vandaag een shop heeft waarin een klant alleen via een contactformulier kan herroepen, is niet conform. De oude regel was « in tekstvorm ». De nieuwe regel zegt « knop ». Dat is een verschil, en het verschil is de knop.
Veelgehoorde misverstanden bij Shopify-merchants
« Maar ik heb Shopify’s herroepingspagina in mijn juridische teksten. » Dat is een statische tekst, geen knop. De wet vereist een interactie die een herroepingsverklaring activeert.
« Mijn thema heeft een contactknop. » Een contactknop is geen herroepingsknop, want hij is noch als zodanig benoemd, noch genereert hij een geformaliseerde herroepingsverklaring.
« Ik ben klein, dit raakt mij niet. » De verplichting geldt voor elke B2C-shop, ongeacht omzet of aantal medewerkers.