Skip to main content

Set up EU Right of Withdrawal for AfterShip Returns

Overview

Since June 19, 2026, the European Union has required merchants selling to EU customers to offer a 14-day cooling-off period. It is a window during which customers can cancel a purchase for any reason, without justification. This is known as the Right of Withdrawal.

In practice, this means an EU customer can request to withdraw from their purchase within 14 days of ordering it, without giving a reason, and receive a full refund. This includes original shipping to their original payment method. It's functionally similar to a return, but with fewer steps and no justification required from the customer.

AfterShip Returns gives you a built-in way to meet this requirement so you can stay compliant and avoid penalties. This article walks you through exactly what to set up and why each step matters.

Availability

  • Plans: Available on all AfterShip Returns plans, there's no plan requirement to use this feature.

  • Platforms: Available for merchants on any platform. The one difference is the withdrawal button in Step 1. Shopify merchants can install AfterShip's pre-built widget, while merchants on other platforms will need to add their own withdrawal button or link, since AfterShip doesn't provide a widget outside Shopify.

  • Countries: The automatic 14-day return window for unfulfilled orders (see Step 2) applies specifically to EU countries. For non-EU countries, whether unfulfilled orders are returnable depends on your own store's existing return policy settings; it isn't automatic outside the EU.

What the regulation actually requires (and how AfterShip covers it)

It helps to see the full picture before diving into individual steps. Here's what EU law requires, and where AfterShip Returns handles it for you:

Requirement

How AfterShip Returns addresses it

Easy-to-find withdrawal function: a clearly labeled button or link that customers can easily find and use to exercise their withdrawal right

A visible withdrawal button or widget on your storefront

At least 14 days to withdraw

Set in your Return Policy settings

No mandatory reason beyond name, order reference, and email

A return reason group with a single reason, no sub-reasons, comments, or images

A simple two-step process: enter details, then confirm

Requires workflow configuration from merchant side

An immediate confirmation email with a tamper-proof timestamp

The Return Requested email, using a merge tag

Crucial configuration note: Many of these features only function if the setup is identical to the steps below. AfterShip automation, like skipping the reason and method pages, only activates when the logic matches perfectly (e.g., EU country, single reason, no sub-fields). Adjusting these settings later to track internal data can cause the automation to fail without warning, leaving you non-compliant. Follow these instructions exactly to ensure full regulatory coverage.

The five steps below set up each of these pieces.

Step 1: Add a withdrawal button to your storefront

EU customers need an easy-to-find withdrawal function. A clearly labeled button or link they can easily locate and use to exercise their withdrawal right. You need a visible, direct entry point on your storefront. You have two options:

Option A:

Add a link manually: Place a link to your AfterShip Returns page somewhere visible, like your store footer. Label it clearly, e.g., "Withdraw your order."

  • Get your Returns page URL or go to your Shopify admin > Settings > Apps section, select AfterShip Returns, and locate the app proxy URL there.

  • In Shopify, go to Online Store > Navigation (Menu) and create a manual link.

  • Add a label for the link (e.g., "Withdraw your order").

  • Paste the URL you copied from the app proxy.

  • Click Save.

Option B:

Install the withdrawal widget (Shopify only): Install AfterShip's withdrawal widget on your Shopify orders page and order status page. This automatically gives EU customers a direct entry point. No manual linking needed.

  • Go to Shopify admin > Settings > Checkout.

  • Open the checkout editor (click Customize/Edit).

  • Navigate to the Order status page.

  • Click the + to add a block/action to the Order status page.

  • Add two app blocks: one for the standard AfterShip Returns return button, and one for the withdrawal button.

  • Enable the withdrawal button (set it to true).


Which one should you use?

If you're on Shopify, Option B is the simpler default since it's pre-built and ready to place. Option A works well for non-Shopify stores or as an additional link anywhere else you want it. The key requirement either way is that the button or link is clearly labeled and easy for customers to find.

Step 2: Configure the return window

EU customers are legally entitled to at least 14 days to change their minds.

  1. Go to AfterShip Returns admin > Return Policy > General.

  2. Set the return window to 14 days minimum.

  3. Set the starting point from Order date (recommended). Though by default it is eligible for orders that are not yet fulfilled.

Note:

  1. Unfulfilled orders from EU customers are automatically eligible for return, you don't need to configure this separately, since it's required regardless of fulfillment status (the customer withdrew before the item even shipped).

  2. Another important thing to keep note of, if a routing rule is set up to generate a return label, AfterShip will still generate that label even though there's nothing to ship back. This isn't something you can currently turn off at the routing-rule level for unfulfilled orders specifically. If this creates operational noise (e.g., unnecessary label costs), consider excluding EU unfulfilled-order withdrawals from your label-generating routing rules.

