Introduction
Under EU consumer protection law (Directive 2011/83/EU), customers have the right to withdraw from a purchase within a specified period often before the order is even fulfilled. Managing these withdrawal requests manually, through emails or support tickets, quickly becomes difficult to track and easy to get wrong, especially as order volume grows.
The WebToffee EU Withdrawal Button for WooCommerce plugin brings this entire process into WooCommerce. It gives customers a self-service way to submit withdrawal requests directly from your store, and gives you a structured workflow to review, approve, and process those requests including automatic order status updates, refunds, and inventory restocking.
This guide walks you through the key steps to get a complete withdrawal flow running, from setup to monitoring incoming requests.
Step 1: Choose Where Customers Submit Requests
Go to WooCommerce → Withdrawals → Settings → General and select a Withdrawal page — the page where your withdrawal request form will live. This is the foundation the rest of the flow builds on.
- Open the Withdrawal page dropdown under the General tab.
- Select an existing page (e.g., “Withdrawal Request”), or create a new one beforehand if you don’t have one yet.
- Save your changes.

Step 2: Make the Withdrawal Option Visible to Customers
Still under General, decide where the withdrawal option appears so customers can actually discover it.
- Toggle on Show withdrawal button in footer to display a link/button in the site footer.
- Toggle on Show withdrawal button in My Account to display an action button on My Account order pages.
- Open Customize appearance to adjust the Footer and My account page placements individually:
- Set the link text (e.g., “Request Withdrawal”).
- Choose Display as either a Link or a Button.
- Set colors for Background, Text, Hover bg, and Hover text if using the Button style.
- Choose the Display scope – Global (site-wide) or WooCommerce only.

Step 3: Define the Withdrawal Window
Still under General, set how long customers have to submit a request and when that window starts.
- Enter a value in Withdrawal period (e.g., 18 days), or use one of the quick presets: 2d, 7d, 14d, 30d.
- Under Start countdown from, select one or more order statuses (e.g., Order created, Completed, Draft) using the search field.
- Confirm the selected statuses appear as tags above the search box. The countdown begins on the earliest date the order reaches any of them.

Step 4: Allow Partial Withdrawals
Still under General, enable more flexible withdrawal options for customers.
- Toggle on Allow partial withdrawals so customers can withdraw individual items instead of the entire order.
- Optionally, toggle on Reason required if you want customers to state why they’re withdrawing.

Step 5: Exclude Ineligible Products
Go to Settings → Rules & Exclusions and define what should never be eligible for withdrawal.
- Under Excluded product types, check the boxes for types that shouldn’t qualify (e.g., Virtual, Downloadable).
- Under Excluded categories, use the search field to add specific categories (e.g., “Men’s Shoes”). Use Clear all to remove all selections at once.
- Under Excluded products, search for and select individual products that should be excluded regardless of category or type.

Step 6: Set What Happens When a Request Is Submitted
Go to Settings → Workflow and configure automatic order status changes.
- Toggle on Change order status on submission.
- From the Set status to dropdown, choose the status the order should move to (e.g., “Withdrawn”) as soon as a request comes in.

Step 7: Set What Happens When a Request Is Approved
Still under Workflow, close the loop for approved requests.
- Toggle on Change order status on approval.
- From the Set status to dropdown, choose the resulting status (e.g., a status you use for processed returns).

Step 8: Configure Email Notifications
Still under Workflow, make sure the right people are informed at each stage.
- Under Recipient(s), enter an email address and click Add to include it in new-request notifications. Repeat for additional recipients.
- Under Customer contact email, enter the address shown to customers if their request is rejected and they need to get in touch.

Step 9: Decide Between Manual Review or Auto-Processing
Still under Workflow, choose how much of the approval process should run automatically.
- To keep manual control, leave Auto-approve requests off. requests will wait in the Requests tab for you to review.
- To automate approvals, toggle on Auto-approve requests (PRO).
- Set the Approval scope to either “All items” or “Custom”:
- If Custom, define Auto-approve product types, Auto-approve categories, and/or Auto-approve products to limit which requests qualify for auto-approval.
- Toggle on Automatic refunds to issue a WooCommerce refund automatically when a request is approved.
- Toggle on Restock items to automatically return approved items to inventory.

Step 10: Monitor and Manage Requests
Go to the Requests tab to track everything going forward.
- Check the dashboard counters: Open Requests and Approved (30d) for a quick status overview.
- Use the filter bar to narrow the list by Status, Date From/To, or search by Order # or receipt hash, then click Apply Filters.
- Review the requests table — ID, Order #, Customer, Type (Full/Partial), Status, and Date.
- Click View on any request to open its full detail page:
- Request Information — order number, customer email, request type, reason, created date, and receipt hash.
- Status — current withdrawal status, resulting order status, and processed timestamp.
- Order Items — line-level breakdown of items included in the request.
- Status Timeline — the trail from Submitted to Approved/Rejected, with who acted and when.
- Activity Log — a full audit trail of dates, actors, and actions.


Other Features Worth Mentionin
- Geo-Targeting (PRO) — Restricts the withdrawal button’s visibility to EU visitors only.
- Withdrawal button shortcode [wt_eu_order_withdrawal] — Places the withdrawal button anywhere outside the footer or My Account page.
- reCAPTCHA (PRO) — Protects the withdrawal form from spam and abuse.
- Withdrawal Terms & Conditions generator (PRO) — Auto-generates a T&C page based on EU Directive 2011/83/EU.
- Import/Export Settings (PRO) — Transfers plugin configuration between sites.
- Delete data on uninstall — Optionally removes all plugin data when uninstalled; irreversible, so use with caution.