In WooCommerce, the default refund status available on the edit order page works well for changing a single order to refund status. But you might also be required to change the status of multiple orders to refund status. Currently, the bulk actions dropdown on the WooCommerce > Orders page which provides several bulk actions but doesn’t include actions, such as changing multiple orders to the “Refunded” status.
In this post, we will see how to change multiple orders to refund status via the Bulk actions dropdown.
Solution: How to Refund Multiple Orders (via Bulk Actions) in WooCommerce
The code snippet will add an option named “Change status to Refunded” to the bulk actions dropdown on the WooCommerce Orders page. This option allows administrators to refund multiple orders simultaneously.
// Updating label in admin order list bulk actions dropdown function ts_update_custom_dropdown_bulk_actions_shop_order( $actions ) { // Add default WooCommerce 'mark_refunded' action $actions['mark_refunded'] = __( 'Change status to Refunded', 'woocommerce' ); return $actions; } add_filter( 'bulk_actions-woocommerce_page_wc-orders', 'ts_update_custom_dropdown_bulk_actions_shop_order', 20, 1 ); add_filter( 'handle_bulk_actions-woocommerce_page_wc-orders', 'ts_update_custom_dropdown_bulk_actions_shop_order', 20, 1 );
Output
By adding the “Change status to Refunded” option to the bulk actions dropdown, admins can quickly mark multiple orders for refunds all at once, making it easier to handle refunds without doing each one separately.
![How to Refund Multiple Orders (via Bulk Actions) in WooCommerce (Compatible with HPOS Order Tables)? 1 How to Refund Multiple Orders (via Bulk Actions) in WooCommerce (Compatible with HPOS Order Tables)? - Tyche Softwares](https://media.tychesoftwares.com/wp-content/uploads/Refund-Multiple-Orders-via-Bulk-actions-in-orders-page-1024x561.png)
When the refund action is applied to multiple orders, the code also triggers the default “Refunded” process that happens on the edit orders page and adjusts the total costs accordingly.
![How to Refund Multiple Orders (via Bulk Actions) in WooCommerce (Compatible with HPOS Order Tables)? 2 How to Refund Multiple Orders (via Bulk Actions) in WooCommerce (Compatible with HPOS Order Tables)? - Tyche Softwares](https://media.tychesoftwares.com/wp-content/uploads/Triggers-Refunded-action-once-the-status-is-changed-to-refunded-1-1024x730.png)
The above code to change multiple orders to refund status is also compatible with HPOS Order Tables. Interested in exploring another useful feature that most admins prefer? You can filter WooCommerce orders by multiple statuses, which could be a game-changer for managing your daily tasks!
Hello and thank you for this snippet, will it refund the full amount of the order (all the products + shipping + taxes) for the selected orders ?
Edit : sorry, I’ve added the code and nothing appears in the dropdown. WOP is up to date as all plugins
Hi Conhe, The code has been tested in the updated WooCommerce version (9.0.0) and it is working fine. Please try once again after deactivating all other plugins except WooCommerce and switching to a default WordPress theme to avoid any plugin/theme conflicts. As for your question about refunding the full order amount (products, shipping, taxes) for the selected orders? Yes, It refunds everything. Also, the refund action will work in exactly same way as it works on the WooCommerce single order page, please take a look at this screenshot for reference. https://prnt.sc/hVWsCKXSz78J Hope it works or else get back to us… Read more »
Hi Saranya and thank you for your answer. I tried but nothing works.. So, I took the code from ( https://www.tychesoftwares.com/how-to-add-custom-bulk-actions-to-woocommerce-admin-order-list/ ) and modified it with mark_refunded and it works great though
Update : it doesn’t “really” work as it didn’t refunded the customer. I have to go on paypal and do it myself. This is a manual refund and not an automatic. Any idea how to turn it automatic ?
Hi Conhe,
To better assist you, could you please share the code you modified?