cavallini.net
EU compliance

The EU withdrawal button, in force since June 2026: what online shops must do

Since 19 June 2026, Directive (EU) 2023/2673 has made a withdrawal function, a “withdrawal button”, mandatory for online shops selling to EU consumers. Here’s what it is, who it affects, and how to comply now.

Luca Cavallini

If you sell online to consumers in the EU, this is an obligation already in force, not a nice-to-have: a shop without the withdrawal function is out of line today. The good news: it’s a well-defined requirement you can meet quickly.

What the rule actually requires

Directive (EU) 2023/2673 amends the EU Consumer Rights Directive and introduces an explicit withdrawal function for contracts concluded online. In practice, where a consumer can buy with a few clicks, they must also be able to withdraw just as easily, through a clearly labelled button that’s available and visible throughout the withdrawal period.

The withdrawal button must let the customer make an unambiguous withdrawal statement and confirm it, and they must receive an acknowledgement of that withdrawal. The point is symmetry: ending the contract should be no harder than entering it.

Who it applies to

  • Online shops selling to consumers (B2C) in the EU, regardless of where the shop is based.
  • Distance contracts concluded through a website, which is exactly what an e-commerce checkout is.
  • It has applied since 19 June 2026.

Pure B2B sellers and goods exempt from the right of withdrawal are different cases, but most consumer shops are squarely in scope.

What it means for a PrestaShop store

You need a withdrawal button that is genuinely usable: clearly labelled, easy to find, present during the withdrawal window, capturing the required information and confirming the withdrawal to the customer. It has to be correct in every language you sell in, because the obligation follows the consumer, not your default locale.

This is not just a link to a PDF form. It’s a working function wired into your shop, in the right places, in the right languages.

How to comply now

  • Confirm scope: do you sell B2C in the EU? If yes, the obligation already applies to you.
  • Add a compliant withdrawal function to your shop, visible and usable during the withdrawal period.
  • Cover every language you sell in, not only your primary one.
  • Test the flow end to end, including the confirmation the customer receives.
  • Don’t put it off any longer: every day without the function is a day out of compliance, and the work always surfaces edge cases.

The shortcut

I build and maintain a PrestaShop module, EU Withdrawal Button (cll_withdrawal): that implements the requirement the way the law describes it, in all 24 EU languages, for PrestaShop 1.6 → 9. If you’d rather not build it yourself, you can try it live and buy it directly from my module shop.

FAQ

Questions, answered

Is the withdrawal button already mandatory?

Yes. The withdrawal-button obligation under Directive (EU) 2023/2673 has applied to online consumer sales in the EU since 19 June 2026. If your shop doesn’t offer it yet, it’s out of compliance now, so treat it as urgent.

I only sell B2B. Does it apply to me?

The withdrawal right is a consumer protection, so pure B2B sales are generally outside scope. But if you sell to consumers at all, those orders are in scope. If you’re unsure, check your actual order mix rather than assuming.

Can’t I just add a contact form?

No. The rule requires a specific, easy-to-use withdrawal function with confirmation, not a generic contact form. The whole point is that withdrawing must be as simple as buying.

This guide isn’t legal advice, right?

Correct, it’s a practitioner’s overview to help you act. For your specific situation, confirm the details with a qualified professional.

Contact

Tell me what’s not working, or not talking to what.

New build, a system that needs rescuing, an integration, EU compliance (withdrawal button, GPSR, accessibility). One developer who builds it and stays to run it. I reply within one business day.

Prefer email?
luca@cavallini.net

I reply within one business day.