ReturnKit documentation
ReturnKit gives WooCommerce a self-service returns portal and the EU "withdraw from contract" function, with refunds in a few clicks.
Customers request returns from My Account, from a link in their order email, or as guests through a secure link. You approve, mark the parcel received and refund, and WooCommerce's own refund and stock tools do the rest. For stores selling to EU consumers, ReturnKit also provides the withdrawal function that Directive (EU) 2023/2673 requires from 19 June 2026: the button, the confirmation step, the timestamped acknowledgement email and an audit log.
Built by Warcal.
Start here
| If you want to… | Read |
|---|---|
| Install it and take your first return | Getting started |
| Understand the return flow, statuses and guest links | Returns |
| Meet the EU withdrawal rules | EU withdrawal |
| Know what every option does | Settings reference |
| See which emails are sent, and when | Emails |
| See what Pro adds and how licensing works | Pro features and licensing |
| Fix something | FAQ and troubleshooting |
| Extend it with code or override templates | Developer reference |
| Answer privacy and compliance questions | Privacy and data |
At a glance
- Returns portal (free):
- My Account → Returns, plus a Return items button on each eligible order
- a Returns page for guests: they enter their order number and email and get a secure link by email
- return and withdrawal links in WooCommerce's order emails
- item and quantity selection, reasons, a note, and a status page with a timeline
- Your returns policy: return period (30 days by default), which order statuses qualify, and exclusions for virtual products, sale items, categories or single products.
- Staff workflow: approve, mark received (with restocking), refund through the payment gateway, decline with a reason, notes and messages to the customer. Every step is logged and noted on the order.
- EU withdrawal function (free): a "Withdraw from contract here" button, a separate "Confirm withdrawal" step, an immediate acknowledgement email with the date and time, item-level withdrawal, and a checklist on the dashboard.
- Spam protection for the public forms: a hidden bot trap, a minimum time on the form, a per-IP limit and optional Cloudflare Turnstile.
- Pro: exchanges, store credit with an optional bonus, return labels, return insights with CSV export, frequent-returner flags (with CardFence signals) and automatic approval.
Requirements
| Minimum | Tested up to | |
|---|---|---|
| WordPress | 6.4 | 7.1 |
| WooCommerce | 8.6 | 11.1 |
| PHP | 7.4 |
Compatible with HPOS (High-Performance Order Storage) and the Cart and Checkout blocks.
ReturnKit is a tool, not legal advice. It helps you meet the EU withdrawal rules, but your terms, your withdrawal policy and how you handle each request are your responsibility.