diff --git a/contract/models/contract_line.py b/contract/models/contract_line.py index 6e3e1cae2..1e830d868 100644 --- a/contract/models/contract_line.py +++ b/contract/models/contract_line.py @@ -559,12 +559,24 @@ class ContractLine(models.Model): self.last_date_invoiced, self.recurring_next_date ) name = self._insert_markers(dates[0], dates[1]) + + analytic_distribution = self.analytic_distribution + analytic_account_id = self.analytic_account_id.id + if analytic_account_id: + analytic_account_id = str(analytic_account_id) + if analytic_distribution: + analytic_distribution[analytic_account_id] = ( + analytic_distribution.get(analytic_account_id, 0) + 100 + ) + else: + analytic_distribution = {analytic_account_id: 100} + return { "quantity": self._get_quantity_to_invoice(*dates), "product_uom_id": self.uom_id.id, "discount": self.discount, "contract_line_id": self.id, - "analytic_distribution": self.analytic_distribution, + "analytic_distribution": analytic_distribution, "sequence": self.sequence, "name": name, "price_unit": self.price_unit, diff --git a/contract/views/contract.xml b/contract/views/contract.xml index 0c6482236..d7ae9478c 100644 --- a/contract/views/contract.xml +++ b/contract/views/contract.xml @@ -219,6 +219,12 @@ + @@ -318,6 +324,12 @@ +