HandMade WooCommerce Order Status Control


WooCommerce will automatically release a virtual downloadable product for download once payment is received, or, in the case of free products, when an order has been placed.

You may however want to approve all paid or free virtual orders and/or virtual downloadable orders prior to release, depending on your products.

The HandMade WooCommerce Order Status Control extension gives you control over which types of paid orders can be automatically completed, by allowing your WooCommerce store to halt the auto-complete of paid orders for virtual / virtual downloadable / all products, so that you can manually approve or decline the delivery of these products.

The customer will receive an email to inform them that the order has been placed, and the store owner receives a mail with the order details. This allows the store owner to inspect an order and decide whether the product will be released for download, or declined. If the store owner chooses to approve the order the customer will receive another email with the download details of their chosen product(s). The products and the order status will then automatically be changed to ‘completed’.

The shop owner has full control over which paid orders can be auto-completed, and which ones require approval:
* orders that only contain products marked as virtual
* orders that only contain products marked as virtual and downloadable
* all paid orders, no matter what product types they contain.

Please note that unpaid orders will not automatically be completed until payment is received.

Arbitrary section


This section describes how to install the plugin and get it working.


  1. Upload the plugin files to the /wp-content/plugins/plugin-name directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress
  3. Use the Settings->Plugin Name screen to configure the plugin


November 30, 2019
I wanted to switch paid products from "processing" to "completed". One other plugin worked but disrupted email alerts. I skipped this plugin a few times because the description and guide made it quite tricky to get around to the settings and didn't seem to suggest it could do what I wanted but once I found the settings it worked like a charm. The settings for the plugin is located in Woocommerce -> settings -> products (tab) -> handmade. I set all products to completed and voila
Read all 3 reviews

Contributors & Developers

“HandMade WooCommerce Order Status Control” is open source software. The following people have contributed to this plugin.




  • Minor changes to mail send.


  • Interface changes.
  • Latest Woocommerce compatibility issues resolved.


  • If the order has a virtual and physical product the “Auto complete virtual product orders” rule does not apply.
  • Only if the order has all virtual products does the rule trigger
  • The same applies to Virtual Downloadable products, if there other types of products in the order (such as physical or virtual), the rule does not fire
  • Tidied up the code so that we don’t need to loop through all the products in the order if the “Auto complete all orders” flag is set.


  • Enhances made to plugin as requested by users.
  • Updated to support latest version of WordPress and Woocommerce