Impacted versions: 9.0

Steps to reproduce:

* Create an MTO product with 
  * Product Type: Stockable Product
  * Routes: "Buy" and "Make to Order"
* Update Qty on Hand to any quantity (i.e, 2).
* Create a sales order with this product and a number <= to the one in the step before.
* Confirm the sales order.

Current behavior:

The created delivery picking appears in state "Reserved" and the current quantity on stock has been reserved, allowing you to transfer that stock.

Expected behavior:

The created delivery picking should be in "Waiting another operation", or at least in "Waiting availability" until the purchase order is confirmed (if you have defined a supplier for the product and the procurement creates the purchase order), which seems to be the current behavior when there's no stock available (is this also correct, as it allows to manually reserve?).
addons/stock/stock.py
'state': fields.selection(INVENTORY_STATE_SELECTION, 'Status', readonly=True, select=True, copy=False),
        'company_id': fields.many2one('res.company', 'Company', required=True, select=True, readonly=True, states={'draft': [('readonly', False)]}),
        'location_id': fields.many2one('stock.location', 'Inventoried Location', required=True, readonly=True, states={'draft': [('readonly', False)]}),
        'product_id': fields.many2one('product.product', 'Inventoried Product', readonly=True, states={'draft': [('readonly', False)]}, help="Specify Product to focus your inventory on a particular Product."),
        'package_id': fields.many2one('stock.quant.package', 'Inventoried Pack', readonly=True, states={'draft': [('readonly', False)]}, help="Specify Pack to focus your inventory on a particular Pack."),
        'partner_id': fields.many2one('res.partner', 'Inventoried Owner', readonly=True, states={'draft': [('readonly', False)]}, help="Specify Owner to focus your inventory on a particular Owner."),
        'lot_id': fields.many2one('stock.production.lot', 'Inventoried Lot/Serial Number', readonly=True, states={'draft': [('readonly', False)]}, help="Specify Lot/Serial Number to focus your inventory on a particular Lot/Serial Number.", copy=False),
        
        'move_ids_exist': fields.function(_get_move_ids_exist, type='boolean', string='Has Stock Moves', help='Check the existance of stock moves linked to this inventory'),
        'filter': fields.selection(_get_available_filters, 'Inventory of', required=True,
                                   help="If you do an entire inventory, you can choose 'All Products' and it will prefill the inventory with the current stock.  If you only do some products  "\
                                      "(e.g. Cycle Counting) you can choose 'Manual Selection of Products' and the system won't propose anything.  You can also let the "\
                                      "system propose for a single product / lot /... "),
        'total_qty': fields.function(_get_total_qty, type="float"),
    }
    def _default_stock_location(self, cr, uid, context=None):
        try:
            warehouse = self.pool.get('ir.model.data').get_object(cr, uid, 'stock', 'warehouse0')
            return warehouse.lot_stock_id.id
        except:
            return False
    _defaults = {
        'date': fields.datetime.now,
        'state': 'draft',
        'company_id': lambda self, cr, uid, c: self.pool.get('res.company')._company_default_get(cr, uid, 'stock.inventory', context=c),
        'location_id': _default_stock_location,
        'filter': 'none',
    }
    @api.onchange('location_id')
    def onchange_location_id(self):