## Version 1.10.4
Compatibility & quality
- Fully compatible with the current Shopware version 6.7.12.1 (tested: storefront rendering, routes, withdrawal flows).
- Clarification: the plugin does not affect the shop's search engine indexing – it sets neither noindex nor nofollow. The meta tag template inherits Shopware's default robots behavior unchanged.
Included improvements from 1.10.3
- Withdrawal button is now language-aware: the English storefront automatically shows "Withdraw Contract" instead of the German text. A custom button text set in the admin still takes precedence.
- More robust storefront route: the path was changed from /widerruf to /widerrufsformular to avoid collisions with existing shop/SEO URLs (e.g. cancellation pages in demo data). Internal links remain unchanged.
- After logging in via "Log in and withdraw more conveniently", the customer now lands directly on the order overview with the withdrawal buttons.
# Feature overview (as of 1.10.3)
Legal compliance & basics
- EU-compliant digital withdrawal per § 356a BGB / EU Directive 2023/2673 (mandatory from 19 June 2026).
- Withdrawal as a guest (no login, just order number + postcode) and as a logged-in customer in the account.
- Two-step process (form → binding confirmation) with a legally binding timestamp.
- Automatic withdrawal number with a configurable prefix (e.g. WDR-2026-00001).
- Automatic deadline calculation from either the delivery or the order date; period configurable in days (default 14).
- Optional: allow withdrawals even after the deadline (manual review).
- Can be enabled and configured per sales channel.
- Optional notification email (copy to the shop).
Withdrawal button & placement
- Button in the footer, header and order details – each can be toggled individually.
- Button text, button colour and text colour fully configurable.
- Custom footer info text next to the button.
Partial withdrawal
- Full or partial withdrawal with item and quantity selection – in both the guest and account flow.
- Configurable default selection (full/partial).
- Optionally show the item list immediately.
- Optional product images/thumbnails.
- Live refund amount in real time during selection.
- Optional multiple partial withdrawals per order (remaining quantities).
- "At least 1 item" requirement for partial withdrawal.
Backend / administration
- Change the withdrawal status directly on the order: confirm, reject, in progress, refunded, cancelled.
- Withdrawal banner in the order details (number, type, date, status).
- Withdrawal column in the order list with a coloured status badge (style selectable: status text, withdrawal number or both).
- Dedicated configuration page under "Settings → Plugins" with a live design preview.
Design / appearance
- Complete theming via CSS variables: primary, primary-dark, accent, success, warning, danger, text and border colours.
- Hero section on/off, hero gradient (from/to), custom hero title and subtitle.
- Configurable card radius, input/button radius, shadow intensity and base font size.
- Custom CSS field.
- Live preview of the design settings in the admin.
Email / receipt confirmation
- Legally compliant receipt confirmation by email with a timestamp.
- PDF attachment (with HTML fallback).
- Configurable sender, status-update emails to the customer.
- Retry mechanism (max attempts, exponential backoff) and an admin alert in the log on final failure.
ERP integration
- Webhooks on new withdrawal and on status change (each toggleable), optionally HMAC-SHA256 signed.
- Pull mode via REST API (list, detail, status change, statistics, single/bulk ERP confirmation, webhook test/send).
- Compatible with any ERP (Business Central, SAP, weclapp, Xentral, DATEV, etc.).
- Scheduled sync task and CLI command.
Demo / sandbox
- Demo mode: redirects all confirmations to demo recipients, accepts a demo postcode/order number for the guest lookup, optional subject prefix [DEMO].
Other
- Multilingual (German/English), fully translated storefront and admin texts.
- Token-based storefront status page, logging of all relevant operations.
---