Every function in detail
What e-Widerruf does, how it works and which plan a function sits in. Plan marker per section: Free Pro Business – higher plans always contain everything below them.
- Button & theme integration
- The withdrawal form
- The acknowledgement of receipt
- Withdrawal instruction
- Deadline calculation & check
- Dashboard & status workflow
- E-mail dispatch & branding
- Tagging & automation
- Analytics & export
- Special cases & intake checks
- Consent to early performance
- Visibility per country
- Languages
- Data protection & security
- Plans & prices
- Limits & notes
1. Button & theme integration Free
The “withdraw from contract” button is added as a theme extension (app embed) – without touching the theme code, switched on in the theme editor. It appears either as a floating element or as a footer link; position and label are set in the theme editor.
The button takes typeface and button style straight from your theme – nothing is rebuilt. There is no colour picker and no CSS for you to maintain: the button looks like part of your store because it uses your theme's design.
The button is permanently visible and works without a login – guests who ordered without an account can withdraw too, as the law requires.
2. The withdrawal form Free
A click on the button opens the form inside your store, in your customer's language. It leads through the declaration in three steps: name the order, check the declaration, send – with the information the law provides for, and no more.
Order matching
Customers give their name, e-mail address and, optionally, the order number. On request the form loads the order – the lookup matches the e-mail address against the one stored on the order, so nobody can see somebody else's order data. It also works without an order number: the field may stay empty, and the withdrawal is then matched by hand.
Partial withdrawal Pro
Once the order is loaded, customers can pick individual line items and partial quantities instead of withdrawing from the whole order. “Withdraw from the entire order” is preselected. A free-text field (recommended, can be switched off) leaves room for detail.
Reasons for withdrawal Pro
The form can ask for a reason – voluntary for the customer, and you maintain the list yourself (one reason per line). The answers feed into the analytics.
Editable texts
Form title, introductory text and the link to your privacy policy are configurable under Settings → Form.
Bot protection
The form is protected against automated submissions without customers having to solve puzzles – no visible CAPTCHA, no extra hurdle on the way to withdrawing.
3. The acknowledgement of receipt Free
Immediately after sending, customers receive the acknowledgement by e-mail – on a durable medium, with the content, date and time of the declaration, as the law requires.
The decisive difference: the acknowledgement establishes the receipt of the declaration only – not its validity. Many solutions confirm too much and risk an unintended admission. Whether a withdrawal is valid (in time, no exclusion) remains your decision.
The wording carries the information the law requires and is available in every supported language. For each withdrawal you can see in the admin which acknowledgement was sent, and when.
4. Withdrawal instruction Free
On request the app provides the withdrawal instruction from the official EU model (Annex I to Directive 2011/83/EU) – not translated by us, but taken from the official language versions. Under Settings → Instruction you configure the building blocks the model provides for:
- contract type (goods / services) as the basis for the variant,
- return address – your business address or a fixed different one,
- return costs: who bears them, including the “we collect the goods” variant,
- the option “withhold reimbursement until the goods are back”,
- an optional note on proportionate compensation for value,
- an optional reference to the app's withdrawal button,
- a preview per language right in the settings.
Free delivers the instruction in your store's default language. Pro delivers it in all 23 available languages and picks the customer's language automatically.
Note: the instruction provided is a building block towards your duty to inform; it does not replace a legal review of your store's texts. Legal certainty is not something we sell – which is why the instruction itself is already in Free, and only its multilingual delivery is a paid feature.
Provisions follow your store country. Wherever the interface names a provision, it names the one for your store's country. That is complete for Germany (12 of 12 topics), largely so for France and the Netherlands (11 each), Italy (10) and Poland (9). For all other countries the app still names German law – and says that it is German. Passing a foreign provision off silently as the local one would be worse than the honest note.
5. Deadline calculation & check Free
For every withdrawal received, the app checks automatically whether it was in time – working from the contract type and the actual dates, not from a “14 days from the order date” rule of thumb. The result appears in the list, the detail view and as a figure on the dashboard.
Which calendar rules apply. The calculation follows the German rules as its default (§§ 355, 356, 187, 188, 193 BGB): the day of the event does not count, and a deadline falling on a Saturday, Sunday or nationwide public holiday moves to the next working day. National rules differ – France has its own provision in art. L221-19 C. consom., and whether a Saturday counts is not settled everywhere. Where it matters, use the manual correction described below and see the article on the withdrawal period.
When the period starts, by contract type
| The order contains | Contract type | The period starts |
|---|---|---|
| at least one item that ships | supply of goods | when the goods are received |
| only items that do not ship | service / digital content | on conclusion of the contract (order date) |
| no usable information | unknown | status “unclear”, or the default contract type |
Mixed orders are treated conservatively as a supply of goods (the later start). For mixed ranges you can store product tags for goods and services, which take precedence over the automatic classification.
Calculation rules
- The day of the event does not count.
- If the period ends on a Saturday, Sunday or nationwide public holiday, it moves to the next working day.
- In time means received before the calculated end of the period expires (day boundary Europe/Berlin).
- The period itself is configurable: 14 days by default, longer as a service, never shorter.
Date sources
Conclusion of the contract comes from the order date, the shipping date from the first fulfilment. A reliable delivery date comes from tracking (status “delivered”). Where none is available, the app calculates from the shipping date plus a configurable grace period (5 days by default) and marks the result as provisional.
The possible deadline states
| Status | Meaning |
|---|---|
| In time | Received within the calculated period. |
| In time (provisional) | In time, but the delivery date was estimated from shipping plus grace. |
| Late | Received after the period expired – only where the date is reliable. |
| Unclear | Delivery date, contract type or other necessary data missing; deliberately not judged “late”. |
| Overridden | You set the assessment yourself. |
Manual correction
In the detail view, under “correct the deadline check manually”, you can change the contract type, the relevant date of receipt (the period is recalculated) or force a status – with a reason. Every correction is written to the audit log together with the previous values.
Guidance, not a legal assessment. The deadline check works from the order and shipping data available. Without a reliable delivery date the result deliberately stays “unclear” rather than “late”. The final judgement is yours.
6. Dashboard & status workflow Free
All withdrawals come together in the embedded dashboard inside the Shopify admin – no second login, no external tool. You see the figures, filter by status and search by name, e-mail or order number. The number of withdrawals is unlimited on every plan.
Each case runs through a clear status workflow: received → under review → accepted or rejected. The detail view shows the full declaration, the order items, the deadline check and the history.
The audit log records every step traceably – receipt, status changes, mail dispatch, manual corrections – and can be exported as CSV.
7. E-mail dispatch & branding
App dispatch Free
Ready from installation: acknowledgements come from an authenticated e-widerruf.de sender address (SPF/DKIM/DMARC in order, EU sending provider). The sender name is your store name, replies go to your reply/contact address. On the Free plan the e-mails carry a discreet e-Widerruf note.
Your own branding Pro
- No branding: the e-Widerruf note disappears.
- Own templates: your own subject line, greeting and signature.
- Logo & accent colour: your logo (upload or URL) and your colour in the mails.
- Sender name & reply-to freely configurable.
Your own sending domain Business
Three dispatch routes, switchable under Settings → E-mail → Dispatch method:
- App dispatch Free – ready from installation, from an authenticated e-widerruf.de address.
- Your own SMTP Business – host, user, password, TLS; acknowledgements then come from your domain (your own SPF/DKIM).
- Your own Brevo key Business – you store your own API key and send through the domain you verified in Brevo. The key is checked before it is saved, and the senders verified there come back as a list to pick from. It needs a Brevo account with a verified sender – no DNS setup on our side.
Credentials and keys are stored encrypted. The page Settings → E-mail is arranged in five blocks: sender, dispatch method, notifications, e-mail branding and links to your legal texts.
Preview with the letterhead Free
Under Settings → Preview you see From, Reply-to, To and Subject exactly as they will appear in your customer's inbox. If the dispatch route is not fully set up yet, the preview says so – rather than inventing an address that turns out different later.
Notifications to you
The app notifies you by e-mail Free for every incoming withdrawal. There are also Slack and MS Teams webhooks Business for team workflows. The notification arrives in your store's language — six languages, English otherwise.
8. Tagging & automation Pro
- Order tagging: the app marks the Shopify orders concerned – on receipt if you want, on acceptance in any case. You choose the tags yourself; during setup the app suggests them in your store's language (24 languages), and they stay editable under Settings → Advanced. No jumping between the app and your orders.
- Action on acceptance: choose what happens when you accept a withdrawal – cancellation or return, straight from the app.
- Options: “refund immediately on cancellation” and “restock the goods” can be switched on.
9. Analytics & export
Analytics Pro
Withdrawal rate, the merchandise value affected, the most frequently withdrawn items and – if you collect them – the reasons given: the numbers that let you find causes instead of only administering cases.
Export Pro
- CSV of all withdrawals for accounting and the archive,
- PDF per case for audit-proof records,
- audit log as CSV.
CSV and PDF follow your store's language. Until August 2026 the CSV was German-only while the PDF was translated — one withdrawal, two records, two languages.
10. Special cases & intake checks Business
Items without a right of withdrawal
Some goods are excluded from withdrawal – custom-made items, for instance. You mark such products with product tags; the form shows the items concerned with the note “no right of withdrawal” and excludes them from partial withdrawal. The marking is a note to customers and guidance for you – judging whether the exclusion applies remains yours.
Intake checks
Two optional automations take work off the pre-check:
- Automatically reject clearly late withdrawals – this only bites where the deadline check returns a reliable “late”.
- Only accept with a matching order – declarations without an assignable order are rejected.
Both are recorded in the audit log; nothing disappears unnoticed.
11. Consent to early performance Business
Anyone supplying digital content or services before the period expires needs the customer's express consent and their acknowledgement that the right of withdrawal lapses or is limited. e-Widerruf collects that consent in a structured way and records it permanently against the order.
- Consent checkbox with configurable wording – optionally required, optionally pre-ticked (use pre-ticking with care: valid consent needs a recognisable act).
- Optionally a second acknowledgement checkbox for the withdrawal instruction, with a link – either drawn automatically from your store policies or with a fixed address.
- Placement: in the cart for every store; in the checkout additionally with Shopify Plus (checkout extensions are reserved for Plus – a Shopify limit, not an app limit).
- On request the order receives an order tag when consent is given.
The consent collected appears on the order and with the related withdrawal – as evidence, should it matter.
12. Visibility per country Free
If you also sell into countries without a statutory distance-selling right of withdrawal (Switzerland or the USA, say), you can hide the button, the form and the checkout checkbox there (country list by ISO codes). Two safeguards are built in:
- The EU, the EEA and the UK cannot be switched off – the obligation applies there.
- Incoming withdrawals are always accepted, regardless of visibility.
13. Languages Free
- Button and form: all 24 official EU languages, automatically in your customer's language.
- Withdrawal instruction: in the 23 available language versions of the official model – Free in the store's default language, Pro automatically by customer language.
- Acknowledgement of receipt: with the information the law requires, in the available languages.
- Reasons for withdrawal: the six standard reasons reach the customer in their own language, in all 24 Pro. Reasons you write yourself stay exactly as you enter them.
- Sender name: “e-Widerruf on behalf of {store}” appears in the customer's language (falling back to English). With no-branding Pro the addition disappears altogether.
- Tag suggestions and consent wording likewise in 24 languages.
The interface for you is a different matter from the one for your customers. The app's Shopify admin comes in six languages: German, English, French, Dutch, Italian and Polish. The theme editor comes in five – Polish is missing there, so a Polish merchant sees the block labels in English. The source language is German and the fallback is English: anyone on a seventh language sees English, not German. Further languages we add on request.
14. Data protection & security Free
- DPA included: data processing agreement under Art. 28 GDPR, with listed sub-processors.
- Automatic anonymisation: personal data is anonymised automatically once the retention period ends – the cases stay verifiable.
- Audit log: a complete, exportable history of every case.
- Encrypted credentials: stored credentials (SMTP, for instance) are encrypted.
- A data-frugal form: it asks for what matching the withdrawal requires; the order lookup demands the e-mail match.
- EU mail dispatch: an EU provider sends the acknowledgements.
- Shopify privacy webhooks: access and erasure requests (customer data request / redact, shop redact) are served.
15. Plans & prices
Billing runs through Shopify (US dollars, plus VAT where applicable). Pro and Business come with a 14-day trial; the annual plan gives you two months. Free is free forever and already carries the content the law requires in the acknowledgement – that is not a paid feature.
| Plan | Price | Contains |
|---|---|---|
| Free | $0 | Withdrawal button + 3-step form, acknowledgement of receipt (app sender), instruction from the official model (store language), deadline calculation & check, dashboard with status & search, 24 EU languages, visibility per country, bot protection, audit log, GDPR anonymisation, unlimited withdrawals, DPA |
| Pro | $9.99/month or $99/year | Free, plus: no branding, own e-mail templates with logo & colours, own sender name & reply-to, instruction in all 23 languages by customer language, analytics (rate, merchandise value, top items), CSV/PDF export, order tagging, cancellation & return on acceptance, partial withdrawal, reasons for withdrawal |
| Business | $19.99/month or $199/year | Pro, plus: own sending domain (SMTP), Slack & MS Teams notifications, items without a right of withdrawal, intake checks, consent to early performance (cart; checkout with Shopify Plus) |
Changing plan is possible at any time; the handles and your data stay untouched.
16. Limits & notes
- Not legal advice: e-Widerruf is a technical tool. Responsibility for the instruction, terms and privacy policy rests with the merchant.
- The deadline check is guidance: without a reliable delivery date it deliberately stays “provisional” or “unclear”; regional public holidays are not taken into account (nationwide ones only), and mixed orders count as a supply of goods.
- Calendar rules: the calculation follows the German rules as its default. Where you sell into markets whose rules differ, check the result and use the manual correction.
- Delivery dates: the reliable delivery date comes from tracking and requires the corresponding Shopify approval (protected customer data); until then, manual correction helps.
- No validity check: the app assesses deadlines and marks exclusions, but does not decide whether a withdrawal is valid – that stays expressly your decision.
- Checkout extensions require Shopify Plus (the cart variant works everywhere).
As at: August 2026 · The plan page in the app is authoritative for what each plan contains.
← Back to the documentation