diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py index 00d0b0d57a0..7677c212781 100644 --- a/addons/account/account_invoice.py +++ b/addons/account/account_invoice.py @@ -1568,8 +1568,7 @@ class account_invoice_line(osv.osv): company_currency = self.pool['res.company'].browse(cr, uid, inv.company_id.id).currency_id.id for line in inv.invoice_line: mres = self.move_line_get_item(cr, uid, line, context) - if not mres: - continue + mres['invl_id'] = line.id res.append(mres) tax_code_found= False for tax in tax_obj.compute_all(cr, uid, line.invoice_line_tax_id, diff --git a/addons/account_anglo_saxon/invoice.py b/addons/account_anglo_saxon/invoice.py index 0530abf1386..3b859472774 100644 --- a/addons/account_anglo_saxon/invoice.py +++ b/addons/account_anglo_saxon/invoice.py @@ -119,7 +119,7 @@ class account_invoice_line(osv.osv): account_prec = decimal_precision.precision_get(cr, uid, 'Account') # calculate and write down the possible price difference between invoice price and product price for line in res: - if a == line['account_id'] and i_line.product_id.id == line['product_id']: + if line.get('invl_id', 0) == i_line.id and a == line['account_id']: uom = i_line.product_id.uos_id or i_line.product_id.uom_id standard_price = self.pool.get('product.uom')._compute_price(cr, uid, uom.id, i_line.product_id.standard_price, i_line.uos_id.id) if inv.currency_id.id != company_currency: