WooCommerce Returns & Refunds: What EU Law Requires and How to Set It Up
After 15+ years building and maintaining WooCommerce stores for EU clients, I’ve seen the same pattern almost every time: owners configure shipping, VAT, and payments carefully before launch — and then treat returns as an afterthought, usually a single line in the footer that says “returns accepted within 14 days” and nothing else. That’s not just thin, it’s legally incomplete: EU consumer law spells out exactly what must be disclosed, how the refund has to be processed, and which products are exempt, and getting it wrong exposes you to disputes, chargebacks, and — if a customer complains to a consumer protection body — real enforcement risk.
This guide covers what the EU Consumer Rights Directive actually requires, which products are exempt from the right of withdrawal, how to set up a compliant Return & Refund Policy page in WooCommerce, and how refunds actually flow through Mollie, Stripe, and manual payment methods. Written for store owners, not lawyers, by Jasper Frumau — WordPress and WooCommerce developer at Imagewize, based in the EU. Last updated: August 17, 2026.
Quick summary: Under EU Directive 2011/83/EU, most online shoppers have 14 days from delivery to notify you they’re withdrawing from the purchase, then 14 more days to send the item back — you must refund the full order value, including standard delivery, within 14 days of being notified (or of receiving the goods back, whichever is first). A handful of product types are exempt (personalized items, sealed hygiene goods once opened, perishables, unlocked digital content), but everything else is returnable whether or not the item is faulty. You may deduct for value lost through handling beyond normal inspection. Set this up in WooCommerce with a dedicated Refund and Returns Policy page (Settings → Advanced → Page setup), and process refunds through Orders → Refund — Mollie and Stripe both support automatic API refunds from that screen; manual payment methods don’t.
In This Guide
- The 14-Day Right of Withdrawal: What EU Law Requires
- What Customers Can’t Return: Exceptions Under Article 16
- Setting Up a Return & Refund Policy Page in WooCommerce
- Processing Refunds: Orders, Line Items, and Payment Gateways
- Who Pays for Return Shipping
- Common Returns Mistakes That Cost EU Stores
- Frequently Asked Questions
The 14-Day Right of Withdrawal: What EU Law Requires
The EU Consumer Rights Directive (2011/83/EU) gives consumers a “right of withdrawal” on almost every online purchase — the ability to cancel and return an order within a set window, for any reason or no reason at all, not just because the item is faulty. This is separate from, and stacks on top of, any manufacturer warranty. It applies to distance selling generally, which covers essentially every WooCommerce store selling to EU consumers regardless of where the store itself is based.
| Milestone | Deadline | Who acts |
|---|---|---|
| Right to withdraw | 14 calendar days from delivery (last item, if split shipment) | Customer notifies you |
| Return the goods | 14 more days after notifying withdrawal | Customer ships the item back |
| Issue the refund | Within 14 days of notification (may withhold until goods or proof of return arrive) | You refund the customer |
Two details trip up most store owners. First, the refund must cover the full order value including standard delivery cost — if the customer paid for shipping, that comes back too, even though the item itself is returned. That reimbursement is capped at your cheapest standard delivery option, though: if the customer chose a more expensive express or next-day upgrade, you refund the standard rate and keep the difference. Second, the refund has to go back through the same payment method the customer used, with no fee charged for the reimbursement itself. You can withhold the refund until you’ve received the goods back (or proof they were shipped), whichever happens first — you don’t have to refund before the item is in your hands.
One more thing that catches stores out: if you never tell customers about their right of withdrawal in the first place, the 14-day window doesn’t start — it extends up to 12 months from delivery under Article 10. The European Commission’s own Your Europe guidance on guarantees and returns states the same rule in consumer-facing terms, which is what a customer disputing your policy will most likely be reading. That’s the direct financial reason to have a clear, findable policy page, not just a compliance formality.
What Customers Can’t Return: Exceptions Under Article 16
Article 16 of the Directive lists specific product categories where the right of withdrawal doesn’t apply. If your catalog includes any of these, say so explicitly on the product page and in your policy — silence doesn’t create an exemption, it just invites a dispute.
- Personalized or made-to-order goods — items produced to the customer’s specifications or clearly personalized (engraved, custom-sized, custom-printed).
- Perishable goods — items that deteriorate or expire quickly, such as fresh food.
- Sealed goods unsuitable for return for health or hygiene reasons, once unsealed — cosmetics, underwear, earrings, and similar items lose the right the moment the seal is broken.
- Sealed audio, video, or software, once unsealed — a shrink-wrapped disc or license the customer has already opened.
- Digital content not on a physical medium — downloads, streaming access, or software licenses, if the customer explicitly agreed to immediate delivery and acknowledged they’d lose the right of withdrawal by doing so.
- Goods mixed inseparably with other items after delivery, and newspapers or periodicals (subscriptions are treated differently from single-issue sales).
Note: Exemptions must be disclosed clearly before the customer completes checkout — on the product page and in your Return & Refund Policy. An exemption you never mentioned is much harder to enforce if a customer disputes it later, and some national consumer bodies treat an undisclosed exemption as void.
Setting Up a Return & Refund Policy Page in WooCommerce
WooCommerce has a dedicated slot for this, separate from your general Terms and Conditions: WooCommerce → Settings → Advanced → Page setup, where you can assign a Refund and Returns Policy page. Once set, WooCommerce links it from checkout the same way it links your Terms — so create the page as its own piece of content rather than burying the policy inside a general “Terms” wall of text nobody reads.
A compliant policy page should state, in plain language:
- The length of the withdrawal period (14 days minimum) and when it starts (delivery date, or last item for split shipments).
- How the customer notifies you — email address, contact form, or your own return request page. You don’t have to use the Directive’s Model Withdrawal Form (Annex I, Part B), but any clear written statement of intent to withdraw counts.
- Which products, if any, are exempt (see the list above), stated specifically rather than a blanket “some items are non-returnable.”
- Who pays for return shipping — your default is the customer, unless you choose to cover it (see below).
- How and when the refund is issued — same payment method, within 14 days of notification.
For stores handling more than a handful of returns a month, a self-service returns request plugin (customers submit a return reason and get an RMA-style tracking flow) reduces the email back-and-forth — but for most SME-sized catalogs, a clear policy page plus manual email handling is sufficient and avoids adding another plugin to maintain.
Processing Refunds: Orders, Line Items, and Payment Gateways
Once a returned item is back (or the customer has provided proof of shipment), issue the refund from WooCommerce → Orders → [order] → Refund. You can refund the full order or specific line items — useful when a customer keeps part of a multi-item order — and optionally restock the returned quantity so inventory stays accurate.
Whether that refund actually reaches the customer’s account automatically depends on the payment gateway:
| Payment method | Refund from the Orders screen | What still needs manual action |
|---|---|---|
| Mollie (Mollie Payments for WooCommerce) | Yes — automatic API refund, full or partial | Nothing for most methods; some (e.g. bank transfer via Mollie) can take a few extra business days to settle on the customer’s side |
| Stripe (WooCommerce Stripe Gateway) | Yes — automatic API refund, full or partial | Nothing; the refund typically appears on the customer’s statement within 5–10 business days, set by the card issuer, not the store |
| PayPal (official plugin) | Yes — automatic API refund | Nothing for standard balance or card-funded payments |
| Bank transfer / manual payment | No — order screen only records the refund | You must transfer the money back yourself, then mark the order as refunded in WooCommerce |
If you accept a mix of automated and manual payment methods, this is worth double-checking now rather than during your first dispute — a refund that’s marked “Refunded” in WooCommerce but never actually reached the customer’s bank is a chargeback waiting to happen. See our companion guide on WooCommerce payment methods for EU stores for how Mollie and Stripe compare on fees and setup.
VAT reminder: A refund isn’t just cash moving back — if you’re VAT-registered, a returned order also needs a credit note or corrected invoice reversing the VAT you originally charged. See our WooCommerce EU VAT setup guide for how tax is calculated and displayed in the first place.
Who Pays for Return Shipping
By default, under Article 14, the customer bears the direct cost of sending the item back. There are two exceptions: you agree to cover it yourself, or you fail to tell the customer upfront that they’ll bear the cost — in which case the obligation falls back on you. Either way, this has to be stated in your policy before checkout, not decided case by case after a return request lands in your inbox.
Whether to offer free returns anyway, beyond what the law requires, is a business decision rather than a legal one — it removes a point of friction at the moment a shopper is deciding whether to buy, similar to how a free shipping threshold reduces cart abandonment (see our WooCommerce conversion optimization guide for EU stores). For lower-margin or high-return-rate categories, charging the legally-required minimum and being upfront about it is often the more sustainable choice.
If you also cover outbound shipping via PostNL, DHL, or bpost, check whether your carrier or a multi-carrier connector like Sendcloud offers return labels through the same integration — generating a prepaid return label at the point of refund request is usually less operational overhead than customers arranging their own shipment and you reimbursing the receipt afterward.
Common Returns Mistakes That Cost EU Stores
Most returns problems we see in EU WooCommerce stores aren’t disputes over an individual order — they’re policy gaps that only surface once a customer pushes back.
- No dedicated Refund and Returns Policy page. A line in the footer isn’t enough, and an undisclosed policy extends the withdrawal window to 12 months rather than protecting you.
- Refusing returns on non-exempt items “because it’s on sale.” Sale status is not an exemption under Article 16 — the right of withdrawal applies regardless of reason or discount, as long as the product category itself isn’t exempt. Condition is a different question: under Article 14(2) you may deduct for value lost through handling beyond what’s needed to establish the item’s nature and characteristics, the same way a shopper would inspect it in a physical store. That’s a deduction from the refund, not grounds to refuse the return.
- Only refunding the item price, not the original shipping cost. The full amount paid, including standard delivery, has to come back — withholding shipping is a common but non-compliant shortcut.
- Marking an order “Refunded” without actually processing the gateway refund. This happens most with manual payment methods (bank transfer) where the Orders screen doesn’t push money automatically — see the gateway table above.
- Confusing the return window with a warranty. The 14-day right of withdrawal is unconditional and separate from statutory warranty rights on faulty goods, which typically run much longer — don’t let staff or automated replies conflate the two.
A clear returns policy sits alongside VAT, shipping, and payment methods as one of the checkout-adjacent details that either build or erode trust before a customer buys. If you’re setting all of this up as part of a bigger move, our Shopify to WooCommerce migration guide for European stores covers returns alongside VAT and payments from day one.
Returns are also only one of the compliance obligations an EU store carries. The two closest neighbors are covered separately: the European Accessibility Act and what it requires of WooCommerce stores, and our WooCommerce GDPR checklist for the data side of the same checkout.
Not legal advice: This guide explains how EU consumer rights law generally applies to WooCommerce stores, but enforcement details vary by member state and by product category. Confirm specifics with a local consumer-law professional before publishing your final policy, especially if you sell exempt categories like personalized goods or digital content.
Frequently Asked Questions
- How many days does a customer have to return an order in the EU? 14 calendar days from delivery to notify you they’re withdrawing, then 14 more days to actually send the item back — so up to 28 days can pass before the item is even shipped, plus transit time before it reaches you.
- Do I have to pay for return shipping? No — by default the customer covers the direct cost of returning the item, unless you choose to offer free returns or fail to disclose upfront that the customer bears the cost.
- Which products are exempt from the 14-day right of withdrawal? Personalized or made-to-order goods, perishables, sealed hygiene items once unsealed, sealed audio/video/software once unsealed, and digital content the customer agreed to access immediately. Everything else is returnable regardless of reason.
- How do I refund an order in WooCommerce? Open the order under WooCommerce → Orders, click Refund, and enter the amount (full order or specific line items). If the gateway supports it — Mollie, Stripe, and PayPal all do — the money is returned automatically; manual payment methods like bank transfer require you to send the refund yourself.
- Do I need a returns plugin, or is WooCommerce’s built-in refund enough? Built-in Orders → Refund is enough for most SME-sized stores handling returns by email. A self-service returns request plugin becomes worth adding once return volume is high enough that manual email handling is eating real staff time.
- What happens if I never tell customers about their right of withdrawal? The 14-day window doesn’t start on delivery — it extends up to 12 months, under Article 10 of the Directive, giving customers far longer to request a return than if you’d simply published a compliant policy from the start.
Need Help Setting Up EU-Compliant Returns for Your WooCommerce Store?
We build and optimize WooCommerce stores for SMEs — from returns and refund workflows to VAT, shipping, and payment integrations. Fixed-price quotes available.
- Refund and Returns Policy page setup
- Mollie, Stripe, and PayPal refund configuration
- Return shipping labels via PostNL, DHL, bpost, or Sendcloud
- Managed WooCommerce hosting and ongoing support