Guide
online store optimization
Shopify
Compliance
Germany's New Withdrawal Button Law, June 2026

What Every Online Store Selling to German Consumers Must Do Before 19 June 2026
On 19 June 2026, § 356a of the German Civil Code (BGB) comes into force. It requires every online store selling to German consumers to add a clearly labelled electronic withdrawal button. No exceptions for company size. No exemption for brands based outside Germany. If you sell to German consumers online and your customers have a right of withdrawal, this applies to you.
The law implements EU Directive 2023/2673. Germany is one of the first member states to transpose it. Non-compliance can result in fines up to 4% of annual turnover. German consumer protection associations are active enforcers, and competitor warning letters (Abmahnungen) are a fast and common enforcement route.
At Axelwin, we work with DTC brands launching into Germany, the UK, and broader Europe. This is the kind of requirement that arrives quietly and becomes expensive. Most of the available information is in German and written for lawyers. This guide is written for operators. It covers exactly what § 356a BGB requires, how it differs from the existing cancellation button law, and how to get it done on Shopify before the deadline.
This post is for informational purposes only and does not constitute legal advice. If you need a formal legal opinion on your specific situation, consult a qualified lawyer.
What § 356a BGB Actually Requires
The law requires you to add a function on your website that lets customers trigger their 14-day right of withdrawal without calling you, emailing you, or filling in a paper form. It is both a design task and a legal one. The button needs to exist, work, and be correctly labelled.
It is worth noting upfront that this is different from the cancellation button that has been required since 2022. That one (§ 312k BGB) covers subscription terminations. This one covers standard purchases. Both are now required. Many stores currently have one or neither.
Here is what § 356a specifically requires:
The button must be accessible throughout the entire 14-day withdrawal period, not only at checkout.
It must have clear, unambiguous labelling. The legislation references wording like "Vertrag hier widerrufen" (withdraw from contract here). The exact phrase is flexible, but it must be obvious what the button does.
Customers must be able to access it without registering or logging in. Guest access is mandatory.
Clicking the button must trigger a two-step flow (covered in the next section).
After the customer completes the flow, your system must send an immediate confirmation by email.
Your system must keep an audit log of all withdrawal submissions.
The Two-Step Withdrawal Flow
A single click is not enough. The law requires a two-step process so the customer is making a deliberate, informed decision. Here is what the flow looks like:
Step 1: The Withdrawal Button
A clearly visible button in the footer, account area, or order history, labelled with unambiguous wording. "Vertrag hier widerrufen" is the reference from the legislation. The button must be live on your website at all times during the withdrawal period. It cannot be hidden in a terms document or only shown at checkout.
Step 2: The Confirmation Page
After clicking, the customer lands on a confirmation page where they provide or confirm:
Their name
The order they are withdrawing from
Their preferred contact method for the receipt
A second button, typically labelled "Widerruf bestätigen" (confirm withdrawal), completes the process. The customer must click it. It cannot be pre-ticked or auto-submitted.
Once they confirm, your system sends an immediate confirmation email with the date and time of the withdrawal. The audit log captures the same record on your side.
The audit log is worth flagging separately. This is not just a frontend task. Your backend needs to store these records, not only process them.
Who This Applies To, Including Non-EU Brands
The law follows the consumer, not the seller. If you are based in Turkey, the UAE, the UK, or the US and you sell to consumers in Germany via your website or app, this applies to your store.
The two questions to ask:
Do you sell to German consumers via an online interface (B2C)?
Do those customers have a statutory right of withdrawal under German law?
For most physical goods, the answer to both is yes. There are narrow exceptions: custom-made products, perishables, sealed hygiene items, digital downloads that have already been delivered. If you sell clothing, homeware, health products, beauty, food supplements, or general retail goods, you are covered.
There is no minimum turnover threshold for the obligation itself. The threshold only affects the fine calculation. A small brand with €200,000 in German revenue has the same obligation as a large retailer. The maximum fine for businesses below €1.25 million is €50,000.
One more point worth knowing: in Germany, competitor warning letters (Abmahnungen) are often faster than regulatory enforcement. Non-compliant stores have received injunctions requiring site changes within days of a warning.
How to Implement It on Shopify
For Shopify stores, this is a build task, not a settings update. Here is what needs to be in place by June 19.
On the frontend, you need a withdrawal button in the footer (or account area) that is accessible without login. It needs to connect to an order lookup function that works for guest customers.
On the backend, you need a form submission flow that captures the required data, sends a confirmation email immediately, and writes to an audit log.
The most practical route for standard Shopify stores is the EU Widerrufsbutton app in the Shopify App Store (apps.shopify.com/eu-widerrufsbutton). It handles the two-step flow, guest access, confirmation email, and audit logging. Install it, configure it, and test the full flow before go-live. The legal requirement is that it works correctly, not just that it is present.
If you are on a custom or headless Shopify setup, the same functional requirements apply. The build is on your development team.
Your legal texts also need updating. Your Widerrufsbelehrung (withdrawal policy) must reference the new electronic withdrawal function. Depending on how you store audit log data, your privacy policy may need a revision too. If Axelwin's legal team has set up your German legal texts before, those documents will need a fresh review.
The Difference Between § 312k and § 356a, and Why You Need Both
This is the most common point of confusion.
§ 312k BGB (in force since 2022) requires a cancellation button for ongoing contracts. If you offer subscriptions, memberships, or auto-renewing services and sell to German consumers, this already applies to you.
§ 356a BGB (in force from June 19, 2026) requires a withdrawal button for one-off purchases. It covers the 14-day right to change your mind on a standard transaction. It applies to regular retail, not ongoing contracts.
Different legal rights. Different flows. They look similar on the surface. Both involve a button that helps a customer end or reverse something. But the legal basis, the trigger, and the required process are not the same.
If you already have the § 312k cancellation button, you are not covered for June. You need both. And on your site, they need to be visually distinct and separately labelled.
Your § 356a BGB Compliance Checklist Before June 19, 2026
Check whether your products are covered. Most physical goods are. Exceptions are narrow.
Add a clearly labelled withdrawal button to your website, accessible without login from the footer or account area.
Build or install a two-step flow: button click, confirmation page with order/name/contact fields, confirm withdrawal.
Set up an automated confirmation email sent immediately on completion.
Implement audit logging. Every submission must be stored with a timestamp.
Update your Widerrufsbelehrung (withdrawal policy) to reference the electronic withdrawal function.
If you are on Shopify: check out the EU Widerrufsbutton app. It covers the core flow.
If you already have a § 312k cancellation button: make sure the two are visually distinct and separately labelled.
Test the full flow before June 19. Not the week before.
If you have a German legal text package (Impressum, AGB, Datenschutz): get it reviewed before go-live.
What we do on live projects
Germany is the most legally detailed ecommerce market in Europe. The Widerrufsbutton is not a one-off rule. It is part of a pattern of consumer protection legislation that has been building since 2022. The brands we support into Germany have legal text setup and consumer rights infrastructure on the launch checklist from day one. Getting it right before launch is always cheaper than fixing it after a warning letter.
If you are setting up for the German market and need your legal infrastructure reviewed alongside your store, our legal setup service covers exactly this.
Legal Setup for Ecommerce Businesses →
FAQ
Does the § 356a BGB withdrawal button apply to my brand if I'm based outside Germany?
Yes. The obligation applies to any business selling to German consumers via an online interface, regardless of where the business is registered. If you sell physical goods to German consumers with a statutory right of withdrawal, you need the button.
What happens if I already have a cancellation button under § 312k BGB?
You still need to add the § 356a withdrawal button separately. The cancellation button covers subscription terminations. The withdrawal button covers the 14-day right to reverse a standard purchase. They are different rights, different flows, and both are required if both apply to your business.
What is the penalty for non-compliance?
Fines can reach up to 4% of annual turnover for businesses above €1.25 million. For smaller businesses, the cap is €50,000. Beyond fines, German consumer protection associations and competitors can issue warning letters (Abmahnungen) and seek injunctions. In practice, warning letters arrive faster than regulatory action.
Is there a Shopify app that handles this?
Yes. The EU Widerrufsbutton app on the Shopify App Store covers the two-step flow, guest access, confirmation email, and audit log. It is the most practical option for standard Shopify stores. Custom or headless setups need a bespoke build.
What exactly does the button need to say?
The law does not fix the exact wording, but it must be clear. The reference formulation is "Vertrag hier widerrufen" (withdraw from contract here). Generic labels like "Contact us" or "Returns" would not satisfy the requirement.
Does this apply to digital products?
It depends. Digital products can be exempt if they are delivered immediately and the customer has explicitly waived their withdrawal right before delivery. If those conditions are met, the button requirement does not apply to those specific transactions. For physical goods, there is no such exemption in standard retail.
Need help getting your Germany store compliance-ready?
Axelwin's legal setup service covers German legal texts, consumer rights infrastructure, and regulatory review for brands entering the German market. We get this right before go-live.
Insights by Axelwin
