diff --git a/addons/account/report/account_aged_partner_balance.py b/addons/account/report/account_aged_partner_balance.py
index 3b000e40592e7e99e6c51ca314558541ae61769d..b7c26120b4828c51e3d3ac3d215ce46602d16a1f 100644
--- a/addons/account/report/account_aged_partner_balance.py
+++ b/addons/account/report/account_aged_partner_balance.py
@@ -159,7 +159,7 @@ class aged_trial_report(report_sxw.rml_parse, common_report_header):
                 dates_query += ' < %s)'
                 args_list += (form[str(i)]['stop'],)
             args_list += (self.date_from,)
-            self.cr.execute('''SELECT l.partner_id, SUM(l.debit-l.credit)
+            self.cr.execute('''SELECT l.partner_id, SUM(l.debit-l.credit), l.reconcile_partial_id
                     FROM account_move_line AS l, account_account, account_move am 
                     WHERE (l.account_id = account_account.id) AND (l.move_id=am.id)
                         AND (am.state IN %s)
@@ -171,12 +171,24 @@ class aged_trial_report(report_sxw.rml_parse, common_report_header):
                         AND account_account.active
                         AND ''' + dates_query + '''
                     AND (l.date <= %s)
-                    GROUP BY l.partner_id''', args_list)
-            t = self.cr.fetchall()
-            d = {}
-            for i in t:
-                d[i[0]] = i[1]
-            history.append(d)
+                    GROUP BY l.partner_id, l.reconcile_partial_id''', args_list)
+            partners_partial = self.cr.fetchall()
+            partners_amount = dict((i[0],0) for i in partners_partial)
+            for partner_info in partners_partial:
+                if partner_info[2]:
+                    # in case of partial reconciliation, we want to keep the left amount in the oldest period
+                    self.cr.execute('''SELECT MIN(COALESCE(date_maturity,date)) FROM account_move_line WHERE reconcile_partial_id = %s''', (partner_info[2],))
+                    date = self.cr.fetchall()
+                    if date and args_list[-3] <= date[0][0] <= args_list[-2]:
+                        # partial reconcilation
+                        self.cr.execute('''SELECT SUM(l.debit-l.credit)
+                                           FROM account_move_line AS l
+                                           WHERE l.reconcile_partial_id = %s''', (partner_info[2],))
+                        unreconciled_amount = self.cr.fetchall()
+                        partners_amount[partner_info[0]] += unreconciled_amount[0][0]
+                else:
+                    partners_amount[partner_info[0]] += partner_info[1]
+            history.append(partners_amount)
 
         for partner in partners:
             values = {}