c771e7de441efd7adb6399e1b9b42f9e283dacae
[odoo/odoo.git] / addons / account_invoice_layout / report / report_account_invoice_layout.rml
1 <?xml version="1.0"?>
2 <document filename="test.pdf">
3 <template pageSize="(595.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20">
4 <pageTemplate id="first">
5 <frame id="first" x1="34.0" y1="28.0" width="527" 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="Tableau6">
18 <blockAlignment value="LEFT"/>
19 <blockValign value="TOP"/>
20 <lineStyle kind="GRID" colorName="black"/>
21 <blockBackground colorName="#e6e6e6" start="0,0" stop="0,0"/>
22 <blockBackground colorName="#e6e6e6" start="1,0" stop="1,0"/>
23 <blockBackground colorName="#e6e6e6" start="2,0" stop="2,0"/>
24 <blockBackground colorName="#e6e6e6" start="3,0" stop="3,0"/>
25 <blockBackground colorName="#e6e6e6" start="4,0" stop="4,0"/>
26 <blockBackground colorName="#e6e6e6" start="5,0" stop="5,0"/>
27 </blockTableStyle>
28 <blockTableStyle id="Tableau7">
29 <blockAlignment value="LEFT"/>
30 <blockValign value="TOP"/>
31 </blockTableStyle>
32 <blockTableStyle id="Tableau8">
33 <blockAlignment value="LEFT"/>
34 <blockValign value="TOP"/>
35 </blockTableStyle>
36 <blockTableStyle id="Tableau3">
37 <blockAlignment value="LEFT"/>
38 <blockValign value="TOP"/>
39 <blockBackground colorName="#e6e6e6" start="0,1" stop="0,1"/>
40 <blockBackground colorName="#e6e6e6" start="1,1" stop="1,1"/>
41 <blockBackground colorName="#e6e6e6" start="2,1" stop="2,1"/>
42 </blockTableStyle>
43 <blockTableStyle id="Tableau4">
44 <blockAlignment value="LEFT"/>
45 <blockValign value="TOP"/>
46 <blockBackground colorName="#e6e6e6" start="0,0" stop="0,0"/>
47 <blockBackground colorName="#e6e6e6" start="1,0" stop="1,0"/>
48 <blockBackground colorName="#e6e6e6" start="2,0" stop="2,0"/>
49 </blockTableStyle>
50 <blockTableStyle id="Tableau5">
51 <blockAlignment value="LEFT"/>
52 <blockValign value="TOP"/>
53 </blockTableStyle>
54 <initialize>
55 <paraStyle name="all" alignment="justify"/>
56 </initialize>
57 <paraStyle name="P1" fontName="Times-Roman" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="6.0"/>
58 <paraStyle name="P2" fontName="Times-Roman" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
59 <paraStyle name="P3" fontName="Times-Roman" fontSize="11.0" leading="14" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
60 <paraStyle name="P4" fontName="Times-Roman" fontSize="11.0" leading="14" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
61 <paraStyle name="P5" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
62 <paraStyle name="P6" fontName="Times-Roman" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
63 <paraStyle name="P7" fontName="Times-Roman" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
64 <paraStyle name="P8" fontName="Times-Roman" alignment="RIGHT" spaceBefore="0.0" spaceAfter="3.0" leading="8"/>
65 <paraStyle name="P9" fontName="Times-Italic" fontSize="8.0" leading="10" spaceBefore="0.0" spaceAfter="3.0"/>
66 <paraStyle name="P10" fontName="Times-Roman" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
67 <paraStyle name="P11" fontName="Times-Bold" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
68 <paraStyle name="P12" fontName="Times-Roman" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
69 <paraStyle name="P13" fontName="Times-Roman" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
70 <paraStyle name="P14" fontName="Times-Roman" fontSize="14.0" leading="17" alignment="LEFT"/>
71 <paraStyle name="P15" fontName="Times-Roman" fontSize="14.0" leading="17" alignment="CENTER"/>
72 <paraStyle name="P16" fontName="Times-Roman" fontSize="20.0" leading="25" alignment="LEFT"/>
73 <paraStyle name="P17" fontName="Times-Roman" fontSize="11.0" leading="14"/>
74 <paraStyle name="P18" fontName="Times-Roman" fontSize="11.0" leading="14"/>
75 <paraStyle name="P19" fontName="Times-Roman" fontSize="11.0" leading="14" alignment="LEFT"/>
76 <paraStyle name="P20" fontName="Times-Roman" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="0.0"/>
77 <paraStyle name="P21" fontName="Times-Bold" fontSize="8.0" leading="8" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
78 <paraStyle name="P22" fontName="Times-Roman" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
79 <paraStyle name="P23" fontName="Times-Roman" fontSize="20.0" leading="25" alignment="LEFT"/>
80 <paraStyle name="Standard" fontName="Times-Roman"/>
81 <paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
82 <paraStyle name="List" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
83 <paraStyle name="Table Contents" fontName="Times-Roman" spaceBefore="2.0" spaceAfter="3.0" leading="10"/>
84 <paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
85 <paraStyle name="Caption" fontName="Times-Roman" fontSize="10.0" leading="13" spaceBefore="6.0" spaceAfter="6.0"/>
86 <paraStyle name="Index" fontName="Times-Roman"/>
87 </stylesheet>
88 <images/>
89 <story>
90 <para style="P1">[[ repeatIn(objects,'o') ]]</para>
91 <para style="P1">[[ setLang(o.partner_id.lang) ]]</para>
92 <blockTable colWidths="295.0,232.0" style="Tableau2">
93 <tr>
94 <td>
95 <para style="P2">
96 <font color="white"> </font>
97 </para>
98 </td>
99 <td>
100 <para style="Standard">[[ o.partner_id.title or '' ]] [[ o.partner_id.name ]]</para>
101 <para style="Standard">[[ o.address_invoice_id.title or '' ]] [[ o.address_invoice_id.name ]]</para>
102 <para style="Standard">[[ o.address_invoice_id.street ]]</para>
103 <para style="Standard">[[ o.address_invoice_id.street2 or '' ]]</para>
104 <para style="Standard">[[ o.address_invoice_id.zip or '' ]] [[ o.address_invoice_id.city or '' ]]</para>
105 <para style="Standard">[[ o.address_invoice_id.state_id and o.address_invoice_id.state_id.name or '' ]]</para>
106 <para style="Standard">[[ o.address_invoice_id.country_id and o.address_invoice_id.country_id.name or '' ]]</para>
107 <para style="Standard">
108 <font color="white"> </font>
109 </para>
110 <para style="Standard">Tel.&#xA0;: [[ o.address_invoice_id.phone or removeParentNode('para') ]]</para>
111 <para style="Standard">Fax&#xA0;: [[ o.address_invoice_id.fax or removeParentNode('para') ]]</para>
112 <para style="Standard">VAT&#xA0;: [[ o.partner_id.vat or removeParentNode('para') ]]</para>
113 </td>
114 </tr>
115 </blockTable>
116 <para style="P14">
117 <font color="white"> </font>
118 </para>
119 <para style="P23">Invoice [[ ((o.type == 'out_invoice' and (o.state == 'open' or o.state == 'paid')) or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
120 <para style="P23">PRO-FORMA [[ ((o.type == 'out_invoice' and o.state == 'proforma') or removeParentNode('para')) and '' ]]</para>
121 <para style="P23">Draft Invoice [[ ((o.type == 'out_invoice' and o.state == 'draft') or removeParentNode('para')) and '' ]]</para>
122 <para style="P23">Canceled Invoice [[ ((o.type == 'out_invoice' and o.state == 'cancel') or removeParentNode('para')) and '' ]]</para>
123 <para style="P23">Refund [[ (o.type=='out_refund' or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
124 <para style="P23">Supplier Refund [[ (o.type=='in_refund' or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
125 <para style="P16">
126 <font face="Times-Roman">Supplier Invoice [[ (o.type=='in_invoice' or removeParentNode('para')) and '' ]]</font>
127 <font face="Times-Roman">[[ o.number ]]</font>
128 </para>
129 <para style="P15">
130 <font color="white"> </font>
131 </para>
132 <para style="P17">
133 <font face="Times-Roman">Document:</font>
134 <font face="Times-Roman">[[o.name]]</font>
135 </para>
136 <para style="P17">
137 <font face="Times-Roman">Invoice Date: </font>
138 <font face="Times-Roman">[[o.date_invoice]]</font>
139 </para>
140 <para style="P18">
141 <font face="Times-Roman">Customer Ref:</font> [[ o.address_invoice_id.partner_id.ref or '/' ]]</para>
142 <para style="Standard">
143 <font color="white"> </font>
144 </para>
145 <blockTable colWidths="216.0,62.0,62.0,62.0,51.0,74.0" style="Tableau6">
146 <tr>
147 <td>
148 <para style="P3">Description</para>
149 </td>
150 <td>
151 <para style="P4">Taxes</para>
152 </td>
153 <td>
154 <para style="P4">Quantity</para>
155 </td>
156 <td>
157 <para style="P4">Unit Price</para>
158 </td>
159 <td>
160 <para style="P4">Disc. (%)</para>
161 </td>
162 <td>
163 <para style="P4">Price</para>
164 </td>
165 </tr>
166 </blockTable>
167 <section>
168         <para style="P20">[[ repeatIn(invoice_lines(o), 'a') ]]</para>
169         <blockTable colWidths="0.0,216.0,62,38,29,67,53,53" style="Tableau7">
170                 <tr>
171                         <td>
172                         <para style="P8">[[ a['type']=='text' and removeParentNode('tr')]]</para>
173                         </td>
174                         <td>
175                         <para style="Table Contents">[[ (a['type']=='title' or a['type']=='subtotal') and ( setTag('para','para',{'fontName':'Times-bold'})) ]][[ a['name'] ]]</para>
176                         </td>
177                         <td>
178                         <para style="Table Contents">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Times-bold'})) ]][[ a['tax_types'] ]]</para>
179                         </td>
180                         <td>
181                         <para style="Table Contents">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Times-bold'})) ]][[ a['quantity'] ]]</para>
182                         </td>
183                         <td>
184                         <para style="Table Contents">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Times-bold'})) ]][[ a['uos'] ]]</para>
185                         </td>
186                         <td>
187                         <para style="Table Contents">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Times-bold'})) ]][[ a['price_unit'] ]]</para>
188                         </td>
189                         <td>
190                         <para style="Table Contents">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Times-bold'})) ]][[ a['discount'] ]]</para>
191                         </td>
192                         <td>
193                         <para style="Table Contents">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Times-bold'})) ]][[ a['price_subtotal'] ]][[ a['currency'] ]]</para>
194                         </td>
195                 </tr>
196         </blockTable>
197         <blockTable colWidths="453.0,74.0" style="Tableau8">
198                 <tr>
199                         <td>
200                                 <para style="Table Contents">[[ a['type']=='text' and a['name'] or removeParentNode('blockTable') ]]</para>
201                         </td>
202                         <td>
203                                 <para style="P8">[[ a['type']=='text' and '' or removeParentNode('blockTable') ]]</para>
204                         </td>
205                 </tr>
206         </blockTable>
207         <blockTable colWidths="28.0,499.0" style="Tableau8">
208                 <tr>
209                         <td>
210                                 <para style="P21"><font>[[ a['note']=='' and removeParentNode('blockTable') ]]</font><font>[[ repeatIn(( a['note'] and a['note'].splitlines()) or [], 'note') ]]</font></para>
211                         </td>
212                         <td>
213                                 <para style="P9">[[ note or removeParentNode('blockTable') ]]</para>
214                         </td>
215                 </tr>
216         </blockTable>
217         <pageBreak>[[ a['type']!='break' and removeParentNode('pageBreak')]]</pageBreak>
218         <blockTable colWidths="216.0,62.0,62.0,62.0,51.0,74.0" style="Tableau6">
219                 <tr>
220                         <td>
221                                 <para style="P3">Description [[ a['type']!='break' and removeParentNode('tr')]]</para>
222                         </td>
223                         <td>
224                                 <para style="P4">Taxes</para>
225                         </td>
226                         <td>
227                                 <para style="P4">Quantity</para>
228                         </td>
229                         <td>
230                                 <para style="P4">Unit Price</para>
231                         </td>
232                         <td>
233                                 <para style="P4">Disc. (%)</para>
234                         </td>
235                         <td>
236                                 <para style="P4">Price</para>
237                         </td>
238                 </tr>
239         </blockTable>
240 </section>
241
242 <blockTable colWidths="215.0,313.0" style="Tableau3">
243 <tr>
244 <td>
245 <blockTable colWidths="81.0,73.0,60.0" style="Tableau4">
246 <tr>
247 <td>
248 <para style="P10">Tax</para>
249 </td>
250 <td>
251 <para style="P8">Base</para>
252 </td>
253 <td>
254 <para style="P8">Amount</para>
255 </td>
256 </tr>
257 <tr>
258 <td>
259 <para style="P5">
260 <font face="Times-Roman">[[ repeatIn(o.tax_line,'t') ]]</font> [[ t.name ]]</para>
261 </td>
262 <td>
263 <para style="P11">[[ '%.2f' % t.base ]]</para>
264 </td>
265 <td>
266 <para style="P11">[[ '%.2f' % t.amount]]</para>
267 </td>
268 </tr>
269 </blockTable>
270 </td>
271 <td>
272 <blockTable colWidths="214.0,95.0" style="Tableau5">
273 <tr>
274 <td>
275 <para style="P7">Total (excl. taxes):</para>
276 </td>
277 <td>
278 <para style="P12">[[ '%.2f' % o.amount_untaxed ]] [[o.currency_id.code ]]</para>
279 </td>
280 </tr>
281 <tr>
282 <td>
283 <para style="P7">Taxes:</para>
284 </td>
285 <td>
286 <para style="P12">[[ '%.2f' % o.amount_tax ]] [[o.currency_id.code ]]</para>
287 </td>
288 </tr>
289 <tr>
290 <td>
291 <para style="P13">Total <font face="Times-Roman">(incl. taxes):</font>
292 </para>
293 </td>
294 <td>
295 <para style="P22">[[ '%.2f' % o.amount_total ]] [[o.currency_id.code ]]</para>
296 </td>
297 </tr>
298 </blockTable>
299
300 </td>
301 </tr>
302 </blockTable>
303 <para style="P19">[[ format(o.comment) or '' ]]</para>
304 <para style="P19">[[ format(o.payment_term and o.payment_term.note) or '' ]]</para>
305 </story>
306 </document>
307