Law

The Withdrawal Button from 19 June 2026: What online shops need to know

June 19, 2026 · 6 min · zrapp.group

On 19 June 2026, a new obligation hits virtually every online shop selling to consumers: the withdrawal button. Consumers should be able to withdraw from a contract just as easily as they concluded it online. Here is what it means, who it affects and how to implement it compliantly in just a few minutes.

Key takeaways
  • From 19 June 2026, B2C online shops must provide a digital withdrawal function ("withdrawal button") — based on the new § 356a German Civil Code (implementing EU Directive 2023/2673).
  • The button must be clearly visible and accessible without login, labelled unambiguously "Vertrag widerrufen" (withdraw from contract), and lead to a form with a "confirm withdrawal" button.
  • Only name, order/contract number and an email address may be requested — asking for a reason for withdrawal is not allowed (data minimisation).
  • The customer must promptly receive an acknowledgement of receipt on a durable medium, including date and time. Non-compliance can trigger warnings (Abmahnungen).

What is the withdrawal button?

The withdrawal button is a permanently available digital function on your website that lets customers withdraw from their contract. It is the counterpart to the "Buy" click: whoever can order online should be able to withdraw online just as easily.

Important: the withdrawal button (§ 356a German Civil Code) should not be confused with the cancellation button (§ 312k, in force since 2022). The cancellation button ends ongoing continuing obligations (e.g. subscriptions); the new withdrawal button concerns the 14-day right of withdrawal in distance selling.

Legal basis and effective date

The obligation stems from the new § 356a of the German Civil Code, by which Germany implements EU Directive (EU) 2023/2673. The rule takes effect on 19 June 2026 — from that date the withdrawal function must be present in your shop.

Who does it apply to?

It applies to all traders who conclude distance contracts with consumers (B2C) via an online interface — website, shop or app — where a statutory right of withdrawal exists. That covers nearly every Shopify, WooCommerce or Shopware shop selling to end customers.

Not covered are:

  • pure B2B business (contracts exclusively with companies)
  • contracts concluded by phone, fax or order card
  • contracts without a statutory right of withdrawal (e.g. certain digital content or perishable goods)

The mandatory elements in detail

To make your implementation legally sound, the function must meet several requirements:

  • A visible button with the unambiguous label "Vertrag widerrufen" — easy to find, visually highlighted and accessible without login (including for guest buyers). Ambiguous terms like "Cancel" are not permitted.
  • A two-step process: the first button leads to a form page where a second button labelled "Widerruf bestätigen" (confirm withdrawal) submits the request.
  • Data-minimal input fields: only name, order/contract number and an electronic means of contact (email). A reason for withdrawal may not be requested.
  • Acknowledgement of receipt: the shop must promptly confirm receipt to the customer on a durable medium (e.g. email) — including the content of the declaration as well as the date and exact time.
  • Permanent availability: the function must be reachable throughout the entire withdrawal period.

What happens if you don't comply?

Ignoring the obligation risks warnings (Abmahnungen) from competitors or associations as well as potential fines. Since the requirement is clearly regulated by law and the deadline is known, a wave of warnings is to be expected — as happened with the cancellation button in 2022. Implementing early and cleanly protects you.

How to add the withdrawal button for free

You don't have to reinvent the wheel: we provide a free, open-source withdrawal button that meets all of the above requirements — two-step process, correct labelling, data minimisation and an automatic acknowledgement of receipt with a timestamp.

Setup takes a few minutes: register, confirm your email and paste the ready-made snippet into your shop. The button works on any website — Shopify, WooCommerce, Shopware or a custom site. Learn more about our work on the services page.

Frequently asked questions about the withdrawal button

When does the withdrawal button become mandatory?

On 19 June 2026. That is when the new § 356a German Civil Code takes effect, requiring the withdrawal function for B2C distance contracts.

How must the button be labelled?

The first button carries the unambiguous label "Vertrag widerrufen" (withdraw from contract); the confirmation button on the form page is labelled "Widerruf bestätigen" (confirm withdrawal). Ambiguous terms like "Cancel" or "Service request" are not permitted.

What data may I request?

Only name, order or contract number and an email address for the acknowledgement of receipt. Under the principle of data minimisation, a reason for withdrawal may not be requested.

Does the obligation also apply to B2B?

No. The obligation only applies towards consumers (B2C). Pure B2B contracts and contracts without a statutory right of withdrawal are exempt.

Is the withdrawal button the same as the cancellation button?

No. The cancellation button (§ 312k, since 2022) ends ongoing continuing contracts. The withdrawal button (§ 356a) concerns the 14-day right of withdrawal in distance selling.

Widerrufsbutton Logo

Add the withdrawal button for free

Compliant with § 356a German Civil Code, installed in 2 minutes — open source, for any shop.

Get the free withdrawal button
Read more
Invoicing
Create Shopify invoices automatically: legally compliant
Accounting
Connect Shopify to sevdesk: book orders automatically
Start a project