2
<document filename="test.pdf">
4
<registerFont fontName="ocrb" fontFile="addons/l10n_ch/report/ocrbb.ttf"/>
7
<template pageSize="(210.0mm,297.0mm)" title="Test" author="Martin Simon" allowSplitting="20">
8
<pageTemplate id="first">
10
<setFont name="Helvetica" size="30"/>
11
<fill color="darkblue"/>
12
<stroke color="darkblue"/>
13
<drawString x="1cm" y="27.8cm">[[ company.partner_id.name ]]</drawString>
14
<lines>1cm 27.7cm 20cm 27.7cm</lines>
16
<setFont name="Helvetica" size="10"/>
17
<drawRightString x="20cm" y="27.8cm">[[ company.rml_header1 ]]</drawRightString>
19
<drawString x="1cm" y="27.1cm">[[ company.partner_id.address[0].street ]]</drawString>
20
<drawString x="1cm" y="26.7cm">[[ company.partner_id.address[0].zip ]] [[ company.partner_id.address[0].city ]]</drawString>
21
<drawString x="1cm" y="26.2cm">Phone:</drawString>
22
<drawRightString x="7cm" y="26.2cm">[[ company.partner_id.address[0].phone ]]</drawRightString>
24
<drawString x="1cm" y="25.8cm">Mail:</drawString>
25
<drawRightString x="7cm" y="25.8cm">[[ company.partner_id.address[0].email ]]</drawRightString>
26
<lines>1cm 25.7cm 7cm 25.7cm</lines>
30
<frame id="first" x1="24.0" y1="111.5mm" width="190mm" height="142mm" last="1"/>
32
expr="{'height':str(111+(company.bvr_delta_vert or 0.0))+'mm', 'x1': str((company.bvr_delta_horz or 0.0))+'mm'}"
41
<blockTableStyle id="Standard_Outline">
42
<blockAlignment value="LEFT"/>
43
<blockValign value="TOP"/>
45
<blockTableStyle id="Tableau2">
46
<blockAlignment value="LEFT"/>
47
<blockValign value="TOP"/>
49
<blockTableStyle id="Tableau6">
50
<blockAlignment value="LEFT"/>
51
<blockValign value="TOP"/>
52
<lineStyle kind="GRID" colorName="black"/>
53
<blockBackground colorName="#e6e6e6" start="0,0" stop="0,0"/>
54
<blockBackground colorName="#e6e6e6" start="1,0" stop="1,0"/>
55
<blockBackground colorName="#e6e6e6" start="2,0" stop="2,0"/>
56
<blockBackground colorName="#e6e6e6" start="3,0" stop="3,0"/>
57
<blockBackground colorName="#e6e6e6" start="4,0" stop="4,0"/>
58
<blockBackground colorName="#e6e6e6" start="5,0" stop="5,0"/>
60
<blockTableStyle id="Tableau7">
61
<blockAlignment value="LEFT"/>
62
<blockValign value="TOP"/>
64
<blockTableStyle id="Tableau8">
65
<blockAlignment value="LEFT"/>
66
<blockValign value="TOP"/>
68
<blockTableStyle id="Tableau3">
69
<blockAlignment value="LEFT"/>
70
<blockValign value="TOP"/>
71
<blockBackground colorName="#e6e6e6" start="0,1" stop="0,1"/>
72
<blockBackground colorName="#e6e6e6" start="1,1" stop="1,1"/>
73
<blockBackground colorName="#e6e6e6" start="2,1" stop="2,1"/>
75
<blockTableStyle id="Tableau4">
76
<blockAlignment value="LEFT"/>
77
<blockValign value="TOP"/>
78
<blockBackground colorName="#e6e6e6" start="0,0" stop="0,0"/>
79
<blockBackground colorName="#e6e6e6" start="1,0" stop="1,0"/>
80
<blockBackground colorName="#e6e6e6" start="2,0" stop="2,0"/>
82
<blockTableStyle id="Tableau5">
83
<blockAlignment value="LEFT"/>
84
<blockValign value="TOP"/>
87
<paraStyle name="all" alignment="justify"/>
89
<paraStyle name="P1" fontName="Times-Roman" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="6.0"/>
90
<paraStyle name="P2" fontName="Times-Roman" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
91
<paraStyle name="P3" fontName="Times-Roman" fontSize="11.0" leading="14" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
92
<paraStyle name="P4" fontName="Times-Roman" fontSize="11.0" leading="14" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
93
<paraStyle name="P5" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
94
<paraStyle name="P6" fontName="Times-Roman" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
95
<paraStyle name="P7" fontName="Times-Roman" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
96
<paraStyle name="P8" fontName="Times-Roman" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
97
<paraStyle name="P9" fontName="Times-Italic" fontSize="8.0" leading="10" spaceBefore="0.0" spaceAfter="6.0"/>
98
<paraStyle name="P10" fontName="Times-Roman" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
99
<paraStyle name="P11" fontName="Times-Bold" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
100
<paraStyle name="P12" fontName="Times-Roman" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
101
<paraStyle name="P13" fontName="Times-Roman" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
102
<paraStyle name="P14" fontName="Times-Roman" fontSize="14.0" leading="17" alignment="LEFT"/>
103
<paraStyle name="P15" fontName="Times-Roman" fontSize="14.0" leading="17" alignment="CENTER"/>
104
<paraStyle name="P16" fontName="Times-Roman" fontSize="20.0" leading="25" alignment="LEFT"/>
105
<paraStyle name="P17" fontName="Times-Roman" fontSize="11.0" leading="14"/>
106
<paraStyle name="P18" fontName="Times-Roman" fontSize="11.0" leading="14"/>
107
<paraStyle name="P19" fontName="Times-Roman" fontSize="11.0" leading="14" alignment="LEFT"/>
108
<paraStyle name="P20" fontName="Times-Roman" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="0.0"/>
109
<paraStyle name="P21" fontName="Times-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
110
<paraStyle name="P22" fontName="Times-Roman" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
111
<paraStyle name="P23" fontName="Times-Roman" fontSize="20.0" leading="25" alignment="LEFT"/>
112
<paraStyle name="Standard" fontName="Times-Roman"/>
113
<paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
114
<paraStyle name="List" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
115
<paraStyle name="Table Contents" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
116
<paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
117
<paraStyle name="Caption" fontName="Times-Roman" fontSize="10.0" leading="13" spaceBefore="6.0" spaceAfter="6.0"/>
118
<paraStyle name="Index" fontName="Times-Roman"/>
122
<para style="P1">[[ repeatIn(objects,'o') ]]</para>
123
<para style="P1">[[ setLang(o.partner_id.lang) ]]</para>
124
<blockTable colWidths="295.0,232.0" style="Tableau2">
128
<font color="white"> </font>
132
<para style="Standard">[[ o.partner_id.title or '' ]] [[ o.partner_id.name ]]</para>
133
<para style="Standard">[[ o.address_invoice_id.title or '' ]] [[ o.address_invoice_id.name ]]</para>
134
<para style="Standard">[[ o.address_invoice_id.street ]]</para>
135
<para style="Standard">[[ o.address_invoice_id.street2 or '' ]]</para>
136
<para style="Standard">[[ o.address_invoice_id.zip or '' ]] [[ o.address_invoice_id.city or '' ]]</para>
137
<para style="Standard">[[ o.address_invoice_id.state_id and o.address_invoice_id.state_id.name or '' ]]</para>
138
<para style="Standard">[[ o.address_invoice_id.country_id and o.address_invoice_id.country_id.name or '' ]]</para>
139
<para style="Standard">
140
<font color="white"> </font>
142
<para style="Standard">Tel. : [[ o.address_invoice_id.phone or removeParentNode('para') ]]</para>
143
<para style="Standard">Fax : [[ o.address_invoice_id.fax or removeParentNode('para') ]]</para>
144
<para style="Standard">VAT : [[ o.partner_id.vat or removeParentNode('para') ]]</para>
149
<font color="white"> </font>
152
<font face="Times-Roman">Invoice [[ ((o.type == 'out_invoice' and (o.state == 'open' or o.state == 'paid')) or removeParentNode('para')) and '' ]] [[ o.number ]]</font>
155
<font face="Times-Roman">PRO-FORMA [[ ((o.type == 'out_invoice' and o.state == 'proforma') or removeParentNode('para')) and '' ]]</font>
158
<font face="Times-Roman">Draft Invoice [[ ((o.type == 'out_invoice' and o.state == 'draft') or removeParentNode('para')) and '' ]]</font>
161
<font face="Times-Roman">Canceled Invoice [[ ((o.type == 'out_invoice' and o.state == 'cancel') or removeParentNode('para')) and '' ]]</font>
164
<font face="Times-Roman">Refund [[ (o.type=='out_refund' or removeParentNode('font')) and '' ]] [[ o.number ]]</font>
167
<font face="Times-Roman">Supplier Refund [[ (o.type=='in_refund' or removeParentNode('para')) and '' ]] [[ o.number ]]</font>
170
<font face="Times-Roman">Supplier Invoice [[ (o.type=='in_invoice' or removeParentNode('para')) and '' ]]</font>
171
<font face="Times-Roman">[[ o.number ]]</font>
174
<font color="white"> </font>
177
<font face="Times-Roman">Document</font>
178
<font face="Times-Roman">:</font>
179
<font face="Times-Roman">[[o.name]]</font>
182
<font face="Times-Roman">Invoice Date: </font>
183
<font face="Times-Roman">[[o.date_invoice]]</font>
185
<para style="P18"><font face="Times-Roman">Customer Ref:</font> [[ o.address_invoice_id.partner_id.ref or '/' ]]</para>
186
<para style="Standard">
187
<font color="white"> </font>
189
<blockTable colWidths="216.0,62.0,62.0,62.0,51.0,74.0" style="Tableau6">
192
<para style="P3">Description</para>
195
<para style="P4">Taxes</para>
198
<para style="P4">Quantity</para>
201
<para style="P4">Unit Price</para>
204
<para style="P4">Disc. (%)</para>
207
<para style="P4">Price</para>
212
<para style="P20">[[repeatIn(o.invoice_line,'l') ]]</para>
213
<blockTable colWidths="216.0,62.0,62.0,62.0,51.0,74.0" style="Tableau7">
216
<para style="Table Contents">[[ l.name ]]</para>
219
<para style="P6">[[ ', '.join([lt.name for lt in l.invoice_line_tax_id]) ]]</para>
222
<para style="P8">[[ '%.2f' % l.quantity ]] [[l.uos_id and l.uos_id.name or '' ]]</para>
225
<para style="P8">[[ '%.2f' % l.price_unit ]]</para>
228
<para style="P8">[[ l.discount and '%.2f' % (l.discount) or '' ]] </para>
231
<para style="P8">[[ '%.2f' %l.price_subtotal ]] [[o.currency_id.code ]]</para>
235
<blockTable colWidths="28.0,499.0" style="Tableau8">
238
<para style="P21">[[ repeatIn((l.note and l.note.splitlines()) or [], 'note') ]]</para>
241
<para style="P9">[[ note or removeParentNode('table') ]]</para>
246
<para style="Standard">
247
<font color="white"> </font>
249
<blockTable colWidths="215.0,313.0" style="Tableau3">
252
<blockTable colWidths="81.0,73.0,60.0" style="Tableau4">
255
<para style="P10">Tax</para>
258
<para style="P8">Base</para>
261
<para style="P8">Amount</para>
266
<para style="P5"><font face="Times-Roman">[[ repeatIn(o.tax_line,'t') ]]</font> [[ t.name ]]</para>
269
<para style="P11">[[ '%.2f' % t.base ]]</para>
272
<para style="P11">[[ '%.2f' % t.amount]]</para>
278
<blockTable colWidths="214.0,95.0" style="Tableau5">
281
<para style="P7">Total (excl. taxes):</para>
284
<para style="P12">[[ '%.2f' % o.amount_untaxed ]] [[o.currency_id.code ]]</para>
289
<para style="P7">Taxes:</para>
292
<para style="P12">[[ '%.2f' % o.amount_tax ]] [[o.currency_id.code ]]</para>
297
<para style="P13">Total <font face="Times-Roman">(incl. taxes):</font></para>
300
<para style="P22">[[ '%.2f' % o.amount_total ]] [[o.currency_id.code ]]</para>
304
<para style="Table Contents">
305
<font color="white"> </font>
310
<para style="P19">[[ format(o.comment or '') ]]</para>
312
<font color="white"> </font>
314
<para style="P19">[[ format((o.payment_term and o.payment_term.note) or '') ]]</para>
315
<currentFrame name="Frame1"/>
317
Width: 2.3inch, 5.9inch
320
<illustration width="210mm" height="106mm">
321
<setFont name="Helvetica" size="11"/>
322
<drawString x="2mm" y="78mm">[[ user.company_id.partner_id.name ]]</drawString>
323
<drawString x="2mm" y="73mm">[[ user.company_id.partner_id.address[0].street ]]</drawString>
324
<drawString x="2mm" y="68mm">[[ (user.company_id.partner_id.address[0].street2 or '')]]</drawString>
325
<drawString x="2mm" y="63mm">[[ user.company_id.partner_id.address[0].zip ]] [[ user.company_id.partner_id.address[0].city ]]</drawString>
327
<drawString x="62mm" y="78mm">[[ user.company_id.partner_id.name ]]</drawString>
328
<drawString x="62mm" y="73mm">[[ user.company_id.partner_id.address[0].street ]]</drawString>
329
<drawString x="62mm" y="68mm">[[ (user.company_id.partner_id.address[0].street2 or '')]]</drawString>
330
<drawString x="62mm" y="63mm">[[ user.company_id.partner_id.address[0].zip ]] [[ user.company_id.partner_id.address[0].city ]]</drawString>
332
<setFont name="ocrb" size="9"/>
334
<drawString x="2mm" y="35mm">[[ o.partner_id.name ]]</drawString>
335
<drawString x="2mm" y="30mm">[[ o.address_invoice_id.street ]]</drawString>
336
<drawString x="2mm" y="25mm">[[ (o.address_invoice_id.street2 or '')]]</drawString>
337
<drawString x="2mm" y="20mm">[[ o.address_invoice_id.zip ]] [[ o.address_invoice_id.city ]]</drawString>
339
<drawString x="2mm" y="40mm">[[ _get_ref(o) ]]</drawString>
341
<drawString x="126mm" y="50mm">[[ o.partner_id.name ]]</drawString>
342
<drawString x="126mm" y="45mm">[[ o.address_invoice_id.street ]]</drawString>
343
<drawString x="126mm" y="40mm">[[ (o.address_invoice_id.street2 or '')]]</drawString>
344
<drawString x="126mm" y="35mm">[[ o.address_invoice_id.zip ]] [[ o.address_invoice_id.city ]]</drawString>
347
<setFont name="ocrb" size="11"/>
348
<drawString x="124mm" y="67mm">[[ _space(_get_ref(o)) ]]</drawString>
350
<setFont name="ocrb" size="12"/>
352
<drawRightString x="42mm" y="50mm">[[ _space(('%.2f' % o.amount_total)[:-3], 1) + ' ' ]]</drawRightString>
353
<drawRightString x="104mm" y="50mm">[[ _space(('%.2f' % o.amount_total)[:-3], 1) + ' ' ]]</drawRightString>
355
<drawRightString x="58mm" y="50mm">[[ _space(('%.2f' % o.amount_total)[-2:], 1) + ' ' ]]</drawRightString>
356
<drawRightString x="119mm" y="50mm">[[ _space(('%.2f' % o.amount_total)[-2:], 1) + ' ' ]]</drawRightString>
360
Exact value: y=17.6mm
363
<setFont name="ocrb" size="11.5"/>
364
<drawRightString x="195mm" y="15mm">01[[mod10r('%.2f' % o.amount_total).rjust(12,'0').replace('.', '')]]>[[ _get_ref(o) ]]+ [[o.partner_bank.bvr_number.split('-')[0]+(o.partner_bank.bvr_number.split('-')[1]).rjust(6,'0')+o.partner_bank.bvr_number.split('-')[2] ]]></drawRightString>