[IMP] improved code to show invoice analysis report amounts in current user currency.
[odoo/odoo.git] / addons / account / report / account_print_overdue.rml
1 <?xml version="1.0"?>
2 <document filename="Overdue Payments.pdf">
3   <template title="Overdue Payments" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
4     <pageTemplate id="first">
5       <frame id="first" x1="42.0" y1="28.0" width="511" height="786"/>
6     </pageTemplate>
7   </template>
8   <stylesheet>
9     <blockTableStyle id="Standard_Outline">
10       <blockAlignment value="LEFT"/>
11       <blockValign value="TOP"/>
12     </blockTableStyle>
13     <blockTableStyle id="Tableau2">
14       <blockAlignment value="LEFT"/>
15       <blockValign value="TOP"/>
16     </blockTableStyle>
17     <blockTableStyle id="Table1">
18       <blockAlignment value="LEFT"/>
19       <blockValign value="TOP"/>
20       <lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
21       <lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
22       <lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/>
23       <lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/>
24       <lineStyle kind="LINEBELOW" colorName="#000000" start="4,-1" stop="4,-1"/>
25       <lineStyle kind="LINEBELOW" colorName="#000000" start="5,-1" stop="5,-1"/>
26       <lineStyle kind="LINEBELOW" colorName="#000000" start="6,-1" stop="6,-1"/>
27       <lineStyle kind="LINEBELOW" colorName="#000000" start="7,-1" stop="7,-1"/>
28     </blockTableStyle>
29     <blockTableStyle id="Table3">
30       <blockAlignment value="LEFT"/>
31       <blockValign value="TOP"/>
32       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
33       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
34       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
35       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
36       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
37       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="5,-1" stop="5,-1"/>
38       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="6,-1" stop="6,-1"/>
39       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="7,-1" stop="7,-1"/>
40     </blockTableStyle>
41     <blockTableStyle id="Table2">
42       <blockAlignment value="LEFT"/>
43       <blockValign value="TOP"/>
44       <lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/>
45       <lineStyle kind="LINEABOVE" colorName="#000000" start="2,0" stop="2,0"/>
46       <lineStyle kind="LINEABOVE" colorName="#000000" start="3,0" stop="3,0"/>
47       <lineStyle kind="LINEABOVE" colorName="#000000" start="4,0" stop="4,0"/>
48       <lineStyle kind="LINEABOVE" colorName="#000000" start="5,0" stop="5,0"/>
49     </blockTableStyle>
50     <blockTableStyle id="Table4">
51       <blockAlignment value="LEFT"/>
52       <blockValign value="TOP"/>
53       <lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/>
54       <lineStyle kind="LINEABOVE" colorName="#000000" start="2,0" stop="2,0"/>
55       <lineStyle kind="LINEABOVE" colorName="#000000" start="3,0" stop="3,0"/>
56     </blockTableStyle>
57     <initialize>
58       <paraStyle name="all" alignment="justify"/>
59     </initialize>
60     <paraStyle name="Standard" fontName="Helvetica"/>
61     <paraStyle name="Text body" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
62     <paraStyle name="List" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
63     <paraStyle name="Table Contents" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
64     <paraStyle name="Table Heading" fontName="Helvetica" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
65     <paraStyle name="Caption" fontName="Helvetica" fontSize="10.0" leading="13" spaceBefore="6.0" spaceAfter="6.0"/>
66     <paraStyle name="Index" fontName="Helvetica"/>
67     <paraStyle name="Heading" fontName="Helvetica" fontSize="15.0" leading="19" spaceBefore="12.0" spaceAfter="6.0"/>
68     <paraStyle name="Footer" fontName="Helvetica"/>
69     <paraStyle name="Horizontal Line" fontName="Helvetica" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/>
70     <paraStyle name="terp_header" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
71     <paraStyle name="Heading 9" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
72     <paraStyle name="terp_tblheader_General" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
73     <paraStyle name="terp_tblheader_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
74     <paraStyle name="terp_default_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
75     <paraStyle name="terp_default_Bold_8" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
76     <paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
77     <paraStyle name="terp_tblheader_General_Right" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
78     <paraStyle name="terp_tblheader_Details_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
79     <paraStyle name="terp_tblheader_Details_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
80     <paraStyle name="terp_default_Right_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
81     <paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
82     <paraStyle name="terp_header_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
83     <paraStyle name="terp_header_Centre" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="CENTER" spaceBefore="12.0" spaceAfter="6.0"/>
84     <paraStyle name="terp_default_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
85     <paraStyle name="terp_default_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
86     <paraStyle name="terp_default_10" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="2.0"/>
87     <paraStyle name="terp_default_Bold_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
88     <paraStyle name="terp_default_Centre_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
89     <paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
90     <images/>
91   </stylesheet>
92   <story>
93   <pto>
94   <pto_header>
95     <blockTable colWidths="57.0,136.0,51.0,72.0,54.0,56.0,66.0,18.0" style="Table1">
96       <tr>
97         <td>
98           <para style="terp_tblheader_Details">Date</para>
99         </td>
100         <td>
101           <para style="terp_tblheader_Details">Description</para>
102         </td>
103         <td>
104           <para style="terp_tblheader_Details_Centre">Ref</para>
105         </td>
106         <td>
107           <para style="terp_tblheader_Details_Centre">Maturity date</para>
108         </td>
109         <td>
110           <para style="terp_tblheader_Details_Right">Due</para>
111         </td>
112         <td>
113           <para style="terp_tblheader_Details_Right">Paid</para>
114         </td>
115         <td>
116           <para style="terp_tblheader_Details_Right">Maturity</para>
117         </td>
118         <td>
119           <para style="terp_tblheader_Details_Centre">Li.</para>
120         </td>
121       </tr>
122     </blockTable>
123   </pto_header>
124     <para style="terp_default_8">[[ repeatIn(objects,'o') ]]</para>
125     <para style="terp_default_8">[[ setLang(o.lang) ]]</para>
126     <blockTable colWidths="286.0,224.0" style="Tableau2">
127       <tr>
128         <td>
129         </td>
130         <td>
131           <para style="terp_default_9">[[ o.title.name or '' ]] [[ o.name ]]</para>
132           <para style="terp_default_9">[[ display_address(o) ]]</para>
133           <para style="terp_default_9">
134             <font color="white"> </font>
135           </para>
136           <para style="terp_default_9">VAT: [[ o.vat or removeParentNode('para') ]]</para>
137         </td>
138       </tr>
139     </blockTable>
140     <para style="terp_default_8">
141       <font color="white"> </font>
142     </para>
143     <para style="terp_default_8">
144       <font color="white"> </font>
145     </para>
146     <para style="terp_default_9">Document: Customer account statement</para>
147     <para style="terp_default_9">Date: [[ formatLang(time.strftime('%Y-%m-%d'),date=True) ]]</para>
148     <para style="terp_default_9">Customer Ref: [[ o.ref or ' ']]</para>
149     <para style="terp_default_9">
150       <font color="white"> </font>
151     </para>
152     <para style="terp_default_9">
153       <font color="white"> </font>
154     </para>
155     <section>
156       <para style="terp_default_8">[[ not getLines(o) and removeParentNode('section')]]</para>
157       <section>
158           <para>[[repeatIn(message(o, company), 'message_line') ]]</para>
159           <para style="terp_default_9">[[ message_line ]]</para>
160           <para style="terp_default_8">
161             <font color="white"> </font>
162           </para>
163       </section>
164       <blockTable colWidths="56.0,136.0,51.0,72.0,54.0,56.0,66.0,18.0" style="Table1">
165       <tr>
166         <td>
167           <para style="terp_tblheader_Details">Date</para>
168         </td>
169         <td>
170           <para style="terp_tblheader_Details">Description</para>
171         </td>
172         <td>
173           <para style="terp_tblheader_Details_Centre">Ref</para>
174         </td>
175         <td>
176           <para style="terp_tblheader_Details_Centre">Maturity date</para>
177         </td>
178         <td>
179           <para style="terp_tblheader_Details_Right">Due</para>
180         </td>
181         <td>
182           <para style="terp_tblheader_Details_Right">Paid</para>
183         </td>
184         <td>
185           <para style="terp_tblheader_Details_Right">Maturity</para>
186         </td>
187         <td>
188           <para style="terp_tblheader_Details_Centre">Li.</para>
189         </td>
190       </tr>
191       </blockTable>
192       <section>[[repeatIn(getLines(o), 'line') ]]
193       <blockTable colWidths="56.0,136.0,52.0,71.0,55.0,56.0,66.0,17.0" style="Table3">
194         <tr>
195           <td>
196             <para style="terp_default_9">[[ formatLang(line['date'],date=True) ]]</para>
197           </td>
198           <td>
199             <para style="terp_default_9">[[ line['name'] ]]</para>
200           </td>
201           <td>
202             <para style="terp_default_Centre_9">[[ line['ref'] ]]</para>
203           </td>
204           <td>
205             <para style="terp_default_Centre_9">[[ line['date_maturity'] and formatLang(line['date_maturity'],date=True) or '' ]]</para>
206           </td>
207           <td>
208             <para style="terp_default_Right_9">[[ (line['account_id']['type'] == 'receivable' and formatLang(line['debit']) or 0) or (line['account_id']['type'] == 'payable' and formatLang(line['credit'] * -1) or ' ') ]] </para>
209           </td>
210           <td>
211             <para style="terp_default_Right_9">[[ (line['account_id']['type'] == 'receivable' and formatLang(line['credit']) or 0) or (line['account_id']['type'] == 'payable' and formatLang(line['debit'] * -1) or 0) ]]</para>
212           </td>
213           <td>
214             <para style="terp_default_Right_9">[[ (time.strftime('%Y-%m-%d') &gt; line['date_maturity']) and formatLang(line['debit'] - line['credit'], currency_obj = company.currency_id) ]]</para>
215           </td>
216           <td>
217             <para style="terp_default_Centre_9">[[ line['blocked'] and 'X' or '' ]]</para>
218           </td>
219         </tr>
220       </blockTable>
221       </section>
222       <blockTable colWidths="244.0,71.0,56.0,56.0,66.0,17.0" style="Table2">
223       <tr>
224         <td>
225           <para style="terp_default_8">
226             <font color="white"> </font>
227           </para>
228         </td>
229         <td>
230           <para style="terp_default_Bold_9">Sub-Total :</para>
231         </td>
232         <td>
233           <para style="terp_default_Right_9">[[ formatLang((reduce(lambda x, y: x + ((y['account_id']['type'] == 'receivable' and y['debit'] or 0) or (y['account_id']['type'] == 'payable' and y['credit'] * -1 or 0)), getLines(o), 0))) ]] </para>
234         </td>
235         <td>
236           <para style="terp_default_Right_9">[[ formatLang((reduce(lambda x, y: x + ((y['account_id']['type'] == 'receivable' and y['credit'] or 0) or (y['account_id']['type'] == 'payable' and y['debit'] * -1 or 0)), getLines(o), 0))) ]] </para>
237         </td>
238         <td>
239           <para style="terp_default_Right_9">[[ formatLang((reduce(lambda x, y: x + (y['debit'] - y['credit']), filter(lambda x: x['date_maturity'] &lt; time.strftime('%Y-%m-%d'), getLines(o)), 0)), currency_obj=company.currency_id) ]]</para>
240         </td>
241         <td>
242           <para style="terp_default_9">
243             <font color="white"> </font>
244           </para>
245         </td>
246       </tr>
247       </blockTable>
248       <blockTable colWidths="244.0,71.0,62.0,132.0" style="Table4">
249       <tr>
250         <td>
251           <para style="terp_default_8">
252             <font color="white"> </font>
253           </para>
254         </td>
255         <td>
256           <para style="terp_default_Bold_9">Balance :</para>
257         </td>
258         <td>
259           <para style="terp_tblheader_Details_Right">[[ formatLang((reduce(lambda x, y: x +(y['debit'] - y['credit']), getLines(o), 0)), currency_obj = company.currency_id) ]]</para>
260         </td>
261         <td>
262           <para style="terp_default_8">
263             <font color="white"> </font>
264           </para>
265         </td>
266       </tr>
267       </blockTable>
268       <para style="terp_default_9">
269         <font color="white"> </font>
270       </para>
271       <para style="terp_default_9">
272         <font color="white"> </font>
273       </para>
274       <para style="terp_default_9">Total amount due: [[ formatLang((reduce(lambda x, y: x + (y['debit'] - y['credit']), getLines(o), 0)), currency_obj=company.currency_id) ]]</para>
275     </section>
276     <para style="terp_default_9">
277       <font color="white"> </font>
278     </para>
279     <section>
280        <para style="terp_default_Bold_9">[[ getLines(o) and removeParentNode('section')]]There is nothing due with this customer.</para>
281     </section>
282     <para style="terp_default_9">
283       <font color="white"> </font>
284     </para>
285     <para style="terp_default_8">
286       <font color="white"> </font>
287     </para>
288   </pto>
289   </story>
290 </document>