diff --git a/account_credit_control/report/report_credit_control_summary.xml b/account_credit_control/report/report_credit_control_summary.xml
index e95400035..d06cdbead 100644
--- a/account_credit_control/report/report_credit_control_summary.xml
+++ b/account_credit_control/report/report_credit_control_summary.xml
@@ -66,6 +66,25 @@
+
+
+
+
+ | Total Invoiced |
+
+
+ |
+
+
+ | Total Due |
+
+
+ |
+
+
+
+
+
diff --git a/account_credit_control/wizard/credit_control_communication.py b/account_credit_control/wizard/credit_control_communication.py
index a0d095759..7ef92585e 100644
--- a/account_credit_control/wizard/credit_control_communication.py
+++ b/account_credit_control/wizard/credit_control_communication.py
@@ -40,6 +40,8 @@ class CreditCommunication(models.TransientModel):
'Level',
required=True)
+ currency_id = fields.Many2one('res.currency', 'Currency', required=True)
+
credit_control_line_ids = fields.Many2many('credit.control.line',
rel='comm_credit_rel',
string='Credit Lines')
@@ -63,6 +65,21 @@ class CreditCommunication(models.TransientModel):
default=lambda self: self.env.user,
string='User')
+ total_invoiced = fields.Float(string='Total Invoiced',
+ compute='_compute_total')
+
+ total_due = fields.Float(string='Total Invoiced',
+ compute='_compute_total')
+
+ @api.depends('credit_control_line_ids',
+ 'credit_control_line_ids.amount_due',
+ 'credit_control_line_ids.balance_due')
+ def _compute_total(self):
+ amount_field = 'credit_control_line_ids.amount_due'
+ balance_field = 'credit_control_line_ids.balance_due'
+ self.total_invoiced = sum(self.mapped(amount_field))
+ self.total_due = sum(self.mapped(balance_field))
+
@api.model
@api.returns('self', lambda value: value.id)
def create(self, vals):
@@ -129,6 +146,7 @@ class CreditCommunication(models.TransientModel):
cr = self.env.cr
cr.execute(sql, (tuple(lines.ids), ))
res = cr.dictfetchall()
+ company_currency = self.env.user.company_id.currency_id
for group in res:
data = {}
level_lines = self._get_credit_lines(lines.ids,
@@ -140,6 +158,7 @@ class CreditCommunication(models.TransientModel):
data['credit_control_line_ids'] = [(6, 0, level_lines.ids)]
data['partner_id'] = group['partner_id']
data['current_policy_level'] = group['policy_level_id']
+ data['currency_id'] = group['currency_id'] or company_currency.id
comm = self.create(data)
comms += comm
return comms