WC 3.3 Product backorders and stock management improvements

Managing the product stock status cycle in a store is something that many store owners spend a lot of time doing. Products are always coming in, getting purchased, running out of stock, and needing to be reordered. WooCommerce 3.3 has improvements aimed at making stock management less time-consuming and more natural and intuitive for store owners.

Products with stock management

If a product has stock management enabled, the product’s stock status will now be automatically managed. It will naturally go from in stock to out of stock or on backorder as the product’s inventory runs out. When more inventory comes in, it will automatically go back in stock. You can just focus on how many of a product you have and WooCommerce will make sure the correct products are shown to customers in the store.

Products without stock management

If a product does not have stock management enabled, you will still manually control the stock status for the product but are now able to select “On Backorder” as a status.

Products screen

To go with these new changes we’ve made some changes to the Products screen. It is now easy to find and identify backordered products. We’ve also made it possible to filter products by stock status so you can quickly see which products need to be restocked and which products have plenty of stock left.

Testing and feedback

These changes are merged into our master branch on GitHub if you want to try things out. If all goes well, they will be part of 3.3 release in January.

Thoughts and feedback welcome in the comments.


Keep yourself in the loop!

This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form


8 responses to “WC 3.3 Product backorders and stock management improvements”

  1. Is stock management now leveraging the WP_Background_Process class, or is another trigger used to recheck inventory levels per product? Would be nice if posts for new features did a brief summary of how this was implemented in WooCommerce.

    1. > Would be nice if posts for new features did a brief summary of how this was implemented in WooCommerce.

      That’s a good idea. I’ll try and include that in future ones.

      The stock status synchronizing doesn’t need background processing. Right before a WC_Product is saved, WooCommerce will synchronize the correct stock status for the product settings and inventory levels. You can see the code that does that here: https://github.com/woocommerce/woocommerce/blob/master/includes/abstracts/abstract-wc-product.php#L1302-L1320

      There is some special handling for variable products and variations, but the principle is still the same for those.

  2. Looks like some good improvements. It should save some clicks and improve clarity of the settings.

  3. Novidades para os produtos variados?

    1. > What’s new for varied products?

      Only whats listed in the post.

  4. Hello.
    I would like to see direct editing options of the products.
    Do not go to each product every time

    1. What do you mean? Products support quick edit, so you can edit them right from the Products screen.

  5. benbirdmtbcouk Avatar
    benbirdmtbcouk

    I think maybe this update misses the key issue – there’s still only 2 ways this works – now you can have something show is ‘in stock’ to a customer but actually be selling into stock thats inbound, or allow it to show its on backorder (using the old way) but that then doesn’t enforce the hard stop on stock.

    The problem is that products are not unlimited, and customers are impatient. What this _really_ needs is a customer end status (when you set ‘On Backorder’) that says is ‘On Backorder’ even when you don’t allow backorders the old way, and even better an expected date to be enterable. Then it would be really useful. For now its slightly better than the old system but really not that useful as its only a label for the product list and not a lot else (unless I missed something here).

Leave a Reply

Your email address will not be published. Required fields are marked *