Step 3: Create a return reason group for EU customers

Customers withdrawing under this regulation aren't required to explain. AfterShip will automatically skip the "reason" step in the return flow, but only if the setup below is exact.

AfterShip hides the reason step automatically when all three conditions are true:

  • The customer's return country is in the EU.

  • The return reason group has exactly one reason.

  • That reason has no sub-reason, no required comment, and no required image.

To configure it:

  1. Go to AfterShip Returns admin > Return Policy > Return Reasons.

  2. Create a new return reason group with:

Conditions (all must match):

Field

Value

Country

All European Union countries

Return request date

Within 14 days

Reason setup:

  • One reason only

  • No sub-reason, comment, or image required

Once this is set up correctly, EU customers returning within 14 days skip the reason step entirely, as required.

Step 4: Automate resolution and return method

Customers shouldn't have to pick a refund method or return method, that would turn this into more than a two-step process. A workflow removes that friction automatically.

Part A: Set up the resolution workflow

A workflow automatically matches an incoming return request against a set of conditions and applies preset actions, so the customer never has to choose a resolution.

Note: If you already have other workflows set up, for example, general resolution rules for non-EU returns, take a moment to check how they interact with this new EU workflow before you publish. AfterShip evaluates workflows against each incoming request in order, so if an existing workflow's conditions also match EU customers, it could run instead of (or ahead of) the one you just created here. To avoid this, review your existing workflows and make sure this EU workflow is either the most specific match for EU requests, or positioned so it takes priority.

  1. Go to AfterShip Returns admin > Return Policy > Workflows.

  2. Create two workflows with:

Conditions (all must match):

Field

Value

Country

All European Union countries

Return request date

Within 14 days

Actions:

Action

Value

Resolution

Refund to original payment method

Refund original shipping

Full amount

Part B: Bypass the return method selection

With only one return shipping and refund method enabled for EU countries in the workflow, bypass the selection step entirely in the Returns page editor. The selection page is skipped entirely, so the customer never sees a choice to make.

  1. Go to AfterShip Returns admin > Returns Page Editor

  2. From the Main flow dropdown, select Request return > Select return method/Select refund method > Return methods/Refund methods.

  3. Enable Skip this page for customers when only one shipping method/refund method is available. (this is enabled by default).

Note: With one resolution and one return method available, there's nothing left to choose. The customer just enters details and confirms. That's the two-step flow the regulation requires.

Step 5: Update your Return Requested email template

The law requires an immediate confirmation email that states the withdrawal was received, with an exact, tamper-resistant timestamp. AfterShip generates this timestamp automatically as a system-recorded value at the moment the request is submitted. It isn't editable by merchants or customers after the fact, which is what satisfies the "tamper-resistant" requirement. You don't need to set anything up to generate it, you just need to make sure it's inserted into the email via the merge tag below.

  1. Go to AfterShip Returns admin > Notifications > Email Templates.

  2. Open the Return Request received template.

  3. Insert the Return request time merge tag wherever you want the timestamp to appear.

  4. Save the template.

Putting it together: what the customer actually experiences

Once everything above is configured, here's the flow an EU customer sees:

  1. Clicks the clearly labeled "Withdraw your order" button or link on your storefront.

  2. Enters their name, order reference, and email.

  3. Confirms the withdrawal.

  4. Immediately receives an email confirming receipt, with a tamper-resistant timestamp.

The customer gets a full refund including, original shipping to their original payment method. They never have to select a reason, a resolution, or a return method.

Limitations to know about

  • If a routing rule generates a return label, that label will still be created even for orders that were never fulfilled.

Key takeaways

  • EU customers can withdraw from a purchase within 14 days, no reason required, through a simple 2-step flow with an instant confirmation email.

  • The setup covers five pieces: a clearly labeled withdrawal button, a 14-day return window, one no-questions return reason, an automated resolution + return-method bypass, and a timestamp merge tag in the confirmation email.

  • These settings only work if configured exactly as specified: one reason, no extra fields, correct EU country match. Otherwise the automation can silently stop working.

  • Either a widget or a manual link works for the withdrawal button, as long as it's clearly labeled and easy to find.

  • Unfulfilled EU orders still generate a return label through routing rules, even though there's nothing to ship back.

  • The end result: customer clicks, enters details, confirms, and gets a full refund (including shipping) to their original payment method, no reason, resolution, or return method choice required.

Did this answer your question?