diff --git a/addons/delivery/models/sale_order.py b/addons/delivery/models/sale_order.py index 3d26f6843ef..07ba7d80c91 100644 --- a/addons/delivery/models/sale_order.py +++ b/addons/delivery/models/sale_order.py @@ -126,7 +126,7 @@ class SaleOrder(models.Model): def _get_invoiced(self): super(SaleOrder, self)._get_invoiced() for order in self: - order_line = order.order_line.filtered(lambda x: not x.is_delivery and not x.is_downpayment) + order_line = order.order_line.filtered(lambda x: not x.is_delivery and not x.is_downpayment and not x.display_type) if all(line.product_id.invoice_policy == 'delivery' and line.invoice_status == 'no' for line in order_line): order.update({'invoice_status': 'no'}) diff --git a/addons/sale/models/sale.py b/addons/sale/models/sale.py index c336e2b5d24..f4b0c978ac9 100644 --- a/addons/sale/models/sale.py +++ b/addons/sale/models/sale.py @@ -79,9 +79,9 @@ class SaleOrder(models.Model): invoice_status = 'no' elif any(invoice_status == 'to invoice' for invoice_status in line_invoice_status): invoice_status = 'to invoice' - elif all(invoice_status == 'invoiced' for invoice_status in line_invoice_status): + elif line_invoice_status and all(invoice_status == 'invoiced' for invoice_status in line_invoice_status): invoice_status = 'invoiced' - elif all(invoice_status in ['invoiced', 'upselling'] for invoice_status in line_invoice_status): + elif line_invoice_status and all(invoice_status in ['invoiced', 'upselling'] for invoice_status in line_invoice_status): invoice_status = 'upselling' else: invoice_status = 'no'