diff --git a/addons/account/report/account_invoice_report.py b/addons/account/report/account_invoice_report.py index c15c2e670e3..b7fb9766bf1 100644 --- a/addons/account/report/account_invoice_report.py +++ b/addons/account/report/account_invoice_report.py @@ -122,17 +122,20 @@ class account_invoice_report(osv.osv): left join account_invoice as a ON (a.move_id=aml.move_id) left join account_invoice_line as l ON (a.id=l.invoice_id) where a.id=ai.id)) as delay_to_pay, - sum(case when ai.type in ('out_refund','in_invoice') then - ai.residual * -1 - else - ai.residual - end) as residual + (case when ai.type in ('out_refund','in_invoice') then + ai.residual * -1 + else + ai.residual + end)/(select count(l.*) from account_invoice_line as l + left join account_invoice as a ON (a.id=l.invoice_id) + where a.id=ai.id) as residual from account_invoice_line as ail left join account_invoice as ai ON (ai.id=ail.invoice_id) left join product_template pt on (pt.id=ail.product_id) left join product_uom u on (u.id=ail.uos_id) group by ail.product_id, ai.date_invoice, + ai.id, to_char(ai.date_invoice, 'YYYY'), to_char(ai.date_invoice, 'MM'), to_char(ai.date_invoice, 'YYYY-MM-DD'), @@ -153,7 +156,8 @@ class account_invoice_report(osv.osv): ai.address_contact_id, ai.address_invoice_id, ai.account_id, - ai.partner_bank + ai.partner_bank, + ai.residual ) """) account_invoice_report() diff --git a/addons/account/report/account_invoice_report_view.xml b/addons/account/report/account_invoice_report_view.xml index b947f9d5f6a..ee9ee498365 100644 --- a/addons/account/report/account_invoice_report_view.xml +++ b/addons/account/report/account_invoice_report_view.xml @@ -32,7 +32,7 @@ - + @@ -93,24 +93,24 @@ - - + + - - + + - - + + - + - + - - - + + +