diff --git a/contract_show_invoice/models/account_analytic_account.py b/contract_show_invoice/models/account_analytic_account.py index 2ec2bad6a..699e61e0c 100644 --- a/contract_show_invoice/models/account_analytic_account.py +++ b/contract_show_invoice/models/account_analytic_account.py @@ -10,13 +10,15 @@ class AccountAnalyticAccount(models.Model): @api.multi def _compute_total_invoiced(self): - invoice_model = self.env['account.invoice'] + invoice_line_model = self.env['account.invoice.line'] for analytic in self: - fetch_data = invoice_model.read_group( - [('invoice_line_ids.account_analytic_id', '=', analytic.id)], - ['amount_total'], [], + fetch_data = invoice_line_model.read_group( + [('account_analytic_id', '=', analytic.id), + ('invoice_id.state', 'in', ['open', 'paid']), + ('invoice_id.type', 'in', ['out_invoice', 'out_refund'])], + ['price_subtotal_signed'], [], ) - analytic.total_invoiced = fetch_data[0]['amount_total'] + analytic.total_invoiced = fetch_data[0]['price_subtotal_signed'] total_invoiced = fields.Float(string="Total Invoiced", compute='_compute_total_invoiced') diff --git a/contract_show_invoice/views/contract_view.xml b/contract_show_invoice/views/contract_view.xml index 590e068e2..5f26972dd 100644 --- a/contract_show_invoice/views/contract_view.xml +++ b/contract_show_invoice/views/contract_view.xml @@ -6,7 +6,7 @@ [active_id], 'default_analytic_account_ids': [active_id]} Invoices account.invoice - [('analytic_account_ids','=',active_id)] + [('analytic_account_ids','=',active_id), ('type','in', ['out_invoice', 'out_refund']), ('state', 'not in', ['draft', 'cancel'])] @@ -24,6 +24,17 @@ + + account.invoice.tree.show.total.untaxed + account.invoice + + + + + + + + account.analytic.account.button.invoice