2
<document filename="test.pdf">
4
<registerFont fontFile="/tmp/ocrbb.ttf" expr="{'fontFile':str(police_absolute_path('addons/l10n_ch/report/ocrbb.ttf'))}" fontName="ocrb" />
8
<template pageSize="(210.0mm,297.0mm)" title="Test" author="Martin Simon" allowSplitting="20">
9
<pageTemplate id="first">
11
<!-- You Logo - Change X,Y,Width and Height -->
12
<image x="1.3cm" y="27.6cm" height="40.0" >[[company.logo or removeParentNode('image')]]</image>
13
<setFont name="Helvetica" size="8"/>
15
<stroke color="black"/>
16
<lines>1.3cm 27.7cm 20cm 27.7cm</lines>
18
<drawRightString x="20cm" y="27.8cm">[[ company.rml_header1 ]]</drawRightString>
21
<drawString x="1.3cm" y="27.2cm">[[ company.partner_id.name ]]</drawString>
22
<drawString x="1.3cm" y="26.8cm">[[ company.partner_id.address and company.partner_id.address[0].street or '' ]]</drawString>
23
<drawString x="1.3cm" y="26.4cm">[[ company.partner_id.address and company.partner_id.address[0].zip or '' ]] [[ company.partner_id.address and company.partner_id.address[0].city or '' ]] - [[ company.partner_id.address and company.partner_id.address[0].country_id and company.partner_id.address[0].country_id.name or '']]</drawString>
24
<drawString x="1.3cm" y="26.0cm">Phone:</drawString>
25
<drawRightString x="7cm" y="26.0cm">[[ company.partner_id.address and company.partner_id.address[0].phone or '' ]]</drawRightString>
26
<drawString x="1.3cm" y="25.6cm">Mail:</drawString>
27
<drawRightString x="7cm" y="25.6cm">[[ company.partner_id.address and company.partner_id.address[0].email or '' ]]</drawRightString>
28
<lines>1.3cm 25.5cm 7cm 25.5cm</lines>
29
<drawCentredString x="10.5cm" y="0.8cm">Contact : [[ user.name ]] - Page: <pageNumber/></drawCentredString>
30
</pageGraphics> <!-- end of header -->
31
<frame id="first" x1="24.0" y1="111.5mm" width="190mm" height="142mm" last="1"/>
33
expr="{'height':str(111+(company.bvr_delta_vert or 0.0))+'mm', 'x1': str((company.bvr_delta_horz or 0.0))+'mm'}"
40
<!-- begin of core -->
42
<blockTableStyle id="Standard_Outline">
43
<blockAlignment value="LEFT"/>
44
<blockValign value="TOP"/>
46
<blockTableStyle id="Table1">
47
<blockAlignment value="LEFT"/>
48
<blockValign value="TOP"/>
50
<blockTableStyle id="Table2">
51
<blockAlignment value="LEFT"/>
52
<blockValign value="TOP"/>
53
<lineStyle kind="GRID" colorName="black"/>
54
<blockBackground colorName="#e6e6e6" start="0,0" stop="0,0"/>
55
<blockBackground colorName="#e6e6e6" start="1,0" stop="1,0"/>
56
<blockBackground colorName="#e6e6e6" start="2,0" stop="2,0"/>
57
<blockBackground colorName="#e6e6e6" start="3,0" stop="3,0"/>
58
<blockBackground colorName="#e6e6e6" start="4,0" stop="4,0"/>
59
<blockBackground colorName="#e6e6e6" start="5,0" stop="5,0"/>
62
<blockTableStyle id="Table3">
63
<blockAlignment value="LEFT"/>
64
<blockValign value="TOP"/>
66
<blockTableStyle id="Table4">
67
<blockAlignment value="LEFT"/>
68
<blockValign value="TOP"/>
70
<blockTableStyle id="Table5">
71
<blockAlignment value="LEFT"/>
72
<blockValign value="TOP"/>
73
<blockBackground colorName="#e6e6e6" start="0,1" stop="0,1"/>
74
<blockBackground colorName="#e6e6e6" start="1,1" stop="1,1"/>
75
<blockBackground colorName="#e6e6e6" start="2,1" stop="2,1"/>
77
<blockTableStyle id="Table6">
78
<blockAlignment value="LEFT"/>
79
<blockValign value="TOP"/>
80
<blockBackground colorName="#e6e6e6" start="0,0" stop="0,0"/>
81
<blockBackground colorName="#e6e6e6" start="1,0" stop="1,0"/>
82
<blockBackground colorName="#e6e6e6" start="2,0" stop="2,0"/>
84
<blockTableStyle id="Table7">
85
<blockAlignment value="LEFT"/>
86
<blockValign value="TOP"/>
89
<paraStyle name="all" alignment="justify"/>
91
<paraStyle name="P1" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
92
<paraStyle name="P2" fontName="Helvetica-BoldOblique" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="6.0"/>
93
<paraStyle name="P3" fontName="Helvetica" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
94
<paraStyle name="P4" fontName="Helvetica-BoldOblique" fontSize="11.0" leading="14" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
95
<paraStyle name="P5" fontName="Helvetica-BoldOblique" fontSize="11.0" leading="14" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
96
<paraStyle name="P6" fontName="Helvetica" fontSize="10.0" leading="13" spaceBefore="0.0" spaceAfter="6.0"/>
97
<paraStyle name="P7" fontName="Helvetica" fontSize="10.0" leading="13" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
98
<paraStyle name="P8" fontName="Helvetica" fontSize="10.0" leading="13" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
99
<paraStyle name="P9" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" spaceBefore="0.0" spaceAfter="6.0"/>
100
<paraStyle name="P10" fontName="Helvetica" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
101
<paraStyle name="P11" fontName="Helvetica" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
102
<paraStyle name="P12" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
103
<paraStyle name="P13" fontName="Helvetica" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
104
<paraStyle name="P14" fontName="Helvetica-Bold" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
105
<paraStyle name="P15" fontName="Helvetica-Bold" fontSize="5.0" leading="6" spaceBefore="0.0" spaceAfter="0.0"/>
106
<paraStyle name="P16" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
107
<paraStyle name="P17" fontName="Helvetica-Bold" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
108
<paraStyle name="P18" fontName="Helvetica"/>
109
<paraStyle name="P19" fontName="Helvetica-Bold" fontSize="20.0" leading="25" alignment="LEFT"/>
110
<paraStyle name="P20" fontName="Helvetica-BoldOblique" fontSize="14.0" leading="17" alignment="CENTER"/>
111
<paraStyle name="P21" fontName="Helvetica" fontSize="11.0" leading="14"/>
112
<paraStyle name="P22" fontName="Helvetica-Bold" fontSize="11.0" leading="14"/>
113
<paraStyle name="P23" fontName="Helvetica" fontSize="11.0" leading="14" alignment="LEFT"/>
114
<paraStyle name="P24" fontName="Helvetica-Bold" fontSize="12.0" leading="15" alignment="LEFT"/>
115
<paraStyle name="P25" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
116
<paraStyle name="P26" fontName="Helvetica-BoldOblique" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="6.0"/>
117
<paraStyle name="P27" fontName="Helvetica" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
118
<paraStyle name="P28" fontName="Helvetica-BoldOblique" fontSize="11.0" leading="14" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
119
<paraStyle name="P29" fontName="Helvetica-BoldOblique" fontSize="11.0" leading="14" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
120
<paraStyle name="P30" fontName="Helvetica" fontSize="10.0" leading="13" spaceBefore="0.0" spaceAfter="6.0"/>
121
<paraStyle name="P31" fontName="Helvetica" fontSize="10.0" leading="13" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
122
<paraStyle name="P32" fontName="Helvetica" fontSize="10.0" leading="13" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
123
<paraStyle name="P33" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" spaceBefore="0.0" spaceAfter="6.0"/>
124
<paraStyle name="P34" fontName="Helvetica" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
125
<paraStyle name="P35" fontName="Helvetica" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
126
<paraStyle name="P36" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
127
<paraStyle name="P37" fontName="Helvetica" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
128
<paraStyle name="P38" fontName="Helvetica-Bold" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
129
<paraStyle name="P39" fontName="Helvetica-Bold" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="0.0"/>
130
<paraStyle name="P40" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
131
<paraStyle name="P41" fontName="Helvetica-Bold" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
132
<paraStyle name="P42" fontName="Helvetica"/>
133
<paraStyle name="P43" fontName="Helvetica" fontSize="11.0" leading="14" alignment="LEFT"/>
134
<paraStyle name="P44" fontName="Helvetica-Bold" fontSize="20.0" leading="25" alignment="LEFT"/>
135
<paraStyle name="P45" fontName="Helvetica-Bold" fontSize="12.0" leading="15" alignment="LEFT"/>
136
<paraStyle name="P46" fontName="Helvetica-BoldOblique" fontSize="14.0" leading="17" alignment="CENTER"/>
137
<paraStyle name="P47" fontName="Helvetica" fontSize="11.0" leading="14"/>
138
<paraStyle name="P48" fontName="Helvetica-Bold" fontSize="11.0" leading="14"/>
139
<paraStyle name="Standard" fontName="Helvetica"/>
140
<paraStyle name="Text body" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
141
<paraStyle name="List" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
142
<paraStyle name="Table Contents" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
143
<paraStyle name="Table Heading" fontName="Helvetica" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
144
<paraStyle name="Caption" fontName="Helvetica" fontSize="10.0" leading="13" spaceBefore="6.0" spaceAfter="6.0"/>
145
<paraStyle name="Index" fontName="Helvetica"/>
148
<para style="P2">[[ repeatIn(objects,'o') ]]</para>
149
<para style="P2">[[ setLang(o.partner_id.lang) ]]</para>
150
<blockTable colWidths="295.0,232.0" style="Table1">
154
<font color="white"> </font>
158
<para style="P18">[[ o.partner_id.title or '' ]] [[ o.partner_id.name ]]</para>
159
<para style="P18">[[ o.address_invoice_id.title or '' ]] [[ o.address_invoice_id.name ]]</para>
160
<para style="P18">[[ o.address_invoice_id.street ]]</para>
161
<para style="P18">[[ o.address_invoice_id.street2 or '' ]]</para>
162
<para style="P18">[[ o.address_invoice_id.zip or '' ]] [[ o.address_invoice_id.city or '' ]]</para>
163
<para style="P18">[[ o.address_invoice_id.state_id and o.address_invoice_id.state_id.name or '' ]]</para>
164
<para style="P18">[[ o.address_invoice_id.country_id and o.address_invoice_id.country_id.name or '' ]]</para>
166
<font color="white"> </font>
168
<para style="P18">VAT : [[ o.partner_id.vat or removeParentNode('para') ]]</para>
173
<font color="white"> </font>
175
<para style="P24">Invoice [[ ((o.type == 'out_invoice' and (o.state == 'open' or o.state == 'paid')) or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
176
<para style="P24">PRO-FORMA [[ ((o.type == 'out_invoice' and o.state == 'proforma') or removeParentNode('para')) and '' ]]</para>
177
<para style="P24">Draft Invoice [[ ((o.type == 'out_invoice' and o.state == 'draft') or removeParentNode('para')) and '' ]]</para>
178
<para style="P24">Canceled Invoice [[ ((o.type == 'out_invoice' and o.state == 'cancel') or removeParentNode('para')) and '' ]]</para>
179
<para style="P24">Refund [[ (o.type=='out_refund' or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
180
<para style="P24">Supplier Refund [[ (o.type=='in_refund' or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
181
<para style="P24">Supplier Invoice [[ (o.type=='in_invoice' or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
183
<font color="white"> </font>
186
<font face="Helvetica">Concerne:</font>
187
<font face="Helvetica">[[o.name]]</font>
190
<font face="Helvetica">Invoice Date: </font>
191
<font face="Helvetica">[[ o.date_invoice and format_date(o.date_invoice) or '']]</font>
194
<font face="Helvetica">Remarque:</font>
195
<font face="Helvetica"> [[o.comment]]</font>
198
<font face="Helvetica">Condition</font>
199
<font face="Helvetica"> : [[o.payment_term and o.payment_term.name or '']]</font>
202
<font color="white"> </font>
204
<blockTable colWidths="216.0, 62.0, 62.0, 63.0, 40.0, 84.0" style="Table2">
207
<para style="P4">Description</para>
210
<para style="P5">TVA (%)</para>
213
<para style="P5">Quantity</para>
216
<para style="P5">Unit Price</para>
219
<para style="P5">Disc. (%)</para>
222
<para style="P5">Price </para>
227
<para style="P15">[[repeatIn(o.invoice_line,'l') ]]</para>
228
<blockTable colWidths="216.0, 62.0, 62.0, 63.0, 40.0, 84.0" style="Table3">
231
<para style="P6">[[ l.name ]]</para>
234
<para style="P8">[[ ', '.join([str((float(lt.amount) * 100)) for lt in l.invoice_line_tax_id]) ]]</para>
237
<para style="P7">[[ l.quantity ]] </para>
240
<para style="P7">[[ comma_me( l.price_unit) ]]</para>
243
<para style="P7">[[ round(l.discount) ]]</para>
246
<para style="P7">[[ comma_me(l.price_subtotal) ]] [[o.currency_id.code ]]</para>
250
<blockTable colWidths="28.0, 499.0" style="Table4">
253
<para style="P9">[[ note or removeParentNode('blockTable') ]]</para>
256
<xpre style="P16">[[ l.note ]]</xpre>
263
<blockTable colWidths="215.0,313.0" style="Table5">
266
<blockTable colWidths="81.0,73.0,60.0" style="Table6">
269
<para style="P10">Tax</para>
272
<para style="P11">Base</para>
275
<para style="P11">Amount</para>
280
<para style="P12"><font face="Helvetica">[[ repeatIn(o.tax_line,'t') ]]</font> [[ t.name ]]</para>
283
<para style="P14">[[ comma_me( t.base )]]</para>
286
<para style="P14">[[ comma_me( t.amount)]]</para>
292
<blockTable colWidths="214.0,95.0" style="Table7">
295
<para style="P13">Total (excl. taxes):</para>
298
<para style="P13">[[ comma_me(o.amount_untaxed) ]] [[o.currency_id.code ]]</para>
303
<para style="P13">Taxes:</para>
306
<para style="P13">[[ comma_me(o.amount_tax) ]] [[o.currency_id.code ]]</para>
311
<para style="P14">Total <font face="Helvetica">(incl. taxes):</font></para>
314
<para style="P17">[[ comma_me(o.amount_total) ]] [[o.currency_id.code ]]</para>
322
<currentFrame name="Frame1"/>
324
Width: 2.3inch, 5.9inch
327
<illustration width="210mm" height="106mm">
328
<setFont name="Helvetica" size="11"/>
329
<drawString x="2mm" y="93mm">[[ o.partner_bank and o.partner_bank.printBank and o.partner_bank.bank and o.partner_bank.bank.name or '' ]]</drawString>
330
<drawString x="2mm" y="88mm">[[ o.partner_bank and o.partner_bank.printBank and o.partner_bank.bank and o.partner_bank.bank.zip or '']] [[ o.partner_bank and o.partner_bank.printBank and o.partner_bank.bank and o.partner_bank.bank.city or '']]</drawString>
332
<drawString x="62mm" y="93mm">[[ o.partner_bank and o.partner_bank.printBank and o.partner_bank.bank and o.partner_bank.bank.name or '' ]]</drawString>
333
<drawString x="62mm" y="88mm">[[ o.partner_bank and o.partner_bank.printBank and o.partner_bank.bank and o.partner_bank.bank.zip or '']] [[ o.partner_bank and o.partner_bank.printBank and o.partner_bank.bank and o.partner_bank.bank.city or '']]</drawString>
334
<drawString x="2mm" y="78mm"> [[user.company_id.name]]</drawString>
335
<drawString x="2mm" y="73mm"> [[ user.company_id.partner_id.address[0].street ]]</drawString>
336
<drawString x="2mm" y="68mm"> [[ (user.company_id.partner_id.address[0].street2 or '')]]</drawString>
337
<drawString x="2mm" y="63mm"> [[ user.company_id.partner_id.address[0].zip ]] [[ user.company_id.partner_id.address[0].city ]]</drawString>
339
<drawString x="62mm" y="78mm">[[user.company_id.name]]</drawString>
340
<drawString x="62mm" y="73mm">[[ user.company_id.partner_id.address[0].street ]]</drawString>
341
<drawString x="62mm" y="68mm">[[ (user.company_id.partner_id.address[0].street2 or '')]]</drawString>
342
<drawString x="62mm" y="63mm">[[ user.company_id.partner_id.address[0].zip ]] [[ user.company_id.partner_id.address[0].city ]]</drawString>
344
<setFont name="ocrb" size="9"/>
346
<drawString x="2mm" y="35mm"> [[ o.partner_id.name ]]</drawString>
347
<drawString x="2mm" y="30mm"> [[ o.address_invoice_id.street ]]</drawString>
348
<drawString x="2mm" y="25mm"> [[ (o.address_invoice_id.street2 or '')]]</drawString>
349
<drawString x="2mm" y="20mm"> [[ o.address_invoice_id.zip ]] [[ o.address_invoice_id.city ]]</drawString>
351
<drawString x="2mm" y="40mm"> [[ _get_ref(o) ]]</drawString>
353
<drawString x="126mm" y="50mm">[[ o.partner_id.name ]]</drawString>
354
<drawString x="126mm" y="45mm">[[ o.address_invoice_id.street ]]</drawString>
355
<drawString x="126mm" y="40mm">[[ (o.address_invoice_id.street2 or '')]]</drawString>
356
<drawString x="126mm" y="35mm">[[ o.address_invoice_id.zip ]] [[ o.address_invoice_id.city ]]</drawString>
359
<setFont name="ocrb" size="11"/>
361
<drawString x="124mm" y="67mm">[[ _space(_get_ref(o)) ]]</drawString>
363
<setFont name="ocrb" size="12"/>
364
<drawRightString x="52 mm" y="59.3mm">[[ o.partner_bank and o.partner_bank.printAccount and o.partner_bank.bvr_number or '' ]]</drawRightString>
365
<drawRightString x="112mm" y="59.3mm">[[ o.partner_bank and o.partner_bank.printAccount and o.partner_bank.bvr_number or '' ]]</drawRightString>
366
<drawRightString x="42mm" y="50mm">[[ _space(('%.2f' % o.amount_total)[:-3], 1) + ' ' ]]</drawRightString>
367
<drawRightString x="104mm" y="50mm">[[ _space(('%.2f' % o.amount_total)[:-3], 1) + ' ' ]]</drawRightString>
369
<drawRightString x="58mm" y="50mm">[[ _space(('%.2f' % o.amount_total)[-2:], 1) + ' ' ]]</drawRightString>
370
<drawRightString x="119mm" y="50mm">[[ _space(('%.2f' % o.amount_total)[-2:], 1) + ' ' ]]</drawRightString>
374
Exact value: y=17.6mm
377
<setFont name="ocrb" size="11.5"/>
378
<drawRightString x="195mm" y="15mm">[[mod10r('01'+str('%.2f' % o.amount_total).replace('.','').rjust(10,'0'))]]>[[ _get_ref(o) ]]+ [[o.partner_bank.bvr_number.split('-')[0]+(str(o.partner_bank.bvr_number.split('-')[1])).rjust(6,'0')+o.partner_bank.bvr_number.split('-')[2] ]]></drawRightString>
b'\\ No newline at end of file'