Prevent renewal of out of stock products
When a renewal is processed containing a product that is out of stock, the customer is still billed for the unavailable product.
If the product is unavailable, why would you charge the customer for something that I can't deliver?
I can understand why some store admins, who deal in virtual products like memberships or downloads, would appreciate having subscriptions renew independently of stock constraints or other unavailability states, but in those cases, store admins can simply declare the product as being in stock, and disable stock management, opting into bypassing stock at the product level.
Why you would have the subscription itself also bypass stock, if that is something you can already do in the product?
My expectation would be that the renewal process would check for the availability of each product in the subscription order, then would only instance line items in the renewal order for the products that are indeed available.
To give you some context, in my shop I sell boxes of fresh fruit and vegetables, and my customers can subscribe to have these boxes delivered weekly at their doorstep.
Now fruit and vegetables come and go in seasons, so by overriding stock constraints, you are basically creating a manual work overhead for the store admin, who then has to refund out of season products every time they're renewed. Multiply this by 500 weekly subscribers, each with several different products, some coming into season and others going out of season, and you get a monumental unmanageable mess, all because stock isn't taken into consideration in the renewal process.
rowie meers commented
I also need this asap! built our whole system and now its apparent that woocommerce doesnt take into account of stock levels for subscriptions!!
Ike Borup commented
This. I have a client that has intermittent outages of certain items and lots of subscriptions. This is turning into a bigger and bigger mess every time something goes out of stock. Customers get upset and site admins/customer service reps have an increased workload. Just don't ship if the item is out of stock! Trigger an email to the customer to let them know and the problem is greatly alleviated! This seems like a bug, not something that is "by design".
Adding a Temp Hold and Partial Temp Hold status to Subscriptions (one for when all items in a subscription are out of stock, other status for when there is a mixed subscription of in stock and out of stock items) combined with a simple notification email to the customer would alleviate this headache.