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" />
6 <template pageSize="(210.0mm,297.0mm)" title="Test" author="Martin Simon" allowSplitting="20">
7 <pageTemplate id="first">
8 <frame id="first" x1="24.0" y1="111.5mm" width="190mm" height="142mm" last="1"/>
10 <image x="13.15cm" y="25.5cm" height="2.05cm" >[[company.logo or '']]</image>
11 <setFont name="Helvetica" size="7"/>
14 expr="{'height':str(111+(company.bvr_delta_vert or 0.0))+'mm', 'x1': str((company.bvr_delta_horz or 0.0))+'mm'}"
22 <blockTableStyle id="Standard_Outline">
23 <blockAlignment value="LEFT"/>
24 <blockValign value="TOP"/>
26 <blockTableStyle id="Tableau2">
27 <blockAlignment value="LEFT"/>
28 <blockValign value="TOP"/>
30 <blockTableStyle id="Tableau6">
31 <blockAlignment value="LEFT"/>
32 <blockValign value="TOP"/>
33 <blockBackground colorName="#e6e6e6" start="0,0" stop="4,0"/>
34 <blockRightPadding length="0.0" />
36 <blockTableStyle id="Tableau7">
37 <blockAlignment value="LEFT"/>
38 <blockValign value="TOP"/>
39 <blockBottomPadding length="0.0" />
40 <blockRightPadding length="0.0" />
42 <blockTableStyle id="Tableau8">
43 <blockAlignment value="LEFT"/>
44 <blockValign value="TOP"/>
45 <blockLeading length="0.0" />
46 <blockTopPadding length="0.0" />
48 <blockTableStyle id="Tableau3">
49 <blockRightPadding length="0.0" />
50 <blockAlignment value="LEFT"/>
51 <blockValign value="TOP"/>
52 <blockBackground colorName="#e6e6e6" start="0,1" stop="2,1"/>
54 <blockTableStyle id="Tableau4">
55 <blockAlignment value="LEFT"/>
56 <blockValign value="TOP"/>
57 <blockBackground colorName="#e6e6e6" start="0,0" stop="2,0"/>
59 <blockTableStyle id="Tableau5">
60 <blockAlignment value="LEFT"/>
61 <blockValign value="TOP"/>
64 <paraStyle name="all" alignment="justify" fontSize="9.0"/>
66 <paraStyle name="P1" fontName="Helvetica" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="6.0"/>
67 <paraStyle name="P2" fontName="Helvetica" fontSize="9.0" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
68 <paraStyle name="P3" fontName="Helvetica" fontSize="9.0" leading="14" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
69 <paraStyle name="P4" fontName="Helvetica" fontSize="9.0" spaceBefore="0.0" spaceAfter="6.0"/>
70 <paraStyle name="P5" fontName="Helvetica" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
71 <paraStyle name="P6" fontName="Helvetica" fontSize="9.0" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
72 <paraStyle name="P7" fontName="Helvetica" alignment="RIGHT" fontSize="9.0" spaceBefore="0.0" spaceAfter="3.0"/>
73 <paraStyle name="Table Contents" fontName="Helvetica" fontSize="9.0" spaceBefore="3.0" spaceAfter="0.0"/>
74 <paraStyle name="P8" fontName="Helvetica" leading="7" fontSize="7.0" spaceBefore="0.0" spaceAfter="0.0"/>
75 <paraStyle name="P9" fontName="Helvetica" fontSize="9.0" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
76 <paraStyle name="P10" fontName="Helvetica-Bold" fontSize="9.0" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
77 <paraStyle name="P11" fontName="Helvetica" fontSize="9.0" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
78 <paraStyle name="P12" fontName="Helvetica" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
79 <paraStyle name="P13" fontName="Helvetica" fontSize="9.0" leading="17" alignment="LEFT"/>
80 <paraStyle name="P14" fontName="Helvetica" fontSize="9.0" leading="17" alignment="CENTER"/>
81 <paraStyle name="P15" fontName="Helvetica" fontSize="9.0" leading="14"/>
82 <paraStyle name="P16" fontName="Helvetica" fontSize="9.0" leading="12" alignment="LEFT"/>
83 <paraStyle name="P17" fontName="Helvetica-Bold" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
84 <paraStyle name="P19" fontName="Helvetica" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
85 <paraStyle name="P20" fontName="Helvetica-Bold" fontSize="16.0" leading="25" alignment="LEFT"/>
86 <paraStyle name="P21" fontName="Helvetica" fontSize="16.0" leading="25" alignment="LEFT"/>
87 <paraStyle name="P22" fontName="Helvetica" fontSize="9.0" leading="14" alignment="LEFT"/>
88 <paraStyle name="P23" fontName="Helvetica-Bold" fontSize="9.0" leading="14" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
89 <paraStyle name="P24" fontName="Helvetica-Bold" fontSize="9.0" leading="14" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
90 <paraStyle name="Standard" fontName="Helvetica"/>
91 <paraStyle name="StandardBold" fontName="Helvetica-Bold"/>
92 <paraStyle name="Text body" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
93 <paraStyle name="List" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
94 <paraStyle name="Table Heading" fontName="Helvetica" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
95 <paraStyle name="Caption" fontName="Helvetica" fontSize="9.0" leading="13" spaceBefore="6.0" spaceAfter="6.0"/>
96 <paraStyle name="Index" fontName="Helvetica"/>
99 <para style="P1">[[ repeatIn(objects,'o') ]]</para>
100 <para style="P1">[[ setLang(o.partner_id.lang) ]]</para>
101 <para style="Standard">[[ o.partner_id.title or '' ]][[ o.partner_id.name ]]</para>
102 <para style="StandardBold">[[ o.address_invoice_id.title or '' ]] [[ o.address_invoice_id.name ]]</para>
103 <para style="Standard">[[ o.address_invoice_id.street ]]</para>
104 <para style="Standard">[[ o.address_invoice_id.street2 or '' ]]</para>
105 <para style="Standard">[[ o.address_invoice_id.zip or '' ]] [[ o.address_invoice_id.city or '' ]]</para>
106 <para style="Standard"><font color="white"> </font></para>
107 <para style="Standard"><font color="white"> </font></para>
109 <para style="P20">Invoice [[ ((o.type == 'out_invoice' and (o.state == 'open' or o.state == 'paid')) or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
110 <para style="P20">Deposit [[ ((o.type == 'out_deposit' and (o.state == 'open' or o.state == 'paid')) or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
111 <para style="P20">PRO-FORMA [[ ((o.type == 'out_invoice' and o.state == 'proforma') or removeParentNode('para')) and '' ]]</para>
112 <para style="P20">Draft Invoice [[ ((o.type == 'out_invoice' and o.state == 'draft') or removeParentNode('para')) and '' ]]</para>
113 <para style="P20">Canceled Invoice [[ ((o.type == 'out_invoice' and o.state == 'cancel') or removeParentNode('para')) and '' ]]</para>
114 <para style="P20">Refund [[ (o.type=='out_refund' or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
115 <para style="P20">Supplier Refund [[ (o.type=='in_refund' or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
117 <font face="Helvetica">Supplier Invoice [[ (o.type=='in_invoice' or removeParentNode('para')) and '' ]]</font>
118 <font face="Helvetica">[[ o.number ]]</font>
124 <font color="white"> </font>
126 <blockTable colWidths="8cm,8cm" style="Tableau7">
130 <font face="Helvetica">Invoice Date: </font>
131 <font face="Helvetica">[[ formatLang(o.date_invoice, date=True) ]]</font>
136 <font>[[ (o.payment_term and o.payment_term.name) or '' ]]</font>
137 <font>[[ (o.date_due and o.date_invoice) and removeParentNode('font') ]], until the [[ formatLang(o.date_due,date=True) ]]</font>
143 <para style="Standard">
144 <font color="white"> </font>
146 <blockTable colWidths="7.5cm,2.5cm,3cm,3cm" style="Tableau6">
149 <para style="P23">Description</para>
152 <para style="P24">Quantity</para>
155 <para style="P24">Unit Price</para>
158 <para style="P24">Price</para>
162 <section>[[repeatIn(o.invoice_line,'l') ]]
163 <para style="P17"></para>
165 <blockTable colWidths="7.5cm,2.5cm,3cm,3cm" style="Tableau7">
168 <para style="Table Contents">[[ l.name ]]</para>
171 <para style="P7">[[ '%.2f' % l.quantity ]] [[l.uos_id and l.uos_id.name or '' ]]</para>
174 <para style="P7">[[ formatLang(l.price_unit) ]]</para>
177 <para style="P7">[[ formatLang(l.price_subtotal) ]] [[o.currency_id.code ]]</para>
182 <section> [[ repeatIn((l.note ) or [], 'note') ]]
183 <blockTable colWidths="0.3cm,15.7cm" style="Tableau8">
187 <para style="P8"></para>
190 <para style="P8">[[ note or removeParentNode('blockTable') ]]</para>
197 <font color="white"> </font>
199 <blockTable colWidths="9cm,7cm" style="Tableau3">
202 <blockTable colWidths="3.2cm,3.1cm,2.7cm" style="Tableau4">
205 <para style="P9">Tax</para>
208 <para style="P7">Base</para>
211 <para style="P7">Amount</para>
216 <para style="P4"><font face="Helvetica">[[ repeatIn(o.tax_line,'t') ]]</font> [[ t.name ]]</para>
219 <para style="P10">[[ formatLang(t.base) ]]</para>
222 <para style="P10">[[ formatLang(t.amount)]]</para>
228 <blockTable colWidths="4cm,3cm" style="Tableau5">
231 <para style="P6">Total (excl. taxes):</para>
234 <para style="P11">[[ formatLang(o.amount_untaxed) ]] [[o.currency_id.code ]]</para>
239 <para style="P6">Taxes:</para>
242 <para style="P11">[[ formatLang(o.amount_tax) ]] [[o.currency_id.code ]]</para>
247 <para style="P10">Total <font face="Helvetica">(incl. taxes):</font></para>
250 <para style="P10">[[ formatLang(o.amount_total) ]] [[o.currency_id.code ]]</para>
257 <para style="P17"><font color="white"></font></para>
258 <para style="P16">Avec nos vifs remerciements,</para>
259 <para style="P17"><font color="white"></font></para>
262 <currentFrame name="Frame1"/>
264 Width: 2.3inch, 5.9inch
267 <illustration width="210mm" height="106mm">
268 <setFont name="Helvetica" size="11"/>
269 <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>
270 <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>
272 <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>
273 <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>
274 <drawString x="2mm" y="78mm"> [[user.company_id.name]]</drawString>
275 <drawString x="2mm" y="73mm"> [[ user.company_id.partner_id.address[0].street ]]</drawString>
276 <!-- <drawString x="2mm" y="68mm"> [[ (user.company_id.partner_id.address[0].street2 or '')]]</drawString> -->
277 <drawString x="2mm" y="68mm"> [[ user.company_id.partner_id.address[0].zip ]] [[ user.company_id.partner_id.address[0].city ]]</drawString>
279 <drawString x="62mm" y="78mm">[[user.company_id.name]]</drawString>
280 <drawString x="62mm" y="73mm">[[ user.company_id.partner_id.address[0].street ]]</drawString>
281 <!-- <drawString x="62mm" y="68mm">[[ (user.company_id.partner_id.address[0].street2 or '')]]</drawString> -->
282 <drawString x="62mm" y="68mm">[[ user.company_id.partner_id.address[0].zip ]] [[ user.company_id.partner_id.address[0].city ]]</drawString>
284 <setFont name="ocrb" size="9"/>
286 <drawString x="2mm" y="35mm"> [[ o.partner_id.name ]]</drawString>
287 <drawString x="2mm" y="30mm"> [[ o.address_invoice_id.street ]]</drawString>
288 <drawString x="2mm" y="25mm"> [[ (o.address_invoice_id.street2 or '')]]</drawString>
289 <drawString x="2mm" y="20mm"> [[ o.address_invoice_id.zip ]] [[ o.address_invoice_id.city ]]</drawString>
291 <drawString x="2mm" y="40mm"> [[ _get_ref(o) ]]</drawString>
293 <drawString x="126mm" y="50mm">[[ o.partner_id.name ]]</drawString>
294 <drawString x="126mm" y="45mm">[[ o.address_invoice_id.street ]]</drawString>
295 <drawString x="126mm" y="40mm">[[ (o.address_invoice_id.street2 or '')]]</drawString>
296 <drawString x="126mm" y="35mm">[[ o.address_invoice_id.zip ]] [[ o.address_invoice_id.city ]]</drawString>
299 <setFont name="ocrb" size="11"/>
301 <drawString x="124mm" y="67mm">[[ _space(_get_ref(o)) ]]</drawString>
303 <setFont name="ocrb" size="12"/>
304 <drawRightString x="52 mm" y="59.3mm">[[ o.partner_bank and o.partner_bank.printaccount and o.partner_bank.bvr_number or '' ]]</drawRightString>
305 <drawRightString x="112mm" y="59.3mm">[[ o.partner_bank and o.partner_bank.printaccount and o.partner_bank.bvr_number or '' ]]</drawRightString>
306 <drawRightString x="42mm" y="50mm">[[ _space(('%.2f' % o.amount_total)[:-3], 1) + ' ' ]]</drawRightString>
307 <drawRightString x="104mm" y="50mm">[[ _space(('%.2f' % o.amount_total)[:-3], 1) + ' ' ]]</drawRightString>
309 <drawRightString x="58mm" y="50mm">[[ _space(('%.2f' % o.amount_total)[-2:], 1) + ' ' ]]</drawRightString>
310 <drawRightString x="119mm" y="50mm">[[ _space(('%.2f' % o.amount_total)[-2:], 1) + ' ' ]]</drawRightString>
314 Exact value: y=17.6mm
317 <setFont name="ocrb" size="12"/>
318 <drawRightString x="197.5mm" y="17mm">[[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>