Merge lp:~vxkikevx/addons-vauxoo/late_payments_report into lp:addons-vauxoo

Proposed by Luis Escobar V. (Vauxoo)
Status: Merged
Merged at revision: 131
Proposed branch: lp:~vxkikevx/addons-vauxoo/late_payments_report
Merge into: lp:addons-vauxoo
Diff against target: 608 lines (+566/-0)
8 files modified
late_payments_report/__init__.py (+26/-0)
late_payments_report/__openerp__.py (+45/-0)
late_payments_report/i18n/es.po (+77/-0)
late_payments_report/i18n/es_VE.po (+77/-0)
late_payments_report/late_payments_report.xml (+15/-0)
late_payments_report/report/__init__.py (+27/-0)
late_payments_report/report/late_payments.py (+98/-0)
late_payments_report/report/late_payments.rml (+201/-0)
To merge this branch: bzr merge lp:~vxkikevx/addons-vauxoo/late_payments_report
Reviewer Review Type Date Requested Status
Gabriela Quilarque Pending
Review via email: mp+95282@code.launchpad.net

Description of the change

[ADD] Module Late Payment Reports

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added directory 'late_payments_report'
2=== added file 'late_payments_report/__init__.py'
3--- late_payments_report/__init__.py 1970-01-01 00:00:00 +0000
4+++ late_payments_report/__init__.py 2012-02-29 22:52:22 +0000
5@@ -0,0 +1,26 @@
6+# -*- encoding: utf-8 -*-
7+###########################################################################
8+# Module Writen to OpenERP, Open Source Management Solution
9+# Copyright (C) OpenERP Venezuela (<http://openerp.com.ve>).
10+# All Rights Reserved
11+###############Credits######################################################
12+# Coded by: Luis Escobar <luis@vauxoo.com>
13+# Planified by: Nhomar Hernandez
14+# Finance by: Helados Gilda, C.A. http://heladosgilda.com.ve
15+# Audited by: Humberto Arocha humberto@openerp.com.ve
16+#############################################################################
17+# This program is free software: you can redistribute it and/or modify
18+# it under the terms of the GNU General Public License as published by
19+# the Free Software Foundation, either version 3 of the License, or
20+# (at your option) any later version.
21+#
22+# This program is distributed in the hope that it will be useful,
23+# but WITHOUT ANY WARRANTY; without even the implied warranty of
24+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25+# GNU General Public License for more details.
26+#
27+# You should have received a copy of the GNU General Public License
28+# along with this program. If not, see <http://www.gnu.org/licenses/>.
29+##############################################################################
30+
31+import report
32
33=== added file 'late_payments_report/__openerp__.py'
34--- late_payments_report/__openerp__.py 1970-01-01 00:00:00 +0000
35+++ late_payments_report/__openerp__.py 2012-02-29 22:52:22 +0000
36@@ -0,0 +1,45 @@
37+# -*- encoding: utf-8 -*-
38+###########################################################################
39+# Module Writen to OpenERP, Open Source Management Solution
40+# Copyright (C) OpenERP Venezuela (<http://openerp.com.ve>).
41+# All Rights Reserved
42+###############Credits######################################################
43+# Coded by: Luis Escobar <luis@vauxoo.com>
44+# Planified by: Nhomar Hernandez
45+# Finance by: Helados Gilda, C.A. http://heladosgilda.com.ve
46+# Audited by: Humberto Arocha humberto@openerp.com.ve
47+#############################################################################
48+# This program is free software: you can redistribute it and/or modify
49+# it under the terms of the GNU General Public License as published by
50+# the Free Software Foundation, either version 3 of the License, or
51+# (at your option) any later version.
52+#
53+# This program is distributed in the hope that it will be useful,
54+# but WITHOUT ANY WARRANTY; without even the implied warranty of
55+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
56+# GNU General Public License for more details.
57+#
58+# You should have received a copy of the GNU General Public License
59+# along with this program. If not, see <http://www.gnu.org/licenses/>.
60+##############################################################################
61+
62+{
63+ "name" : "Venezuelan Late Payments customisation",
64+ "version" : "0.1",
65+ "author" : "Vauxoo",
66+ "category" : "Generic Modules/Others",
67+ "website": "http://wiki.openerp.org.ve/",
68+ "description": """
69+
70+ Modulo que realiza la personalizacion del reporte de pagos atrasados
71+
72+ """,
73+ "depends" : ["base", "account"],
74+ "init_xml" : [],
75+ "update_xml" : [
76+ "late_payments_report.xml",
77+
78+ ],
79+ "active": False,
80+ "installable": True
81+}
82
83=== added directory 'late_payments_report/i18n'
84=== added file 'late_payments_report/i18n/es.po'
85--- late_payments_report/i18n/es.po 1970-01-01 00:00:00 +0000
86+++ late_payments_report/i18n/es.po 2012-02-29 22:52:22 +0000
87@@ -0,0 +1,77 @@
88+# Translation of OpenERP Server.
89+# This file contains the translation of the following modules:
90+# * l10n_ve_late_payments_report
91+#
92+msgid ""
93+msgstr ""
94+"Project-Id-Version: OpenERP Server 6.0.3\n"
95+"Report-Msgid-Bugs-To: support@openerp.com\n"
96+"POT-Creation-Date: 2012-02-29 19:11+0000\n"
97+"PO-Revision-Date: 2012-02-29 19:11+0000\n"
98+"Last-Translator: <>\n"
99+"Language-Team: \n"
100+"MIME-Version: 1.0\n"
101+"Content-Type: text/plain; charset=UTF-8\n"
102+"Content-Transfer-Encoding: \n"
103+"Plural-Forms: \n"
104+
105+#. module: l10n_ve_late_payments_report
106+#: report:account.late.payments.l10n.ve:0
107+msgid "Total amount due:"
108+msgstr "Monto total adeudado:"
109+
110+#. module: l10n_ve_late_payments_report
111+#: model:ir.actions.report.xml,name:l10n_ve_late_payments_report.late_payments_l10n_ve
112+msgid "Late Payments"
113+msgstr "Pagos Atrasados"
114+
115+#. module: l10n_ve_late_payments_report
116+#: report:account.late.payments.l10n.ve:0
117+msgid "Description"
118+msgstr "Descripcion"
119+
120+#. module: l10n_ve_late_payments_report
121+#: report:account.late.payments.l10n.ve:0
122+msgid "Due"
123+msgstr "Debe"
124+
125+#. module: l10n_ve_late_payments_report
126+#: report:account.late.payments.l10n.ve:0
127+msgid "Paid"
128+msgstr "Pagado"
129+
130+#. module: l10n_ve_late_payments_report
131+#: report:account.late.payments.l10n.ve:0
132+msgid "Balance :"
133+msgstr "Balance :"
134+
135+#. module: l10n_ve_late_payments_report
136+#: report:account.late.payments.l10n.ve:0
137+msgid "Maturity"
138+msgstr "Vencido"
139+
140+#. module: l10n_ve_late_payments_report
141+#: report:account.late.payments.l10n.ve:0
142+msgid "Maturity date"
143+msgstr "Maturity date"
144+
145+#. module: l10n_ve_late_payments_report
146+#: report:account.late.payments.l10n.ve:0
147+msgid "Sub-Total :"
148+msgstr "Sub-Total :"
149+
150+#. module: l10n_ve_late_payments_report
151+#: report:account.late.payments.l10n.ve:0
152+msgid "Date"
153+msgstr "Fecha"
154+
155+#. module: l10n_ve_late_payments_report
156+#: report:account.late.payments.l10n.ve:0
157+msgid "."
158+msgstr "."
159+
160+#. module: l10n_ve_late_payments_report
161+#: report:account.late.payments.l10n.ve:0
162+msgid "Ref"
163+msgstr "Ref"
164+
165
166=== added file 'late_payments_report/i18n/es_VE.po'
167--- late_payments_report/i18n/es_VE.po 1970-01-01 00:00:00 +0000
168+++ late_payments_report/i18n/es_VE.po 2012-02-29 22:52:22 +0000
169@@ -0,0 +1,77 @@
170+# Translation of OpenERP Server.
171+# This file contains the translation of the following modules:
172+# * l10n_ve_late_payments_report
173+#
174+msgid ""
175+msgstr ""
176+"Project-Id-Version: OpenERP Server 6.0.3\n"
177+"Report-Msgid-Bugs-To: support@openerp.com\n"
178+"POT-Creation-Date: 2012-02-29 19:11+0000\n"
179+"PO-Revision-Date: 2012-02-29 19:11+0000\n"
180+"Last-Translator: <>\n"
181+"Language-Team: \n"
182+"MIME-Version: 1.0\n"
183+"Content-Type: text/plain; charset=UTF-8\n"
184+"Content-Transfer-Encoding: \n"
185+"Plural-Forms: \n"
186+
187+#. module: l10n_ve_late_payments_report
188+#: report:account.late.payments.l10n.ve:0
189+msgid "Total amount due:"
190+msgstr "Monto total adeudado:"
191+
192+#. module: l10n_ve_late_payments_report
193+#: model:ir.actions.report.xml,name:l10n_ve_late_payments_report.late_payments_l10n_ve
194+msgid "Late Payments"
195+msgstr "Pagos Atrasados"
196+
197+#. module: l10n_ve_late_payments_report
198+#: report:account.late.payments.l10n.ve:0
199+msgid "Description"
200+msgstr "Descripcion"
201+
202+#. module: l10n_ve_late_payments_report
203+#: report:account.late.payments.l10n.ve:0
204+msgid "Due"
205+msgstr "Debe"
206+
207+#. module: l10n_ve_late_payments_report
208+#: report:account.late.payments.l10n.ve:0
209+msgid "Paid"
210+msgstr "Pagado"
211+
212+#. module: l10n_ve_late_payments_report
213+#: report:account.late.payments.l10n.ve:0
214+msgid "Balance :"
215+msgstr "Balance :"
216+
217+#. module: l10n_ve_late_payments_report
218+#: report:account.late.payments.l10n.ve:0
219+msgid "Maturity"
220+msgstr "Vencido"
221+
222+#. module: l10n_ve_late_payments_report
223+#: report:account.late.payments.l10n.ve:0
224+msgid "Maturity date"
225+msgstr "Fecha de Vencimiento"
226+
227+#. module: l10n_ve_late_payments_report
228+#: report:account.late.payments.l10n.ve:0
229+msgid "Sub-Total :"
230+msgstr "Sub-Total :"
231+
232+#. module: l10n_ve_late_payments_report
233+#: report:account.late.payments.l10n.ve:0
234+msgid "Date"
235+msgstr "Fecha"
236+
237+#. module: l10n_ve_late_payments_report
238+#: report:account.late.payments.l10n.ve:0
239+msgid "."
240+msgstr "."
241+
242+#. module: l10n_ve_late_payments_report
243+#: report:account.late.payments.l10n.ve:0
244+msgid "Ref"
245+msgstr "Ref"
246+
247
248=== added file 'late_payments_report/late_payments_report.xml'
249--- late_payments_report/late_payments_report.xml 1970-01-01 00:00:00 +0000
250+++ late_payments_report/late_payments_report.xml 2012-02-29 22:52:22 +0000
251@@ -0,0 +1,15 @@
252+<?xml version="1.0" encoding="utf-8"?>
253+<openerp>
254+ <data>
255+ <report
256+ id="late_payments_report"
257+ model="res.partner"
258+ name="account.late.payments.l10n.ve"
259+ rml="late_payments_report/report/late_payments.rml"
260+ string="Late Payments"
261+ auto="False"
262+ header="False" />
263+
264+
265+ </data>
266+</openerp>
267
268=== added directory 'late_payments_report/report'
269=== added file 'late_payments_report/report/__init__.py'
270--- late_payments_report/report/__init__.py 1970-01-01 00:00:00 +0000
271+++ late_payments_report/report/__init__.py 2012-02-29 22:52:22 +0000
272@@ -0,0 +1,27 @@
273+# -*- encoding: utf-8 -*-
274+###########################################################################
275+# Module Writen to OpenERP, Open Source Management Solution
276+# Copyright (C) OpenERP Venezuela (<http://openerp.com.ve>).
277+# All Rights Reserved
278+###############Credits######################################################
279+# Coded by: Luis Escobar <luis@vauxoo.com>
280+# Planified by: Nhomar Hernandez
281+# Finance by: Helados Gilda, C.A. http://heladosgilda.com.ve
282+# Audited by: Humberto Arocha humberto@openerp.com.ve
283+#############################################################################
284+# This program is free software: you can redistribute it and/or modify
285+# it under the terms of the GNU General Public License as published by
286+# the Free Software Foundation, either version 3 of the License, or
287+# (at your option) any later version.
288+#
289+# This program is distributed in the hope that it will be useful,
290+# but WITHOUT ANY WARRANTY; without even the implied warranty of
291+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
292+# GNU General Public License for more details.
293+#
294+# You should have received a copy of the GNU General Public License
295+# along with this program. If not, see <http://www.gnu.org/licenses/>.
296+##############################################################################
297+
298+
299+import late_payments
300
301=== added file 'late_payments_report/report/late_payments.py'
302--- late_payments_report/report/late_payments.py 1970-01-01 00:00:00 +0000
303+++ late_payments_report/report/late_payments.py 2012-02-29 22:52:22 +0000
304@@ -0,0 +1,98 @@
305+# -*- encoding: utf-8 -*-
306+###########################################################################
307+# Module Writen to OpenERP, Open Source Management Solution
308+# Copyright (C) OpenERP Venezuela (<http://openerp.com.ve>).
309+# All Rights Reserved
310+###############Credits######################################################
311+# Coded by: Luis Escobar <luis@vauxoo.com>
312+# Planified by: Nhomar Hernandez
313+# Finance by: Helados Gilda, C.A. http://heladosgilda.com.ve
314+# Audited by: Humberto Arocha humberto@openerp.com.ve
315+#############################################################################
316+# This program is free software: you can redistribute it and/or modify
317+# it under the terms of the GNU General Public License as published by
318+# the Free Software Foundation, either version 3 of the License, or
319+# (at your option) any later version.
320+#
321+# This program is distributed in the hope that it will be useful,
322+# but WITHOUT ANY WARRANTY; without even the implied warranty of
323+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
324+# GNU General Public License for more details.
325+#
326+# You should have received a copy of the GNU General Public License
327+# along with this program. If not, see <http://www.gnu.org/licenses/>.
328+##############################################################################
329+
330+import time
331+
332+import ir
333+from osv import osv
334+from report import report_sxw
335+import pooler
336+
337+class Late_payments(report_sxw.rml_parse):
338+ def __init__(self, cr, uid, name, context):
339+ super(Late_payments, self).__init__(cr, uid, name, context=context)
340+ self.localcontext.update( {
341+ 'time' : time,
342+ 'adr_get' : self._adr_get,
343+ 'getLines' : self._lines_get,
344+ 'tel_get' : self._tel_get,
345+ 'message' : self._message,
346+ })
347+ self.context = context
348+ def _adr_get(self, partner, type):
349+ res = []
350+ res_partner = pooler.get_pool(self.cr.dbname).get('res.partner')
351+ res_partner_address = pooler.get_pool(self.cr.dbname).get('res.partner.address')
352+ addresses = res_partner.address_get(self.cr, self.uid, [partner.id], [type])
353+ adr_id = addresses and addresses[type] or False
354+ result = {
355+ 'name': False,
356+ 'street': False,
357+ 'city' : False,
358+ 'zip' : False,
359+ 'country_id' : False,
360+ }
361+ if adr_id:
362+ result = res_partner_address.read(self.cr, self.uid, [adr_id],context=self.context.copy())
363+ result[0]['country_id'] = result[0]['country_id'] and result[0]['country_id'][1] or False
364+ return result
365+
366+ res.append(result)
367+ return res
368+
369+ def _tel_get(self,partner):
370+ if not partner:
371+ return False
372+ res_partner_address = pooler.get_pool(self.cr.dbname).get('res.partner.address')
373+ res_partner = pooler.get_pool(self.cr.dbname).get('res.partner')
374+ addresses = res_partner.address_get(self.cr, self.uid, [partner.id], ['invoice'])
375+ adr_id = addresses and addresses['invoice'] or False
376+ if adr_id:
377+ adr=res_partner_address.read(self.cr, self.uid, [adr_id])[0]
378+ return adr['phone']
379+ else:
380+ return partner.address and partner.address[0].phone or False
381+ return False
382+
383+ def _lines_get(self, partner):
384+ moveline_obj = pooler.get_pool(self.cr.dbname).get('account.move.line')
385+ movelines = moveline_obj.search(self.cr, self.uid,
386+ [('partner_id', '=', partner.id),
387+ ('account_id.type', 'in', ['receivable', 'payable']),
388+ ('state', '<>', 'draft'), ('reconcile_id', '=', False)])
389+ movelines = moveline_obj.browse(self.cr, self.uid, movelines)
390+ return movelines
391+
392+ def _message(self, obj, company):
393+ company_pool = pooler.get_pool(self.cr.dbname).get('res.company')
394+ message = company_pool.browse(self.cr, self.uid, company.id, {'lang':obj.lang}).overdue_msg
395+ return message
396+
397+report_sxw.report_sxw('report.account.late.payments.l10n.ve', 'res.partner',
398+ 'addons/late_payments_report/report/late_payments.rml', parser=Late_payments)
399+
400+
401+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
402+
403
404=== added file 'late_payments_report/report/late_payments.rml'
405--- late_payments_report/report/late_payments.rml 1970-01-01 00:00:00 +0000
406+++ late_payments_report/report/late_payments.rml 2012-02-29 22:52:22 +0000
407@@ -0,0 +1,201 @@
408+<?xml version="1.0"?>
409+<document filename="test.pdf">
410+ <template pageSize="(595.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20">
411+ <pageTemplate id="first">
412+ <frame id="first" x1="42.0" y1="28.0" width="511" height="786"/>
413+ </pageTemplate>
414+ </template>
415+ <stylesheet>
416+ <blockTableStyle id="Standard_Outline">
417+ <blockAlignment value="LEFT"/>
418+ <blockValign value="TOP"/>
419+ </blockTableStyle>
420+ <blockTableStyle id="Tabla1">
421+ <blockAlignment value="LEFT"/>
422+ <blockValign value="TOP"/>
423+ <lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
424+ <lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
425+ <lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/>
426+ <lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/>
427+ <lineStyle kind="LINEBELOW" colorName="#000000" start="4,-1" stop="4,-1"/>
428+ <lineStyle kind="LINEBELOW" colorName="#000000" start="5,-1" stop="5,-1"/>
429+ <lineStyle kind="LINEBELOW" colorName="#000000" start="6,-1" stop="6,-1"/>
430+ <lineStyle kind="LINEBELOW" colorName="#000000" start="7,-1" stop="7,-1"/>
431+ </blockTableStyle>
432+ <blockTableStyle id="Tabla2">
433+ <blockAlignment value="LEFT"/>
434+ <blockValign value="TOP"/>
435+ <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
436+ <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
437+ <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
438+ <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
439+ <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
440+ <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="5,-1" stop="5,-1"/>
441+ <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="6,-1" stop="6,-1"/>
442+ <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="7,-1" stop="7,-1"/>
443+ </blockTableStyle>
444+ <blockTableStyle id="Tabla4">
445+ <blockAlignment value="LEFT"/>
446+ <blockValign value="TOP"/>
447+ <lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/>
448+ <lineStyle kind="LINEABOVE" colorName="#000000" start="2,0" stop="2,0"/>
449+ <lineStyle kind="LINEABOVE" colorName="#000000" start="3,0" stop="3,0"/>
450+ <lineStyle kind="LINEABOVE" colorName="#000000" start="4,0" stop="4,0"/>
451+ <lineStyle kind="LINEABOVE" colorName="#000000" start="1,1" stop="1,1"/>
452+ <lineStyle kind="LINEABOVE" colorName="#000000" start="2,1" stop="2,1"/>
453+ <lineStyle kind="LINEABOVE" colorName="#000000" start="3,1" stop="3,1"/>
454+ <lineStyle kind="LINEABOVE" colorName="#000000" start="4,1" stop="4,1"/>
455+ </blockTableStyle>
456+ <initialize>
457+ <paraStyle name="all" alignment="justify"/>
458+ </initialize>
459+ <paraStyle name="Standard" fontName="Times-Roman"/>
460+ <paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
461+ <paraStyle name="List" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
462+ <paraStyle name="Table Contents" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
463+ <paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
464+ <paraStyle name="Caption" fontName="Times-Roman" fontSize="10.0" leading="13" spaceBefore="6.0" spaceAfter="6.0"/>
465+ <paraStyle name="Index" fontName="Times-Roman"/>
466+ <paraStyle name="Heading" fontName="Helvetica" fontSize="15.0" leading="19" spaceBefore="12.0" spaceAfter="6.0"/>
467+ <paraStyle name="Footer" fontName="Times-Roman"/>
468+ <paraStyle name="Horizontal Line" fontName="Times-Roman" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/>
469+ <paraStyle name="terp_header" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
470+ <paraStyle name="Heading 9" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
471+ <paraStyle name="terp_tblheader_General" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
472+ <paraStyle name="terp_tblheader_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
473+ <paraStyle name="terp_default_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
474+ <paraStyle name="terp_default_Bold_8" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
475+ <paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
476+ <paraStyle name="terp_tblheader_General_Right" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
477+ <paraStyle name="terp_tblheader_Details_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
478+ <paraStyle name="terp_tblheader_Details_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
479+ <paraStyle name="terp_default_Right_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
480+ <paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
481+ <paraStyle name="terp_header_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
482+ <paraStyle name="terp_header_Centre" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="CENTER" spaceBefore="12.0" spaceAfter="6.0"/>
483+ <paraStyle name="terp_default_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
484+ <paraStyle name="terp_default_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
485+ <paraStyle name="terp_default_Bold_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
486+ <paraStyle name="terp_default_Centre_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
487+ <paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
488+ </stylesheet>
489+ <images/>
490+ <story>
491+ <para style="terp_default_8">
492+ <font color="white"> </font>
493+ </para>
494+ <section>
495+ <para style="terp_default_8">[[ repeatIn(objects,'o') ]]</para>
496+ <para style="terp_default_8">[[ setLang(o.lang) ]]</para>
497+ <para style="terp_default_9">[[ o.name ]]</para>
498+ <para style="terp_default_9">[[ o.vat or removeParentNode('para') ]]</para>
499+ <blockTable colWidths="56.0,137.0,52.0,72.0,62.0,59.0,58.0" style="Tabla1">
500+ <tr>
501+ <td>
502+ <para style="terp_tblheader_Details">Date</para>
503+ </td>
504+ <td>
505+ <para style="terp_tblheader_Details">Description</para>
506+ </td>
507+ <td>
508+ <para style="terp_tblheader_Details_Centre">Ref</para>
509+ </td>
510+ <td>
511+ <para style="terp_tblheader_Details_Centre">Maturity date</para>
512+ </td>
513+ <td>
514+ <para style="terp_tblheader_Details_Right">Due</para>
515+ </td>
516+ <td>
517+ <para style="terp_tblheader_Details_Right">Paid</para>
518+ </td>
519+ <td>
520+ <para style="terp_tblheader_Details_Right">Maturity</para>
521+ </td>
522+ </tr>
523+ </blockTable>
524+ <para style="terp_default_8">
525+ <font color="white"> </font>
526+ </para>
527+ <section>
528+ <para style="terp_default_8">[[repeatIn(getLines(o), 'line') ]]</para>
529+ <blockTable colWidths="56.0,138.0,52.0,73.0,62.0,59.0,58.0" style="Tabla2">
530+ <tr>
531+ <td>
532+ <para style="terp_default_9">[[ formatLang(line['date'],date=True) ]]</para>
533+ </td>
534+ <td>
535+ <para style="terp_default_9">[[ line['name'] ]]</para>
536+ </td>
537+ <td>
538+ <para style="terp_default_Centre_9">[[ line['ref'] ]]</para>
539+ </td>
540+ <td>
541+ <para style="terp_default_Centre_9">[[ line['date_maturity'] ]]</para>
542+ </td>
543+ <td>
544+ <para style="terp_default_Right_9">[[ formatLang(line['debit']) and formatLang(line['debit'] * (line['account_id']['type'] == 'payable' and -1 or 1)) ]]</para>
545+ </td>
546+ <td>
547+ <para style="terp_default_Right_9">[[ formatLang(line['credit']) and formatLang(line['credit'] * (line['account_id']['type'] == 'payable' and -1 or 1)) ]]</para>
548+ </td>
549+ <td>
550+ <para style="terp_default_Right_9">[[ formatLang((line['date_maturity'] &lt; time.strftime('%Y-%m-%d')) and ((line['debit'] - line['credit']) * (line['account_id']['type'] == 'payable' and -1 or 1))) ]]</para>
551+ </td>
552+ </tr>
553+ </blockTable>
554+ </section>
555+ <blockTable colWidths="244.0,75.0,62.0,59.0,58.0" style="Tabla4">
556+ <tr>
557+ <td>
558+ <para style="terp_default_Bold_9"></para>
559+ </td>
560+ <td>
561+ <para style="terp_default_Bold_9">Sub-Total : </para>
562+ </td>
563+ <td>
564+ <para style="terp_default_Right_9">[[ formatLang((reduce(lambda x, y: x + (y['debit'] * (y['account_id']['type'] == 'payable' and -1 or 1)), getLines(o), 0))) ]]</para>
565+ </td>
566+ <td>
567+ <para style="terp_default_Right_9">[[ formatLang((reduce(lambda x ,y: x + (y['credit'] * (y['account_id']['type'] == 'payable' and -1 or 1)), getLines(o), 0))) ]] </para>
568+ </td>
569+ <td>
570+ <para style="terp_default_Right_9">[[ formatLang((reduce(lambda x, y: x + ((y['debit'] - y['credit']) * (y['account_id']['type'] == 'payable' and -1 or 1)), filter(lambda x: x['date_maturity'] &lt; time.strftime('%Y-%m-%d'), getLines(o)), 0))) ]]</para>
571+ </td>
572+ </tr>
573+ <tr>
574+ <td>
575+ <para style="terp_default_Bold_9"></para>
576+ </td>
577+ <td>
578+ <para style="terp_default_Bold_9">Balance : </para>
579+ </td>
580+ <td>
581+ <para style="terp_default_Right_9">[[ formatLang((reduce(lambda x, y: x +((y['debit'] - y['credit']) * (y['account_id']['type'] == 'payable' and -1 or 1)), getLines(o), 0))) ]]</para>
582+ </td>
583+ <td>
584+ </td>
585+ <td>
586+ </td>
587+ </tr>
588+ </blockTable>
589+ <para style="terp_default_9">Total amount due: [[ formatLang((reduce(lambda x, y: x + ((y['debit'] - y['credit']) * (y['account_id']['type'] == 'payable' and -1 or 1)), getLines(o), 0))) ]] [[ company.currency_id.name ]].</para>
590+ <spacer length="2mm"/>
591+ </section>
592+ <section>
593+ <para style="terp_default_8">
594+ <font color="white"> </font>
595+ </para>
596+ <para style="terp_default_9">
597+ <font color="white"> </font>
598+ </para>
599+ </section>
600+ <para style="terp_default_9">
601+ <font color="white"> </font>
602+ </para>
603+ <para style="terp_default_8">
604+ <font color="white"> </font>
605+ </para>
606+ </story>
607+</document>
608+