FAQ
Does it require WooCommerce?
Section titled “Does it require WooCommerce?”Yes. WooCommerce must be installed and active. Returns registers under the WooCommerce menu and extends My Account; it does nothing on its own.
Which orders can be returned?
Section titled “Which orders can be returned?”An order shows the Request a return action only when it is in one of the eligible statuses (Completed and Processing by default), is within the return window, belongs to the logged-in customer, and has no return request yet. The window is counted from the order date; set it to 0 under WooCommerce → Returns to remove the time limit.
Does it issue refunds automatically?
Section titled “Does it issue refunds automatically?”No. Returns records the request and tracks its status. Process any refund in the standard WooCommerce order screen, setting a request to Completed does not move money. The status box says as much.
Who receives the notification email, and can I change the address?
Section titled “Who receives the notification email, and can I change the address?”Every request is emailed to your site’s Administration Email Address (Settings → General). There is no recipient field in Returns. To send notices elsewhere, change the site admin email or route that address with an SMTP/forwarding plugin. The email is plain text, sent through wp_mail, so delivery depends on your WordPress mail setup.
Where do return requests go?
Section titled “Where do return requests go?”Each submission is saved as a private Return Request record (the returns_rma custom post type) under WooCommerce → Return Requests, and emailed to the site admin. The record holds the order, the chosen items and quantities, the reason and the note.
Can a customer return the same order twice?
Section titled “Can a customer return the same order twice?”No. Once a request exists for an order, the Request a return action is hidden for that order and a notice is shown instead, on the orders list, the order view and the form URL.
Can someone open a return on an order that isn’t theirs?
Section titled “Can someone open a return on an order that isn’t theirs?”No. Only the order’s logged-in owner sees the action, ownership is re-checked when the form loads and again on submit, and the submitted items are matched against the order’s real line items. A tampered or guessed request is rejected (no IDOR).
What statuses can a request have?
Section titled “What statuses can a request have?”Four: Requested, Approved, Rejected and Completed. You move a request through them in wp-admin via the Status dropdown on the record. The customer sees the current status in My Account, drawn as a journey track; a rejected return forks off the path rather than continuing to Completed.
Can I edit the return reasons?
Section titled “Can I edit the return reasons?”Not from the admin in the free edition. The dropdown offers five fixed reasons: arrived damaged or faulty, wrong item received, no longer needed, size or fit issue, and other.
Is there a shortcode?
Section titled “Is there a shortcode?”No. The flow attaches to WooCommerce’s own My Account orders and order-view hooks and a request-return account endpoint. There is nothing to place by hand.
Is there a template I can override in my theme?
Section titled “Is there a template I can override in my theme?”No. The free edition renders its markup directly and is themed through CSS, the storefront stylesheet is built on --returns-* custom properties (radius, border, muted text and the accent), so you re-skin it from your theme without overriding markup. There is no yourtheme/returns/ template path.
Does it need JavaScript?
Section titled “Does it need JavaScript?”No. The request form is a plain server-rendered POST. There is no JavaScript and no external request, so the flow adds no layout shift and works with scripts disabled.
Is it compatible with HPOS and the block checkout?
Section titled “Is it compatible with HPOS and the block checkout?”Yes. Returns works with WooCommerce High-Performance Order Storage (HPOS) and the Cart/Checkout Blocks. Order edit links resolve correctly under both HPOS and legacy post-based order storage.
What happens to my data if I uninstall?
Section titled “What happens to my data if I uninstall?”Deleting the plugin removes its two options (returns_settings and returns_db_version). The submitted Return Request records are intentionally kept, so they survive a reinstall; delete them by hand from the Return Requests list if you want them gone. A POT file is included for translation.