From 29165e285464b82e51a29039184df90bddbf6c5e Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Thu, 1 Jul 2021 17:54:25 +0200 Subject: [PATCH] [FIX] contract: Cleanup values on line when invoicing It seems that having several fields returned by `Form` as `False` that are related to one2many inverse field, makes Odoo ORM mad, and get to an unbalanced move when generating the invoice. Cleaning these values assures to work without problems. Not able to provide a regression test, as I don't get to reproduce the conditions to happen in test environment, but the patch is safe and harmless anyways. TT30842 --- contract/__manifest__.py | 2 +- contract/models/contract.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/contract/__manifest__.py b/contract/__manifest__.py index 3aaebd550..79f2f396f 100644 --- a/contract/__manifest__.py +++ b/contract/__manifest__.py @@ -11,7 +11,7 @@ { "name": "Recurring - Contracts Management", - "version": "14.0.1.2.0", + "version": "14.0.1.2.1", "category": "Contract Management", "license": "AGPL-3", "author": "Tecnativa, ACSONE SA/NV, Odoo Community Association (OCA)", diff --git a/contract/models/contract.py b/contract/models/contract.py index e75a705f7..364013540 100644 --- a/contract/models/contract.py +++ b/contract/models/contract.py @@ -546,7 +546,9 @@ class ContractContract(models.Model): invoice_line_vals = line._prepare_invoice_line(move_form=move_form) if invoice_line_vals: # Allow extension modules to return an empty dictionary for - # nullifying line + # nullifying line. We should then cleanup certain values. + del invoice_line_vals["company_id"] + del invoice_line_vals["company_currency_id"] invoice_vals["invoice_line_ids"].append((0, 0, invoice_line_vals)) invoices_values.append(invoice_vals) # Force the recomputation of journal items