Herroepingsknop in WooCommerce: wat de wet vraagt en wat WooCommerce zelf al doet
Sinds 19 juni 2026 moet je webshop een herroepingsknop hebben: een duidelijke knop waarmee een klant zijn aankoop online ongedaan maakt, zonder te bellen, te mailen of een account aan te maken. WooCommerce heeft daar sinds versie 11.1 een eigen formulier voor. Het staat standaard uit, en ook als je het aanzet, staat er nergens in je winkel een knop die ernaartoe leidt.
Ik heb het op 31 oktober 2026 getest op onze eigen demo-winkel, met WooCommerce 11.2.1, als klant zonder account. Daarna heb ik op dezelfde winkel vier plugins naast elkaar gezet die op “herroepingsknop woocommerce” gevonden worden. Hieronder staat wat de ACM vraagt, wat WooCommerce zelf doet, waar het misgaat, welke plugin ik zou kiezen, en een checklist die je in tien minuten afloopt.
Kort samengevat: Verkoop je online aan consumenten, dan heb je sinds juni 2026 een herroepingsknop nodig. Een account aanmaken mag je niet verplichten, en de klant krijgt direct een bevestiging. WooCommerce 11.1 en nieuwer heeft een ingebouwd formulier dat zonder inloggen werkt, maar je moet het zelf aanzetten en zelf een knop plaatsen. Zet ook je tijdzone goed, vervang de Nederlandse teksten (WooCommerce zegt “Contract opzeggen”, nergens “herroeping”) en vertrouw de waarschuwing over de 14 dagen niet: die rekent vanaf de besteldatum, niet vanaf de levering.
Wat de herroepingsknop verplicht maakt (sinds 19 juni 2026)
De regel komt uit artikel 11a van de Europese richtlijn consumentenrechten, ingevoegd door Richtlijn (EU) 2023/2673. De ACM en de KVK noemen 19 juni 2026 als startdatum. De overheidssite Ondernemersplein noemt 25 juni 2026 als de dag waarop de Nederlandse wetswijziging inging. Welke datum je ook aanhoudt: de plicht geldt nu. Volgens de ACM moet de functie aan het volgende voldoen:
- Duidelijk en makkelijk te vinden. Het ontwerp mag je zelf kiezen. De ACM geeft “mijn aankoop ongedaan maken” als voorbeeld van een tekst.
- Geen verplicht account. Inloggen mag je als optie aanbieden, maar een account aanmaken mag je niet verplichten.
- Alleen de gegevens die nodig zijn om de herroeping te verwerken. De KVK noemt een bestelnummer of adres als voorbeeld.
- Een aparte bevestigingsstap. De richtlijn vraagt na het invullen nog een knop die alleen “herroeping bevestigen” zegt, of iets dat even duidelijk is. Dat geldt in de hele EU, ook in Nederland.
- Direct een bevestiging. Volgens de KVK noemt die de aankoop en de datum en het tijdstip van de herroeping.
- Beschikbaar tijdens de hele bedenktijd, zonder onnodige drempels.
De plicht geldt als je op afstand aan consumenten verkoopt en zij een wettelijk herroepingsrecht hebben. Verkoop je alleen aan bedrijven, dan valt je winkel erbuiten.
Wat WooCommerce 11.1 zelf meelevert
Sinds versie 11.1 heeft WooCommerce een formulier voor herroepingen. Het heet in het Engels “Order withdrawal”, in de Nederlandse beheeromgeving verwarrend genoeg “Bestelling ingetrokken”, en staat standaard uit. Je zet het aan onder WooCommerce → Instellingen → Geavanceerd → Functies. Daarna staat het formulier op het adres /mijn-account/withdraw-order/ (de naam van je accountpagina kan anders zijn; het laatste deel stel je in bij de accountinstellingen).
Het formulier vraagt voornaam, achternaam, twee keer het e-mailadres, het bestelnummer en of het om de hele bestelling of een deel gaat. Daarna ziet de klant een controlestap en pas dan de knop om te bevestigen. De klant en de winkel krijgen allebei een e-mail. De status van de bestelling verandert niet: er komt een notitie bij, en terugbetalen doe je zelf.
Getest: werkt het zonder account?
Ja. Ik heb WooCommerce op de demo-winkel van ons thema Elayne bijgewerkt van 10.9.4 naar 11.2.1, de functie aangezet, een bestelling als gast geplaatst en die bestelling vervolgens herroepen in een browser zonder ingelogde gebruiker. Dit kwam eruit:
- Geen inlog nodig. Het formulier verschijnt direct, ook al staat het onder “mijn account”. De rest van die pagina vraagt wel om in te loggen; het herroepingsformulier niet.
- Er staat nergens een knop. Niet in het menu, niet in de footer, niet in de bevestigingsmail van de bestelling. WooCommerce levert het formulier, niet de knop. Zonder link vindt een klant het niet, en dan voldoe je niet aan “makkelijk te vinden”.
- De bevestiging klopt inhoudelijk. De klant krijgt een e-mail met het bestelnummer, wat er herroepen is, en de datum en tijd van indienen.
- Maar de tijd stond in UTC. De mail zei 12:29 am, omdat de tijdzone van de winkel nooit was ingesteld. Die mail is het bewijs van de klant. Zet onder Instellingen → Algemeen de tijdzone op Amsterdam.
- Twee keer dezelfde bestelling wordt geweigerd, met een nette melding. Het bestelnummer werkt met en zonder #.
- Een tikfout in het e-mailadres wordt wel geaccepteerd. De klant krijgt gewoon een bevestiging, en dat is goed. Maar de winkel krijgt alleen een mail dat de bestelling niet gekoppeld kon worden, zonder notitie bij de bestelling. Kijk je alleen in je bestellingen en niet in je mail, dan mis je hem.
- De Nederlandse vertaling gebruikt het woord “herroeping” nergens. De kop wordt “Contract opzeggen”, de knop “Intrekking bevestigen” en de mail spreekt van een “intrekverzoek”. In het hele Nederlandse taalbestand van WooCommerce (de versie van 31 oktober) komt “herroep” nul keer voor. Je klant zoekt naar herroepen of ongedaan maken.

Let op: ik herriep een bestelling die 20 dagen eerder geplaatst was en 5 dagen eerder was afgerond (datums die ik voor de test zo instelde). De bedenktijd voor producten loopt 14 dagen vanaf de ontvangst, dus deze herroeping was op tijd. Toch kreeg de winkel de waarschuwing “Deze bestelling is ouder dan 14 dagen. Alleen bestellingen binnen 14 dagen na levering komen in aanmerking voor intrekking.” WooCommerce rekent vanaf de besteldatum, terwijl de tekst over de levering spreekt. De klant wordt niet tegengehouden, maar wie de waarschuwing gelooft, weigert een geldige herroeping. Kijk zelf naar de leverdatum.
Oplossing: in WooCommerce zelf is er geen instelling om dit goed te zetten. Je hebt twee opties. Pas de tekst van de waarschuwing aan, zodat die je naar de leverdatum stuurt in plaats van te zeggen dat de klant te laat is (de code staat hieronder bij “Voor ontwikkelaars”). Of gebruik een plugin die wel vanaf de levering rekent, zoals EU Order Withdrawal Button uit de vergelijking verderop.

De teksten zet je om met een vertaalplugin zoals Loco Translate, of met een klein stukje code in je child theme. Dat staat hieronder voor wie het wil overdragen aan een ontwikkelaar.
Voor ontwikkelaars: teksten aanpassen en waar de 14 dagen vandaan komen
Het formulier zit in src/Internal/OrderWithdrawal/. De toegang zonder inlog komt uit WC_Shortcode_My_Account: als het endpoint withdraw-order wordt opgevraagd, toont WooCommerce het formulier vóór de inlogcontrole. De waarschuwing over de 14 dagen komt uit is_order_outside_withdrawal_window() in OrderWithdrawalFormProcessor, die get_date_created() gebruikt. De berekening zelf kun je niet aanpassen: de methode is private en heeft geen filter (gecontroleerd in WooCommerce 11.2.1). Een fix hoef je niet af te wachten: het probleem is gemeld in issue #67377, en de ontwikkelaar sloot het als bewuste keuze. Wat wel kan, is de tekst van de waarschuwing vervangen, zie de laatste regel in het voorbeeld hieronder. De functie heet order_withdrawal in de Features-instellingen.
Teksten vervangen zonder vertaalplugin, bijvoorbeeld in een mu-plugin of in functions.php van je child theme:
add_filter( 'gettext', function ( $translation, $text, $domain ) {
if ( 'woocommerce' !== $domain ) {
return $translation;
}
$teksten = array(
'Withdraw from contract' => 'Aankoop herroepen',
'Confirm withdrawal' => 'Herroeping bevestigen',
'We received your withdrawal request' => 'We hebben je herroeping ontvangen',
// Waarschuwing aan de winkel: rekent vanaf de besteldatum, dus verwijs naar de leverdatum.
'This order is older than %1$d days. Only orders within %2$d days of delivery are eligible for withdrawal.'
=> 'Deze bestelling is meer dan %1$d dagen geleden geplaatst. Controleer de leverdatum: de bedenktijd loopt %2$d dagen vanaf de levering.',
);
return $teksten[ $text ] ?? $translation;
}, 10, 3 );
Test daarna het hele formulier en beide e-mails, en zoek in je taalbestand naar de overige teksten die je wilt aanpassen.
Plugins voor de herroepingsknop vergeleken
Zoek je op “herroepingsknop woocommerce” of “herroepingsknop wordpress”, dan vind je vooral plugins. Ik heb er vier op dezelfde demo-winkel getest, elk los, met het ingebouwde formulier uit. De testbestelling was 20 dagen eerder geplaatst en 5 dagen eerder geleverd, dus nog binnen de bedenktijd. Alle vier werken zonder account. Het aantal installaties komt van WordPress.org op 31 oktober 2026.
| Oplossing | Installaties | 14 dagen vanaf | Datum en tijd in bevestiging | Waar je op moet letten |
|---|---|---|---|---|
| WooCommerce 11.1+ (ingebouwd) | onderdeel van WooCommerce | besteldatum (alleen een waarschuwing aan de winkel) | ja, mits tijdzone ingesteld | geen knop, Engelse of onhandige Nederlandse teksten |
| Herroeping | 100 | leverdatum als die bekend is, anders afronddatum | ja | na uitzetten blijven herroepen bestellingen in een status hangen die WooCommerce niet meer kent |
| Storepex | 60 | geen controle | ja | een tikfout in het e-mailadres wordt geweigerd zonder bevestiging; klant typt de producten zelf over |
| Herroepingsknop & Bedenktijd | 40 | afronddatum, anders betaaldatum; toont de klant de einddatum | nee | bevestiging noemt geen datum en tijd |
| EU Order Withdrawal Button | 6.000 | leverdatum, anders betaaldatum | ja, plus controlecode | pagina wordt als concept aangemaakt; geen aparte controlepagina, de verzendknop heet wel “Confirm withdrawal” |
Voor de meeste Nederlandse winkels zou ik EU Order Withdrawal Button kiezen. Het is de enige met duizenden installaties, hij is getest met WooCommerce 11.2, rekent vanaf de levering, en de Nederlandse vertaling spreekt van herroeping. Volgens zijn standaardinstelling bewaart hij herroepingen met een afwijkend e-mailadres apart in plaats van ze te weigeren; dat pad heb ik zelf niet getest. Publiceer wel de pagina die hij aanmaakt: die staat na installatie als concept, en tot je hem publiceert staat er dus niets live.
Herroeping heeft het eenvoudigste formulier: alleen bestelnummer en e-mailadres, daarna een controlestap, alles in het Nederlands. Herroepingsknop & Bedenktijd laat de klant per product kiezen en toont de einddatum van de bedenktijd, maar de bevestiging mist datum en tijd. Storepex zou ik niet nemen: een klant die een ander e-mailadres invult dan bij de bestelling, krijgt geen bevestiging en kan dus niet aantonen dat hij herriep.
Wissel je later van plugin, ruim dan op. Bij de test liet Herroeping na het uitzetten bestellingen achter in zijn eigen status “herroepen”, en die bestellingen kwamen daarna niet meer terug in de zoekopdrachten van WooCommerce. Een volgende plugin pakte bovendien de bestaande pagina “/herroeping/” over, waar toen alleen nog een losse shortcode op stond.
Herroepingsknop voorbeeld: tekst en plek
Een formulier is pas een herroepingsknop als een klant het vindt. Zet een link op plekken waar een klant zoekt als hij spijt heeft:
- In de footer van elke pagina, naast je retourbeleid en algemene voorwaarden.
- In “mijn account”, bij de bestellingen, voor klanten die wel een account hebben.
- In de orderbevestiging per e-mail, als extra. Een link alleen in de mail is niet genoeg: de functie moet ook op je site makkelijk te vinden zijn.
Voor de tekst op de knop: houd hem kort en zeg wat er gebeurt. De ACM noemt “mijn aankoop ongedaan maken”, Ondernemersplein “hier de overeenkomst ontbinden”. “Aankoop herroepen” werkt ook. Vermijd een vage tekst als “Service” of “Klantenservice”, want daar zoekt niemand naar als hij een aankoop wil terugdraaien.
Checklist in 10 minuten
- Kies het ingebouwde formulier of één plugin, niet allebei. Ingebouwd vereist WooCommerce 11.1 of nieuwer.
- Zet de tijdzone op Amsterdam onder Instellingen → Algemeen.
- Plaats de knop in de footer en in “mijn account”, met een duidelijke tekst.
- Zet de Nederlandse teksten goed, zodat er “herroepen” of “ongedaan maken” staat.
- Doe één testherroeping als gast, in een privévenster, en controleer beide e-mails: staat de aankoop erin, en kloppen datum en tijd?
- Spreek af wie de herroepingsmails leest en hoe snel je terugbetaalt. Kijk bij elke herroeping zelf naar de leverdatum.
Wat ik niet getest heb: andere thema’s, een echte betaling en terugbetaling, en een bestelling waarvan de bedenktijd al verstreken was. Het pad met een tikfout in het e-mailadres heb ik niet bij alle plugins getest. Het is één demo-winkel op één thema. Dit is geen juridisch advies.
Veelgestelde vragen
- Is de herroepingsknop verplicht voor mijn webshop? Ja, als je online aan consumenten verkoopt en zij een wettelijk herroepingsrecht hebben. Sinds juni 2026 moet je een duidelijke functie hebben waarmee een klant zijn aankoop online ongedaan maakt.
- Geldt het ook als ik alleen aan bedrijven verkoop? Nee. De plicht geldt voor verkoop aan consumenten. Verkoop je aan bedrijven en consumenten, dan geldt hij voor je consumenten.
- Mag ik de klant laten inloggen om te herroepen? Inloggen mag je als optie aanbieden, maar een account aanmaken mag je niet verplichten. Het ingebouwde formulier van WooCommerce en de vier plugins die ik testte werken allemaal zonder account.
- Heeft WooCommerce een ingebouwde herroepingsknop? Sinds versie 11.1 heeft WooCommerce een herroepingsformulier. Het staat standaard uit en je zet het aan onder WooCommerce, Instellingen, Geavanceerd, Functies. Een knop die naar het formulier leidt, moet je zelf plaatsen.
- Geldt de herroepingsknop ook in België? Ja, de regel komt uit dezelfde Europese richtlijn, maar België voert hem zelf in. In juli 2026 beschreef Sirius Legal de Belgische tekst nog als wetsontwerp. Controleer de Belgische regels als je daar verkoopt.
- Wat als mijn WooCommerce ouder is dan 11.1? Dan heb je het ingebouwde formulier niet. Werk WooCommerce bij, na een test op een kopie van je winkel, of gebruik een plugin.
Bronnen
- ACM, roept online retailers op zich voor te bereiden op herroepingsknop (11 juni 2026).
- Richtlijn (EU) 2023/2673, die artikel 11a (de herroepingsfunctie) in de richtlijn consumentenrechten invoegde.
- KVK, herroepingsknop verplicht voor webshops.
- Ondernemersplein, webshops moeten een herroepingsknop hebben (wetswijziging ingegaan op 25 juni 2026).
- Legal News, verplichte annuleringsknop voor webshops vanaf juni 2026 (Belgische uitwerking).
- WooCommerce, documentatie Customer order withdrawal.
Dit is een praktische gids voor webshopeigenaren, geen juridisch advies. De Engelse versie met de Europese achtergrond staat in EU Withdrawal Button for WooCommerce Stores. Meer over regels voor Europese webshops staat in de gids voor WooCommerce en EU-regels.
Herroepingsknop liever laten regelen?
Ik zet het formulier of de plugin aan, plaats de knop in je footer en “mijn account”, zet de Nederlandse teksten en de tijdzone goed en doe een testherroeping met beide e-mails. Uurtarief €65, vooraf afgesproken. Meer over losse klussen staat op de pagina WooCommerce webshop optimalisatie.