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 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
-
-
+
+
+