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"/>
9 <blockTableStyle id="Standard_Outline">
10 <blockAlignment value="LEFT"/>
11 <blockValign value="TOP"/>
13 <blockTableStyle id="Tableau2">
14 <blockAlignment value="LEFT"/>
15 <blockValign value="TOP"/>
17 <blockTableStyle id="Tableau6">
18 <blockAlignment value="LEFT"/>
19 <blockValign value="TOP"/>
20 <lineStyle kind="LINEBELOW" colorName="#000000" start="0,0" stop="0,0"/>
21 <lineStyle kind="LINEBELOW" colorName="#000000" start="1,0" stop="1,0"/>
22 <lineStyle kind="LINEBELOW" colorName="#000000" start="2,0" stop="2,0"/>
23 <lineStyle kind="LINEBELOW" colorName="#000000" start="3,0" stop="3,0"/>
24 <lineStyle kind="LINEBELOW" colorName="#000000" start="4,0" stop="4,0"/>
25 <lineStyle kind="LINEBELOW" colorName="#000000" start="5,0" stop="5,0"/>
27 <blockTableStyle id="Tableau7">
28 <blockAlignment value="LEFT"/>
29 <blockValign value="TOP"/>
30 <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,0" stop="-1,0"/>
32 <lineStyle kind="LINEABOVE" colorName="#ffffff" start="0,1" stop="-1,-1"/>
33 <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,1" stop="-1,-1"/>
35 <blockTableStyle id="Tableau8">
36 <blockAlignment value="LEFT"/>
37 <blockValign value="TOP"/>
39 <blockTableStyle id="Tableau3">
40 <blockAlignment value="LEFT"/>
41 <blockValign value="TOP"/>
43 <blockTableStyle id="Tableau4">
44 <blockAlignment value="LEFT"/>
45 <blockValign value="TOP"/>
46 <lineStyle kind="LINEBELOW" colorName="#000000" start="0,0" stop="0,0"/>
47 <lineStyle kind="LINEBELOW" colorName="#000000" start="1,0" stop="1,0"/>
48 <lineStyle kind="LINEBELOW" colorName="#000000" start="2,0" stop="2,0"/>
50 <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,1" stop="0,-1"/>
51 <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,1" stop="1,-1"/>
52 <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,1" stop="2,-1"/>
54 <blockTableStyle id="Tableau5">
55 <blockAlignment value="LEFT"/>
56 <blockValign value="TOP"/>
57 <lineStyle kind="LINEABOVE" colorName="#000000" start="0,0" stop="2,0"/>
58 <lineStyle kind="LINEABOVE" colorName="#000000" start="0,2" stop="2,2"/>
61 <paraStyle name="all" alignment="justify"/>
63 <paraStyle name="P1" fontName="Helvetica" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="6.0"/>
64 <paraStyle name="P2" fontName="Helvetica" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
65 <paraStyle name="P3" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
66 <paraStyle name="P4" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
67 <paraStyle name="P4a" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
68 <paraStyle name="P5" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
69 <paraStyle name="P6" fontName="Helvetica" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
70 <paraStyle name="P7" fontName="Helvetica" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
71 <paraStyle name="P8" fontName="Helvetica-Bold" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0" />
72 <paraStyle name="P8b" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="0.0"/>
73 <paraStyle name="P8a" fontName="Helvetica" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" />
74 <paraStyle name="P9" fontName="Times-Italic" fontSize="8.0" leading="10" spaceBefore="0.0" spaceAfter="3.0"/>
75 <paraStyle name="P10" fontName="Helvetica-Bold" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
76 <paraStyle name="P11" fontName="Helvetica-Bold" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
77 <paraStyle name="P11a" fontName="Helvetica" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
78 <paraStyle name="P12" fontName="Helvetica-Bold" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
79 <paraStyle name="P13" fontName="Helvetica-Bold" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
80 <paraStyle name="P14" fontName="Helvetica" fontSize="12.0" leading="13" alignment="LEFT"/>
81 <paraStyle name="P15" fontName="Helvetica" fontSize="12.0" leading="13" alignment="CENTER"/>
82 <paraStyle name="P16" fontName="Helvetica" fontSize="14.0" leading="15" alignment="LEFT"/>
83 <paraStyle name="P17" fontName="Helvetica" fontSize="9.0" leading="11"/>
84 <paraStyle name="P18" fontName="Helvetica" fontSize="9.0" leading="11"/>
85 <paraStyle name="P19" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT"/>
86 <paraStyle name="P20" fontName="Helvetica" fontSize="6.0" leading="4" spaceBefore="0.0" spaceAfter="0.0"/>
87 <paraStyle name="P21" fontName="Helvetica-Bold" fontSize="8.0" leading="8" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
88 <paraStyle name="P22" fontName="Helvetica-Bold" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
89 <paraStyle name="P23" fontName="Helvetica" fontSize="14.0" leading="15" alignment="LEFT"/>
90 <paraStyle name="Standard" fontName="Helvetica"/>
91 <paraStyle name="Text body" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
92 <paraStyle name="List" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
93 <paraStyle name="Table Contents" fontName="Helvetica" alignment="CENTER" spaceBefore="2.0" spaceAfter="3.0" leading="10"/>
94 <paraStyle name="Table Contents1" fontName="Helvetica" alignment="RIGHT" spaceBefore="2.0" spaceAfter="3.0" leading="10"/>
95 <paraStyle name="Table Heading" fontName="Helvetica" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
96 <paraStyle name="Caption" fontName="Helvetica" fontSize="9.0" leading="11" spaceBefore="6.0" spaceAfter="6.0"/>
97 <paraStyle name="Index" fontName="Helvetica"/>
98 <paraStyle name="terp_default_Note" rightIndent="0.0" leftIndent="9.0" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
102 <para style="P1">[[ repeatIn(objects,'o') ]]</para>
103 <para style="P1">[[ setLang(o.partner_id.lang) ]]</para>
104 <blockTable colWidths="295.0,232.0" style="Tableau2">
106 <td><para style="P8b"><font color="white"> </font></para></td>
108 <para style="Standard">[[ o.partner_id.title or '' ]] [[ o.partner_id.name ]]</para>
109 <para style="Standard">[[ o.address_invoice_id.title or '' ]] [[ o.address_invoice_id.name ]]</para>
110 <para style="Standard">[[ o.address_invoice_id.street ]]</para>
111 <para style="Standard">[[ o.address_invoice_id.street2 or '' ]]</para>
112 <para style="Standard">[[ o.address_invoice_id.zip or '' ]] [[ o.address_invoice_id.city or '' ]]</para>
113 <para style="Standard">[[ o.address_invoice_id.state_id and o.address_invoice_id.state_id.name or '' ]]</para>
114 <para style="Standard">[[ o.address_invoice_id.country_id and o.address_invoice_id.country_id.name or '' ]]</para>
115 <para style="P8b"><font color="white"> </font></para>
116 <para style="Standard">Tel. : [[ o.address_invoice_id.phone or removeParentNode('para') ]]</para>
117 <para style="Standard">Fax : [[ o.address_invoice_id.fax or removeParentNode('para') ]]</para>
118 <para style="Standard">VAT : [[ o.partner_id.vat or removeParentNode('para') ]]</para>
123 <font color="white"></font>
125 <para style="P23">Invoice [[ ((o.type == 'out_invoice' and (o.state == 'open' or o.state == 'paid')) or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
126 <para style="P23">PRO-FORMA [[ ((o.type == 'out_invoice' and o.state == 'proforma') or removeParentNode('para')) and '' ]]</para>
127 <para style="P23">Draft Invoice [[ ((o.type == 'out_invoice' and o.state == 'draft') or removeParentNode('para')) and '' ]]</para>
128 <para style="P23">Canceled Invoice [[ ((o.type == 'out_invoice' and o.state == 'cancel') or removeParentNode('para')) and '' ]]</para>
129 <para style="P23">Refund [[ (o.type=='out_refund' or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
130 <para style="P23">Supplier Refund [[ (o.type=='in_refund' or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
131 <para style="P16"><font>Supplier Invoice [[ (o.type=='in_invoice' or removeParentNode('para')) and '' ]]</font><font>[[ o.number ]]</font></para>
133 <font color="white"></font>
135 <para style="P17"><font>Document:</font><font>[[ o.name ]]</font></para>
136 <para style="P8b"><font color="white"></font></para>
137 <para style="P17"><font>Invoice Date: </font><font>[[ formatLang(o.date_invoice,date=True) ]]</font></para>
138 <para style="P18"><font>Customer Ref:</font>[[ o.address_invoice_id.partner_id.ref or '/' ]]</para>
140 <font color="white"></font>
142 <blockTable colWidths="212.0,62.0,62.0,70.0,61.0,74.0" style="Tableau6">
144 <td><para style="P3">Description</para></td>
145 <td><para style="P4">Taxes</para></td>
146 <td><para style="P4">Quantity</para></td>
147 <td><para style="P4">Unit Price</para></td>
148 <td><para style="P4">Disc. (%)</para></td>
149 <td><para style="P4a">Price</para></td>
153 <para style="P20">[[ repeatIn(invoice_lines(o), 'a') ]]</para>
154 <blockTable colWidths="0.0,221.5,60.0,31.0,16.0,31.0,39.0,61.0,45.0,23.0" style="Tableau7">
156 <td><para style="P8">[[ a['type']=='text' and removeParentNode('blockTable')]]</para></td>
157 <td><para style="P8a">[[ (a['type']=='title' or a['type']=='subtotal') and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['name'] ]]</para></td>
158 <td><para style="P8a">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['tax_types'] ]]</para></td>
159 <td><para style="Table Contents">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['quantity'] ]]</para></td>
160 <td><para style="Table Contents">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['uos'] ]]</para></td>
161 <td><para><font color="white"></font></para></td>
162 <td><para style="Table Contents">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['price_unit'] ]]</para></td>
163 <td><para style="Table Contents1">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['discount'] ]]</para></td>
164 <td><para style="Table Contents">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['price_subtotal'] ]]</para></td>
165 <td><para style="Table Contents">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['currency'] ]]</para></td>
168 <td><para style="P8"><font color="white"></font></para></td>
169 <td><para style="terp_default_Note">[[ format(a['note'] or removeParentNode('tr')) ]]</para></td>
170 <td><para style="P8a"><font color="white"></font></para></td>
171 <td><para style="Table Contents"><font color="white"></font></para></td>
172 <td><para style="Table Contents"><font color="white"></font></para></td>
173 <td><para><font color="white"></font></para></td>
174 <td><para style="Table Contents"><font color="white"></font></para></td>
175 <td><para style="Table Contents1"><font color="white"></font></para></td>
176 <td><para style="Table Contents"><font color="white"></font></para></td>
177 <td><para style="Table Contents"><font color="white"></font></para></td>
180 <blockTable colWidths="453.0,74.0" style="Tableau8">
182 <td><para style="Table Contents">[[ a['type']=='text' and a['name'] or removeParentNode('blockTable') ]]</para></td>
183 <td><para style="P8">[[ a['type']=='text' and '' or removeParentNode('blockTable') ]]</para></td>
186 <pageBreak>[[ a['type']!='break' and removeParentNode('pageBreak')]]</pageBreak>
187 <blockTable colWidths="212.0,62.0,62.0,70.0,61.0,74.0" style="Tableau6">
189 <td><para style="P3">Description [[ a['type']!='break' and removeParentNode('blockTable')]]</para></td>
190 <td><para style="P4">Taxes</para></td>
191 <td><para style="P4">Quantity</para></td>
192 <td><para style="P4">Unit Price</para></td>
193 <td><para style="P4">Disc. (%)</para></td>
194 <td><para style="P4a">Price</para></td>
198 <blockTable colWidths="340.0,191.0" style="Tableau3">
201 <blockTable colWidths="100.0,73.0,100.0" style="Tableau8">
203 <td><para style="P10"><font color="white"></font></para></td>
204 <td><para style="P8"><font color="white"></font></para></td>
205 <td><para style="P8"><font color="white"></font></para></td>
208 <td><para style="P11a"><font color="white"></font></para></td>
209 <td><para style="P11"><font color="white"></font></para></td>
210 <td><para style="P11"><font color="white"></font></para></td>
215 <blockTable colWidths="110.0,81.0" style="Tableau5">
217 <td><para style="P13">Total (Excl. taxes):</para></td>
218 <td><para style="P12"><u>[[ '%.2f' % o.amount_untaxed ]] [[o.currency_id.code ]]</u></para></td>
221 <td><para style="P13">Taxes:</para></td>
222 <td><para style="P12"><u>[[ '%.2f' % o.amount_tax ]] [[o.currency_id.code ]]</u></para></td>
225 <td><para style="P13">Total <font>(Incl. taxes):</font></para></td>
226 <td><para style="P12"><u>[[ '%.2f' % o.amount_total ]] [[o.currency_id.code ]]</u></para></td>
232 <blockTable colWidths="251.0,290.0" style="Tableau3">
235 <blockTable colWidths="81.0,73.0,65.0" style="Tableau4">
237 <td><para style="P10">Tax</para></td>
238 <td><para style="P8">Base</para></td>
239 <td><para style="P8">Amount</para></td>
242 <td><para style="P11a"><font>[[ repeatIn(o.tax_line,'t') ]]</font>[[ t.name ]]</para></td>
243 <td><para style="P11">[[ '%.2f' % t.base ]]</para></td>
244 <td><para style="P11">[[ '%.2f' % t.amount]]</para></td>
249 <blockTable colWidths="81.0,73.0,65.0" style="Tableau8">
251 <td><para style="P10"><font color="white"></font></para></td>
252 <td><para style="P8"><font color="white"></font></para></td>
253 <td><para style="P8"><font color="white"></font></para></td>
256 <td><para style="P11a"><font color="white"></font></para></td>
257 <td><para style="P11"><font color="white"></font></para></td>
258 <td><para style="P11"><font color="white"></font></para></td>
265 <font color="white"></font>
267 <para style="P19">[[ format(o.comment) or '' ]]</para>
268 <para style="P19">[[ format(o.payment_term and o.payment_term.note) or '' ]]</para>