Hello,
You have to override load_server_data() in point_of_sale\static\src\js*model.js* around line 176 :
return self.fetch(
'product.product',
['name', 'list_price','price','pos_categ_id', 'taxes_id', 'ean13', 'default_code',
'to_weight', 'uom_id', 'uos_id', 'uos_coeff', 'mes_type', 'description_sale', 'description'],
[['sale_ok','=',true],['available_in_pos','=',true]],
{pricelist: self.get('shop').pricelist_id[0]} // context for price
);
Current filter is [['sale_ok','=',true],['available_in_pos','=',true]],
So You can add :
[['sale_ok','=',true],['available_in_pos','=',true], ['qty_available' , '>', 0]],
I hope this helps.
Regards