Impacted versions: 10.0

Steps to reproduce:
1. Create pos order with two products.
2. One of the products, must be type= Stockable Product and quantity=0.
3. Pay order.
4. check order --> extra info --> picking
5. picking state = Waiting Availability  

Current behavior:
picking State = Waiting Availability

Expected behavior:
picking State  = Done
[As in v9.0](https://youtu.be/X_R_jHZdYb8)

Video/Screenshot link (optional):
https://youtu.be/eWCe6juEcvw

account_precision = self.env['decimal.precision'].precision_get('Account')
        
        if not float_is_zero(order['amount_return'], account_precision) and not float_is_zero(order['amount_paid'], account_precision):
            cur_amount_paid = 0
            payments_to_keep = []
            for payment in order.get('statement_ids'):
                if cur_amount_paid + payment[2]['amount'] > order['amount_total']:
                    payment[2]['amount'] = order['amount_total'] - cur_amount_paid
                    payments_to_keep.append(payment)
                    break
                cur_amount_paid += payment[2]['amount']
                payments_to_keep.append(payment)
            order['statement_ids'] = payments_to_keep
            order['amount_return'] = 0
    @api.model
    def _process_order(self, pos_order):