From bdcae86d67c05273f404594c9b38f22b31c8abec Mon Sep 17 00:00:00 2001 From: Goffin Simon Date: Tue, 22 Sep 2015 17:19:19 +0200 Subject: [PATCH] [FIX] purchase: invoiced purchase order line When invoice_method == 'picking', a po line is invoiced if all the lines linked to the po line are in invoices with state not in ['draft', 'cancel']. To keep the same logic than before commit 9b1ab76. opw:649746 --- addons/purchase/purchase.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index c0c3e2845ba..45d63b15efe 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -1014,7 +1014,8 @@ class purchase_order(osv.osv): if (po_line.move_ids and all(move.state in ('done', 'cancel') for move in po_line.move_ids) and not all(move.state == 'cancel' for move in po_line.move_ids) and - all(move.invoice_state == 'invoiced' for move in po_line.move_ids if move.state == 'done')): + all(move.invoice_state == 'invoiced' for move in po_line.move_ids if move.state == 'done') + and po_line.invoice_lines and all(line.invoice_id.state not in ['draft', 'cancel'] for line in po_line.invoice_lines)): is_invoiced.append(po_line.id) else: for po_line in po.order_line: