diff --git a/account_partner_aged_statement_webkit/i18n/fr.po b/account_partner_aged_statement_webkit/i18n/fr.po
index 09c67bc8..03074f3b 100644
--- a/account_partner_aged_statement_webkit/i18n/fr.po
+++ b/account_partner_aged_statement_webkit/i18n/fr.po
@@ -229,4 +229,4 @@ msgstr "Courriel:"
#. module: account_partner_aged_statement_webkit
#: model:ir.actions.report.xml,name:account_partner_aged_statement_webkit.supplier_aged_statement_report
msgid "Supplier Aged Statement"
-msgstr "Relevé de balance âgée"
+msgstr "Relevé de balance âgée FRS"
diff --git a/account_partner_aged_statement_webkit/report/partner_aged_statement.mako b/account_partner_aged_statement_webkit/report/partner_aged_statement.mako
index c0b486dd..321d4812 100644
--- a/account_partner_aged_statement_webkit/report/partner_aged_statement.mako
+++ b/account_partner_aged_statement_webkit/report/partner_aged_statement.mako
@@ -68,13 +68,13 @@
${_('Total')} |
- ${ formatLang(l['direction'], currency_obj=company.currency_id) } |
- ${ formatLang(l['4'], currency_obj=company.currency_id) } |
- ${ formatLang(l['3'], currency_obj=company.currency_id) } |
- ${ formatLang(l['2'], currency_obj=company.currency_id) } |
- ${ formatLang(l['1'], currency_obj=company.currency_id) } |
- ${ formatLang(l['0'], currency_obj=company.currency_id) } |
- ${ formatLang(l['total'], currency_obj=company.currency_id) } |
+ ${ formatLang(balance_amount(l['direction']), currency_obj=company.currency_id) } |
+ ${ formatLang(balance_amount(l['4']), currency_obj=company.currency_id) } |
+ ${ formatLang(balance_amount(l['3']), currency_obj=company.currency_id) } |
+ ${ formatLang(balance_amount(l['2']), currency_obj=company.currency_id) } |
+ ${ formatLang(balance_amount(l['1']), currency_obj=company.currency_id) } |
+ ${ formatLang(balance_amount(l['0']), currency_obj=company.currency_id) } |
+ ${ formatLang(balance_amount(l['total']), currency_obj=company.currency_id) } |
%endif ## if l
@@ -102,9 +102,9 @@
${ line.move_id.name } |
${ line.ref } |
${ line.date_maturity and formatLang(line.date_maturity,date=True) or '' } |
- ${ formatLang(line.debit) or 0.0 } |
- ${ formatLang(line.credit) or 0.0 } |
- ${ formatLang(line.debit - line.credit, currency_obj = company.currency_id) } |
+ ${ formatLang(line_amount(line))} |
+ ${ formatLang(line_paid(line))} |
+ ${ formatLang(line_amount(line) - line_paid(line), currency_obj = company.currency_id) } |
${ line.amount_currency and formatLang(line.amount_currency, currency_obj = line.currency_id) or '' } |
%endfor ## for line in getLines30(partner)
@@ -130,9 +130,9 @@
${ line.move_id.name } |
${ line.ref } |
${ line.date_maturity and formatLang(line.date_maturity,date=True) or '' } |
- ${ formatLang(line.debit) or 0 } |
- ${ formatLang(line.credit) or 0 } |
- ${ formatLang(line.debit - line.credit, currency_obj = company.currency_id) } |
+ ${ formatLang(line_amount(line))} |
+ ${ formatLang(line_paid(line))} |
+ ${ formatLang(line_amount(line) - line_paid(line), currency_obj = company.currency_id) } |
${ line.amount_currency and formatLang(line.amount_currency, currency_obj = line.currency_id) or '' } |
%endfor ## for line in getLines3060(partner)
@@ -158,9 +158,9 @@
${ line.move_id.name } |
${ line.ref } |
${ line.date_maturity and formatLang(line.date_maturity,date=True) or '' } |
- ${ formatLang(line.debit) or 0 } |
- ${ formatLang(line.credit) or 0 } |
- ${ formatLang(line.debit - line.credit, currency_obj = company.currency_id) } |
+ ${ formatLang(line_amount(line))} |
+ ${ formatLang(line_paid(line))} |
+ ${ formatLang(line_amount(line) - line_paid(line), currency_obj = company.currency_id) } |
${ line.amount_currency and formatLang(line.amount_currency, currency_obj = line.currency_id) or '' } |
%endfor ## for line in getLines60(partner)
diff --git a/account_partner_aged_statement_webkit/report/partner_aged_statement_report.py b/account_partner_aged_statement_webkit/report/partner_aged_statement_report.py
index 1605a429..7be1c721 100644
--- a/account_partner_aged_statement_webkit/report/partner_aged_statement_report.py
+++ b/account_partner_aged_statement_webkit/report/partner_aged_statement_report.py
@@ -48,6 +48,9 @@ class PartnerAgedTrialReport(aged_trial_report):
'getLines3060': self._lines_get_30_60,
'getLines60': self._lines_get60,
'show_message': True,
+ 'line_amount': self._line_amount,
+ 'line_paid': self._line_paid,
+ 'balance_amount': lambda amount: amount,
})
def _lines_get30(self, obj):
@@ -58,7 +61,7 @@ class PartnerAgedTrialReport(aged_trial_report):
movelines = moveline_obj.search(
self.cr, self.uid,
[('partner_id', '=', obj.id),
- ('account_id.type', 'in', ['receivable', 'payable']),
+ ('account_id.type', 'in', ['receivable']),
('state', '<>', 'draft'), ('reconcile_id', '=', False),
'|',
'&', ('date_maturity', '<=', today), ('date_maturity', '>', stop),
@@ -76,7 +79,7 @@ class PartnerAgedTrialReport(aged_trial_report):
movelines = moveline_obj.search(
self.cr, self.uid,
[('partner_id', '=', obj.id),
- ('account_id.type', 'in', ['receivable', 'payable']),
+ ('account_id.type', 'in', ['receivable']),
('state', '<>', 'draft'), ('reconcile_id', '=', False),
'|',
'&', ('date_maturity', '<=', start), ('date_maturity', '>', stop),
@@ -93,7 +96,7 @@ class PartnerAgedTrialReport(aged_trial_report):
movelines = moveline_obj.search(
self.cr, self.uid,
[('partner_id', '=', obj.id),
- ('account_id.type', 'in', ['receivable', 'payable']),
+ ('account_id.type', 'in', ['receivable']),
('state', '<>', 'draft'), ('reconcile_id', '=', False),
'|', ('date_maturity', '<=', start),
('date_maturity', '=', False), ('date', '<=', start)],
@@ -185,6 +188,7 @@ class PartnerAgedTrialReport(aged_trial_report):
", ".join(str(int(i)) for i in self._partners),
)
+ self.ACCOUNT_TYPE = ['receivable']
return res
def _get_lines(self, form, partner):
@@ -196,6 +200,49 @@ class PartnerAgedTrialReport(aged_trial_report):
self.query = self.orig_query
return res
+ def _line_amount(self, line):
+ invoice = line.invoice
+ invoice_type = invoice and invoice.type or False
+ print invoice_type, line.debit, line.account_id.type
+
+ if invoice_type == 'in_invoice':
+ return line.credit or 0.0
+
+ if invoice_type == 'in_refund':
+ return -line.debit or 0.0
+
+ if invoice_type == 'out_invoice':
+ return line.debit or 0.0
+
+ if invoice_type == 'out_refund':
+ return -line.credit or 0.0
+
+ if line.account_id.type == 'payable':
+ return line.credit or 0.0
+
+ return line.debit or 0.0
+
+ def _line_paid(self, line):
+ invoice = line.invoice
+ invoice_type = invoice and invoice.type or False
+
+ if invoice_type == 'in_invoice':
+ return line.debit or 0.0
+
+ if invoice_type == 'in_refund':
+ return -line.credit or 0.0
+
+ if invoice_type == 'out_invoice':
+ return line.credit or 0.0
+
+ if invoice_type == 'out_refund':
+ return -line.debit or 0.0
+
+ if line.account_id.type == 'payable':
+ return line.debit or 0.0
+
+ return line.credit or 0.0
+
report_sxw.report_sxw(
'report.webkit.partner_aged_statement_report',
diff --git a/account_partner_aged_statement_webkit/report/supplier_aged_statement_report.py b/account_partner_aged_statement_webkit/report/supplier_aged_statement_report.py
index 0f36e281..b9e89db1 100644
--- a/account_partner_aged_statement_webkit/report/supplier_aged_statement_report.py
+++ b/account_partner_aged_statement_webkit/report/supplier_aged_statement_report.py
@@ -39,8 +39,18 @@ class SupplierAgedTrialReport(PartnerAgedTrialReport):
'getLines3060': self._lines_get_30_60,
'getLines60': self._lines_get60,
'show_message': False,
+ 'get_lines': self._get_lines,
+ 'balance_amount': lambda amount: -amount,
})
+ def set_context(self, objects, data, ids, report_type=None):
+ res = super(SupplierAgedTrialReport, self).set_context(
+ objects, data, ids, report_type=report_type)
+
+ self.ACCOUNT_TYPE = ['payable']
+
+ return res
+
def _lines_get30(self, obj):
today = datetime.now()
stop = today - relativedelta(days=30)
@@ -92,6 +102,7 @@ class SupplierAgedTrialReport(PartnerAgedTrialReport):
movelines = moveline_obj.browse(self.cr, self.uid, movelines)
return movelines
+
report_sxw.report_sxw(
'report.webkit.supplier_aged_statement_report',
'res.partner',