Skip to content

Withdraw

Withdraw adds an easy withdrawal function to WooCommerce, aligned with EU Directive 2023/2673 (the “withdrawal button”, Art. 11a). Customers declare that they withdraw from a distance contract, in full or per item, within the statutory withdrawal period.

It is a request-and-log plugin: it records the customer’s withdrawal declaration, emails a confirmation to the customer and a notification to the shop, and tracks the request status in the admin. It never moves money on its own. You process any refund in the normal WooCommerce order screen, matching the legal model where the customer declares and the trader acts.

  • [withdraw_form] shortcode with a two-step form: look up an order by number and billing email, then select items and quantities and submit the declaration.
  • Full or partial withdrawal: the customer chooses how many of each item to withdraw from.
  • Withdraw from this order button under the order details in My Account, linking to the withdrawal page with the order pre-filled.
  • Configurable withdrawal period (statutory minimum 14 days), measured from order completion or, if never completed, from the order date.
  • Admin log under WooCommerce → Withdrawal Requests with per-request status: pending, accepted, rejected, processed.
  • Automatic confirmation email to the customer and notification email to the shop.
  • Editable intro text and model withdrawal text (Annex I.B) shown on the form.
  • Guest friendly: the order-number and billing-email lookup works without an account.
  • HPOS, cart/checkout blocks and multisite compatible.

The customer opens your withdrawal page, enters the order number and the billing email used at checkout, and Withdraw checks eligibility: the order status must be one of the eligible statuses, the withdrawal period must still be open, and no pending or accepted request may already exist for the order. The customer then picks items and quantities, optionally gives a reason, ticks the withdrawal declaration and submits.

The request is stored in its own database table, both emails go out, and the request appears on the Withdrawal Requests screen where you manage its status. Refunds stay in the normal WooCommerce order screen.

  • Getting started, install and set up the withdrawal page.
  • Configuration, every setting, the eligibility rules and storage.
  • FAQ, common questions about refunds, guests, legal texts and uninstall.