Impacted versions:
11.0

I don't know if it is an issue, but I think is strange.

`product_qty` is in unit of `product` : https://github.com/odoo/odoo/blob/11.0/addons/stock/models/stock_move.py#L240
`reserved_availability` is in unit of `stock.move` : https://github.com/odoo/odoo/blob/11.0/addons/stock/models/stock_move.py#L295

`move.product_qty - move.reserved_availability` seems to have no sens, no ?

https://github.com/odoo/odoo/blob/11.0/addons/stock/models/stock_move.py#L915
https://github.com/odoo/odoo/blob/11.0/addons/stock/models/stock_move.py#L917
https://github.com/odoo/odoo/blob/11.0/addons/stock/models/stock_move.py#L924

thank for your answer

@jco-odoo 
@alnslang 


if rules and (not move.origin_returned_move_id or move.origin_returned_move_id.location_dest_id.id != rules.location_dest_id.id):
                rules._apply(move)
    def _merge_moves_fields(self):
        """ This method will return a dict of stock move’s values that represent the values of all moves in `self` merged. """
        state = self._get_relevant_state_among_moves()
        origin = '/'.join(set(self.filtered(lambda m: m.origin).mapped('origin')))
        return {
            'product_uom_qty': sum(self.mapped('product_uom_qty')),
            'date': min(self.mapped('date')),
            'date_expected': min(self.mapped('date_expected')) if self.mapped('picking_id').move_type == 'direct' else max(self.mapped('date_expected')),
            'move_dest_ids': [(4, m.id) for m in self.mapped('move_dest_ids')],
            'move_orig_ids': [(4, m.id) for m in self.mapped('move_orig_ids')],
            'state': state,
            'origin': origin,
        }
    @api.model
    def _prepare_merge_moves_distinct_fields(self):
        return [
            'product_id', 'price_unit', 'product_packaging', 'procure_method',
            'product_uom', 'restrict_partner_id', 'scrapped', 'origin_returned_move_id'
        ]
    @api.model
    def _prepare_merge_move_sort_method(self, move):
        move.ensure_one()
        return [
            move.product_id.id, move.price_unit, move.product_packaging.id, move.procure_method, 
            move.product_uom.id, move.restrict_partner_id.id, move.scrapped, move.origin_returned_move_id.id
        ]
    def _clean_merged(self):