• If someone pays by bank transfer, the order is put on hold until payment is received. In the settings we have configured that the orders are cancelled after 7 days (hold stock (minutes) : 10080). But unfortunately this does not happen for orders by bank transfer. Why?

Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Support shahzeen(woo-hc)

    (@shahzeenfarooq)

    Hi there,

    I can understand your concern, Let me clarify this

    The “Hold stock (minutes)” setting only applies to unpaid orders with the “Pending payment” status , not to orders that are already on “On hold” due to payment methods like Bank Transfer (BACS).

    When a customer chooses Bank Transfer, WooCommerce sets the order status to “On hold” and assumes the payment is being made offline. Because it’s not in “Pending payment” status, the “Hold stock” timeout doesn’t apply, and the order will not be automatically cancelled after 7 days.

    Please note that to change the order status from On hold to Cancelled, you will need to do it manually.

    Thank you

    Thread Starter Manja Neumann

    (@tippl)

    But setting the status for bank transfer orders to “on hold” is inconsequent as it is still a pending order. Maybe changing the status is for other reasons I don’t know, but than you should include the on hold status into the “hold stock” timeout. It’s really inconvenient for big shops to do this manually.

    Thank you

    Plugin Support Jonayed (woo-hc)

    (@jonayedhosen)

    Hi @tippl ,

    Thanks for reaching out!

    I totally get where you’re coming from. It can definitely feel inconsistent that the “Hold Stock (minutes)” setting doesn’t apply to bank transfer (BACS) orders the same way it does for other payment methods. Right now, WooCommerce automatically sets those orders to “On hold” while it waits for manual payment, and unfortunately, the stock hold timeout only applies to orders that stay in “Pending payment” status.

    That’s because the bank transfer method is considered a manual process—payment happens outside of WooCommerce, so the system won’t auto-cancel the order after the timeout like it does with, say, card or PayPal payments.

    That said, I completely understand how this can be a headache for stores managing a large volume of orders. There’s no built-in setting to change this behavior right now, but there is a workaround.

    You can change the order status after a specific period of time either by using a plugin from the WordPress repository (here’s a good place to start: https://wordpress.org/plugins/?s=order+status) or by adding a small custom snippet to your site to help automate the process.

    Here’s a sample you could add to your functions.php file, or through the Code Snippets plugin if that feels safer:

    add_action('woocommerce_order_status_on-hold', 'cancel_on_hold_orders_after_period', 10, 1);
    function cancel_on_hold_orders_after_period($order_id) {
    $order = wc_get_order($order_id);
    if ($order->get_payment_method() === 'bacs') {
    $order->update_status('cancelled', 'Order automatically canceled after 7 days on hold.');
    }
    }

    This code checks for BACS payments and cancels the order after your set hold period. If this doesn’t quite fit your setup or you run into trouble implementing it, I’d recommend reaching out to a developer who can tweak it for you.

    Please note that our support is limited to the core WooCommerce plugin, and we’re unable to assist with modifications involving custom code or third-party plugins. For more advanced customizations, I’d recommend reaching out to Codeable or a Certified WooExpert, who can help tailor the solution to your site.

    I hope this helps point you in the right direction.

    Thread Starter Manja Neumann

    (@tippl)

    Thank you very much for your detailed answer. The snippet is definitely a good solution.

    Plugin Support Moses M. (woo-hc)

    (@mosesmedh)

    Hi @tippl,

    Great! I’m glad @jonayedhosen’s response helped resolve the issue. If you found it useful, we’d really appreciate it if you could leave an honest review for the plugin here: https://wordpress.org/support/plugin/woocommerce/reviews/#new-post. Your feedback means a lot and helps us continue improving the plugin.

Viewing 5 replies - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.