Two EU duties. One app. All 24 languages.
Since 19 June 2026 every EU online shop must offer a withdrawal button. From 27 September 2026 the harmonised legal-guarantee notice and the GARAN label become mandatory. EU Compliance Suite ships all of it as theme app blocks – official wording and artwork, automatically in your customer's language, without touching your theme.
Notice and GARAN label are free, forever. The withdrawal function starts at 6.99 USD per month.

The three deadlines
Withdrawal button with two-step confirmation and an acknowledgement of receipt (Directive (EU) 2023/2673, in Germany § 356a BGB).
Harmonised legal-guarantee notice before purchase, plus the GARAN label for producer guarantees longer than two years (Reg. (EU) 2025/1960).
Information on the right to repair for new sales contracts (Directive (EU) 2024/1799).
What the app does
Everything a merchant needs to be compliant on both dates – and to prove it later.
Withdrawal function
The button carries the official wording on every page, the confirmation is two-step exactly as the law requires, and the consumer gets a time-stamped acknowledgement by e-mail. Works without a customer account.
Evidence that holds up
Every statement is stored with a reference number, a timestamp and a SHA-256 checksum, matched to the Shopify order, tagged, exportable as CSV and anonymised on request.
Official artwork
The legal-guarantee notice and the GARAN label are the unaltered EU originals, in colour, automatically in the storefront language. The label reads its data from product metafields.
Multilingual by default
Storefront blocks in all 24 EU languages, acknowledgement e-mails in all 24, and an admin in ten languages that follows your Shopify admin automatically.
No theme code
Everything is added as theme app blocks and an app embed in the theme editor. Nothing is written into your theme files, so updates and theme changes stay safe.
No cookies, no tracking
The app sets no cookies and tracks nobody. Withdrawal data is stored in a database in Frankfurt, and the privacy policy plus a data-processing section are ready to hand to your lawyer.
How it looks
Screenshots from a live shop. Your theme's fonts and colours are used automatically.




Pricing
Start free with the label blocks. Add the withdrawal function when you need it.
Label
- Legal-guarantee notice block
- GARAN label per product
- Right-to-repair notice
- All 24 EU languages
- No subscription, no time limit
Basic
- Everything in Label
- Withdrawal button, official wording
- Two-step confirmation
- Time-stamped acknowledgement
- Withdrawal log with order matching
- E-mail notification for every case
Pro
- Everything in Basic
- Automatic order tagging
- Withdrawal metafield on the order
- CSV export of the log
- Priority support
Basic and Pro start with a 14-day free trial and can be cancelled monthly through Shopify Billing.
Questions
Is the button worded the way the law requires?
Yes. The app uses the wording prescribed by the directive in each EU language, for example “Withdraw from contract here” and “Confirm withdrawal”, in German “Vertrag widerrufen” and “Widerruf bestätigen”. You can override it, but you do not have to.
Where is the data stored?
Withdrawal statements, shop data and settings live in a database in Frankfurt, Germany. The application currently runs on Netlify servers in the USA under the EU Standard Contractual Clauses; the live region is shown at /healthcheck. No cookies, no tracking.
Do I have to change my theme?
No. Everything is added as theme app blocks and an app embed in the theme editor, so nothing is written into your theme files.
What happens to a withdrawal that does not match an order?
It is accepted and acknowledged anyway, because the law requires that, and it is flagged in the log so you can check it manually.
Does this replace legal advice?
No. The app implements the technical requirements and uses the official wording and artwork. Your own withdrawal information and terms remain your responsibility.
Install the app
Enter your shop domain, approve the permissions, done in five minutes.