diff --git a/addons/sale/wizard/sale_make_invoice_advance.py b/addons/sale/wizard/sale_make_invoice_advance.py index 69c09932b66..c7187e816c0 100644 --- a/addons/sale/wizard/sale_make_invoice_advance.py +++ b/addons/sale/wizard/sale_make_invoice_advance.py @@ -21,11 +21,11 @@ class SaleAdvancePaymentInv(models.TransientModel): if self._count() == 1: sale_obj = self.env['sale.order'] order = sale_obj.browse(self._context.get('active_ids'))[0] - if all([line.product_id.invoice_policy == 'order' for line in order.order_line]) or order.invoice_count: + if order.order_line.filtered(lambda dp: dp.is_downpayment) and order.invoice_ids.filtered(lambda invoice: invoice.state != 'cancel'): return 'all' - else: - return 'all' - return 'delivered' + else: + return 'delivered' + return 'all' @api.model def _default_product_id(self):