07def34f488bf5a1b137985c27d604a406751790
[kivitendo-erp.git] / templates / print / f-tex / default.tex
1 % ----------------------------------------------------------
2 %  letter.tex
3 %  Globale Vorlage fuer Briefartige Documente LX-Office 2.6
4 %
5 %  Changelog: see gitlog
6    \newcommand{\ftLetterVersion}{1.2-u  (05.12.2012)}
7 %
8 %  Lizenz
9 %  http://www.gnu.de/licenses/gpl-3.0.html
10 %
11 %  Siehe ./README
12 %
13 %  Autor: Wulf Coulmann scripts_at_gpl.coulmann.de
14 %  Aufgebaut auf invoice.tex 0.1 kmk@lilalaser.de
15 %
16 % ----------------------------------------------------------
17
18 \documentclass[letter,fontsize=11pt]{scrlttr2}
19
20
21 \begingroup
22   \makeatletter
23   \@latex@warning@no@line{ #### this is default.tex \ftLetterVersion #####}
24 \endgroup
25
26
27 \usepackage{ifpdf}
28 \usepackage{graphicx}
29 \usepackage{german}
30 \usepackage{textcomp}
31 \usepackage{lastpage}
32 \usepackage{filecontents}
33 \usepackage{etex}
34 \usepackage{ltxtable}
35 \usepackage{tabularx}
36 \usepackage{longtable}
37 \usepackage{booktabs}
38 \usepackage{numprint}
39 \usepackage{xstring}
40 \newcommand{\leer}{}
41 \usepackage{zwischensumme}
42 \ifthenelse{\isundefined{\employeecountry}}{\input{mydata}}{}
43
44 %% meta infos
45 \newcommand{\docname}{<%template_meta.formname NOESCAPE%>}
46 \newcommand{\TemplateMetaLanguageDescription}{<%template_meta.language.description NOESCAPE%>}
47 \newcommand{\LangCode}{<%template_meta.language.template_code NOESCAPE%>}
48 \newcommand{\TemplateMetaLanguageOutputNumberformat}{<%template_meta.language.output_numberformat NOESCAPE%>}
49 \newcommand{\TemplateMetaLanguageOutputDateformat}{<%template_meta.language.output_dateformat NOESCAPE%>}
50 \newcommand{\TemplateMetaFormat}{<%template_meta.format NOESCAPE%>}
51 \newcommand{\TemplateMetaExtension}{<%template_meta.extension NOESCAPE%>}
52 \newcommand{\TemplateMetaMedia}{<%template_meta.media NOESCAPE%>}
53 \newcommand{\TemplateMetaPrinterDescription}{<%template_meta.printer.description NOESCAPE%>}
54 \newcommand{\TemplateMetaPrinterTemplateCode}{<%template_meta.printer.template_code NOESCAPE%>}
55
56 %%%%%%%%% Report-Variablen umsetzen, damit latex sie in lxbriefkopf.tex sieht.
57 %%%% Die eigenen Daten
58 \newcommand{\employeename}{<%employee_name%>}
59 \newcommand{\employeecompany}{<%employee_company%>}
60 \newcommand{\employeeaddress}{<%employee_address%>}
61 \newcommand{\employeetel}{<%employee_tel%>}
62 \newcommand{\employeefax}{<%employee_fax%>}
63 \newcommand{\employeecoustid}{<%employee_co_ustid%>}
64 \newcommand{\employeetaxnumber}{<%employee_taxnumber%>}
65 \newcommand{\media}{<%media%>}
66
67
68 %%%% Adressat
69 \newcommand{\name}{<%name%>}
70 \newcommand{\Shipname}{\ifthenelse{\equal{<%shiptoname%>}{\leer}}{<%name%>}{<%shiptoname%>}}
71 \newcommand{\departmentone}{<%department_1%>}
72 \newcommand{\departmenttwo}{<%department_2%>}
73 \newcommand{\cpgreeting}{<%cp_greeting%>}
74 \newcommand{\cptitle}{<%cp_title%>}
75 \newcommand{\cpgivenname}{<%cp_givenname%>}
76 \newcommand{\cpname}{<%cp_name%>}
77 \newcommand{\street}{<%street%>}
78 \newcommand{\Shipstreet}{\ifthenelse{\equal{<%shiptostreet%>}{\leer}}{<%street%>}{<%shiptostreet%>}}
79 \newcommand{\country}{<%country%>}
80 \newcommand{\Shipcountry}{<%shiptocountry%>}
81 \newcommand{\UstId}{<%ustid%>}
82 \newcommand{\zipcode}{<%zipcode%>}
83 \newcommand{\Shipzipcode}{\ifthenelse{\equal{<%shiptozipcode%>}{\leer}}{<%zipcode%>}{<%shiptozipcode%>}}
84 \newcommand{\city}{<%city%>}
85 \newcommand{\Shipcity}{\ifthenelse{\equal{<%shiptocity%>}{\leer}}{<%city%>}{<%shiptocity%>}}
86 \newcommand{\phone}{<%customerphone%>}
87 \newcommand{\fax}{<%customerfax%>}
88
89 %%%% Variablen, die sich auf das ganze Dokument beziehen
90 \newcommand{\kundennummer}{<%customernumber%>}
91 \newcommand{\vendornumber}{<%vendornumber%>}
92 \newcommand{\quonumber}{<%quonumber%>}                     % Angebotsnummer
93 \newcommand{\ordnumber}{<%ordnumber%>}                     % Auftragsnummer bei uns
94 \newcommand{\cusordnumber}{<%cusordnumber%>}               % Auftragsnummer beim Kunden
95 \newcommand{\invnumber}{<%invnumber%>}                     % Rechnungsnummer
96 \newcommand{\donumber}{<%donumber%>}                       % Lieferscheinnummer
97 %\newcommand{\docnumber}{Rechnungsnummer: \invnumber}
98 \newcommand{\quodate}{<%quodate%>}                         % Angebotsdatum
99 \newcommand{\orddate}{<%orddate%>}                         % Auftragsdatum
100 \newcommand{\reqdate}{<%reqdate%>}                         % gewuenschtes Lieferdatum
101 \newcommand{\deliverydate}{<%deliverydate%>}                % Lieferdatum
102 \newcommand{\invdate}{<%invdate%>}                         % Rechnungsdatum
103 \newcommand{\transdate}{<%transdate%>}                     % Lieferscheindatum
104 \newcommand{\terms}{<%terms%>}                             % Zahlungsfrist
105 \newcommand{\duedate}{<%duedate%>}                         % Fälligkeitsdatum
106 \newcommand{\invtotal}{<%invtotal NOFORMAT%>}              % Gesamtbetrag
107 \newcommand{\paid}{<%paid NOFORMAT%>}                      % Schon bezahlt
108 \newcommand{\total}{<%total NOFORMAT%>}                    % Restbetrag
109 \newcommand{\subtotal}{<%subtotal NOFORMAT%>}              % Restbetrag
110 \newcommand{\paymentterms}{<%payment_terms%>}              % Zahlungsbedingungen
111 \newcommand{\paymentPrivatEnd}{E}                          % Endung bei Privatkunden
112 \newcommand{\paymenttype}{<%payment_description%>}         % name der Zahlungs-art - fuer Steuerung brutto/netto
113
114
115 %%%% Lieferadresse
116 \newcommand{\shiptoname}{<%shiptoname%>}
117 \newcommand{\shiptocontact}{<%shiptocontact%>}
118 \newcommand{\shiptodepartmentone}{<%shiptodepartment_1%>}
119 \newcommand{\shiptodepartmenttwo}{<%shiptodepartment_2%>}
120 \newcommand{\shiptostreet}{<%shiptostreet%>}
121 \newcommand{\shiptocity}{<%shiptocity%>}
122 \newcommand{\shiptocountry}{<%shiptocountry%>}
123 \newcommand{\shiptophone}{<%shiptophone%>}
124 \newcommand{\shiptozipcode}{<%shiptozipcode%>}
125 \newcommand{\shiptofax}{<%shiptofax%>}
126
127 %%%% Die Waehrungsvariable in Waehrunszeichen umsetzen
128 \newcommand{\currency}{<%currency%>}
129 \ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{}
130 \ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{}
131 \ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{}
132 \ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{}
133
134 %%%%%%%%%%%%% Ende Reportvariablen-Umsetzung
135
136 \newcommand{\NoValue}{0}
137 \newcommand{\Picklist}{0}
138 \newcommand{\PurchaseOrder}{0}
139 \newcommand{\trash}{0}
140 \newcommand{\nonemptyline}[2]{\ifthenelse{\equal{#2}{\leer}}{}{#1#2~\\}}
141 \newcommand{\MyAdress}{\IfStrEq{\docname}{sales_delivery_order}{\Shipname~\\
142   % lieferadresse wenn Lieferschein
143     \nonemptyline{\cpgreeting{ }\cpgivenname{ }}{\cpname}
144     \nonemptyline{}{\departmentone}
145     \Shipstreet ~\\
146     \Shipzipcode{ }\Shipcity
147     \ifthenelse{\equal{\Shipcountry}{\employeecountry}}{}{~\\ \Shipcountry}   % Laenderangabe wird nur gedruckt,
148     ~                                             % wenn der Empfaenger nicht im eigenen Land sitzt.
149   }{
150     \name~\\
151     \nonemptyline{\cpgreeting{ }\cpgivenname{ }}{\cpname}
152     \nonemptyline{}{\departmentone}
153     \street ~\\
154     \zipcode{ }\city
155     \ifthenelse{\equal{\country} {\employeecountry}}{}{
156          \ifthenelse{\equal{\country}{\leer}}{}{ ~\\ \country} } % Laenderangabe wird nur gedruckt,
157     ~                                           % wenn der Empfaenger nicht im eigenen Land sitzt.
158   }
159 }
160
161
162
163 \begin{document}
164
165 %%% dei folgenden Funktionen lesen den Dokumentennamen aus und _muessen_nach_ \begin{dokument} stehen.
166
167 % ==== statische Begriffe in der aktuellen Sprache einlesen
168 \input{translations}
169
170
171 \ifthenelse{\bgPdfEmailOnly = 1 }{
172   \ifthenelse{\equal{\media}{email}}{
173   }{
174     \firsthead{}
175     \watermark{}
176   }
177 }{}
178
179
180 % ==== dokumenttyp ermitteln
181 \IfStrEq{\docname}{pick_list}{
182   % Sammelliste
183   \setkomavar{backaddress}{\DeliveryAddress}
184   \firsthead{
185       \hspace{-3mm}
186      \resizebox{\useplength{firstheadwidth}-50mm}{!}{%
187            \huge \TitlePicklist
188     }
189   }
190   \renewcommand{\NoValue}{1}
191   \renewcommand{\Picklist}{1}
192   \newcommand{\doctype}{}
193   \newcommand{\MyDocdate}{\transdate}
194   \newcommand{\DocNoTitle}{\DelorderNumber}
195   \newcommand{\docnumber}{\donumber}
196   \renewcommand{\deliverydate}{\transdate}
197   % 2. Documentnummer
198     \ifthenelse{\equal{\ordnumber}{\leer}}{
199     % wenn keine Auftragsnummer -> Angebotsnummer
200       \newcommand{\SecNoTitle}{\QuotationNumber}
201       \newcommand{\secnumber}{\quonumber}
202     }{
203       \newcommand{\SecNoTitle}{\OrderNumber}
204       \newcommand{\secnumber}{\ordnumber}
205     }
206 }{}
207 \IfStrEq{\docname}{sales_delivery_order}{
208   % Lieferschein
209   \renewcommand{\NoValue}{1}
210   \newcommand{\doctype}{\TitleDelorder}
211   \newcommand{\MyDocdate}{\transdate}
212   \newcommand{\DocNoTitle}{\DelorderNumber}
213   \newcommand{\docnumber}{\donumber}
214   \renewcommand{\deliverydate}{\transdate}
215   % 2. Documentnummer
216     \ifthenelse{\equal{\ordnumber}{\leer}}{
217     % wenn keine Auftragsnummer -> Angebotsnummer
218       \newcommand{\SecNoTitle}{\QuotationNumber}
219       \newcommand{\secnumber}{\quonumber}
220     }{
221       \newcommand{\SecNoTitle}{\OrderNumber}
222       \newcommand{\secnumber}{\ordnumber}
223     }
224 }{}
225 \IfStrEq{\docname}{invoice}{
226   % Rechnung
227   \newcommand{\doctype}{\TitleInv}
228   \newcommand{\MyDocdate}{\invdate}
229   \newcommand{\DocNoTitle}{\InvNumber}
230   \newcommand{\docnumber}{\invnumber}
231   % 2. Documentnummer
232     \ifthenelse{\equal{\ordnumber}{\leer}}{
233     % wenn keine Auftragsnummer -> Angebotsnummer
234       \newcommand{\SecNoTitle}{\QuotationNumber}
235       \newcommand{\secnumber}{\quonumber}
236     }{
237       \newcommand{\SecNoTitle}{\OrderNumber}
238       \newcommand{\secnumber}{\ordnumber}
239     }
240 }{}
241 \IfStrEq{\docname}{proforma}{
242   \newcommand{\doctype}{\TitleProforma}
243   \newcommand{\MyDocdate}{\invdate}
244   \newcommand{\DocNoTitle}{\InvNumber}
245   \newcommand{\docnumber}{\invnumber}
246   % 2. Documentnummer
247     \ifthenelse{\equal{\ordnumber}{\leer}}{
248     % wenn keine Auftragsnummer -> Angebotsnummer
249       \newcommand{\SecNoTitle}{\QuotationNumber}
250       \newcommand{\secnumber}{\quonumber}
251     }{
252       \newcommand{\SecNoTitle}{\OrderNumber}
253       \newcommand{\secnumber}{\ordnumber}
254     }
255 }{}
256 \IfStrEq{\docname}{purchase_order}{
257   \renewcommand{\PurchaseOrder}{1}
258   \newcommand{\doctype}{\TitlePurchaseOrder}
259   \newcommand{\MyDocdate}{\orddate}
260   \newcommand{\DocNoTitle}{\RequestOrderNumber}
261   \newcommand{\docnumber}{\ordnumber}
262   \renewcommand{\deliverydate}{\reqdate}
263   \renewcommand{\DelDate}{\ReqByTitle}
264   \renewcommand{\CustomerID}{\VendorID}
265   \renewcommand{\kundennummer}{\vendornumber}
266   \newcommand{\SecNoTitle}{}
267   \newcommand{\secnumber}{}
268 }{}
269 \IfStrEq{\docname}{credit_note}{
270   \newcommand{\doctype}{\TitleCreditNote}
271   \newcommand{\MyDocdate}{\invdate}
272   \newcommand{\DocNoTitle}{\CredNumber}
273   \newcommand{\docnumber}{\invnumber}
274   % keine 2. Documentnummer
275     \newcommand{\SecNoTitle}{}
276     \newcommand{\secnumber}{}
277 }{}
278 \IfStrEq{\docname}{sales_order}{
279   % Auftragsbestaetigung
280   \newcommand{\doctype}{\TitleSalesOrder}
281   \newcommand{\MyDocdate}{\orddate}
282   \renewcommand{\deliverydate}{\reqdate}
283   \newcommand{\DocNoTitle}{\OrderNumber}
284   \newcommand{\docnumber}{\ordnumber}
285   % 2. Documentnummer
286     \ifthenelse{\equal{\ordnumber}{\leer}}{
287     % wenn keine Angebotsnummer -> leer
288       \newcommand{\SecNoTitle}{}
289       \newcommand{\secnumber}{}
290     }{
291       \newcommand{\SecNoTitle}{\QuotationNumber}
292       \newcommand{\secnumber}{\quonumber}
293     }
294 }{ }
295 \IfStrEq{\docname}{sales_quotation}{
296   % Angebot
297   \newcommand{\doctype}{\TitleSalesQuotation}
298   \newcommand{\MyDocdate}{\quodate}
299   \renewcommand{\DelDate}{\ValidUntil}
300   \renewcommand{\deliverydate}{\reqdate}
301   \newcommand{\DocNoTitle}{\QuotationNumber}
302   \newcommand{\docnumber}{\quonumber}
303   % 2. Documentnummer
304     \newcommand{\SecNoTitle}{}
305     \newcommand{\secnumber}{}
306 }{ }
307
308
309
310 % ==== \paid auf 0.00 falls leer
311 \IfSubStr{\paid}{\DecimalSign}{}{\renewcommand{\paid}{0{\DecimalSign}00}}
312
313
314
315 \setkomavar{date}{}
316
317
318 \begin{letter}{{\ifthenelse{\isnamedefined{MyAdressfield}}{\MyAdressfield
319   }{\MyAdress
320   }}
321 }
322 \opening{}
323
324 %========Datum und Nummern====================================================
325
326 \newcommand{\DocId}{
327   \begin{tabular*}{\textwidth+1em }{@{\extracolsep{\fill}}llllr}
328     \MakeUppercase{\tiny \DocNoTitle} &
329     \MakeUppercase{\tiny \CustomerID} &
330     \MakeUppercase{\tiny \SecNoTitle } &
331     \MakeUppercase{\tiny \DelDate }   &
332     \MakeUppercase{\tiny \Date}~\\
333     \mainfont\docnumber      &
334     \mainfont\kundennummer   &
335     \mainfont\secnumber   &
336     \mainfont\deliverydate  &
337     \mainfont\MyDocdate~\\
338 \end{tabular*}  ~\\
339 }
340
341 \hspace{-0.5em} \DocId
342
343
344
345
346 \nexthead{
347   \ifthenelse{\bgPdfFirstPageOnly = 1 }{
348     \hspace{-4mm}  \DocId
349   }{}
350 }
351 \vspace{ 5mm}
352
353 {\noindent\textbf\doctype}~\\
354 \IfEndWith{\paymenttype}{\paymentPrivatEnd}{\PriceInclTax }{ }
355
356
357 %======Die eigentliche-Tabelle========================================
358
359 % temporaere Datei mit Tabelle anlegen
360 \begin{filecontents}{<%template_meta.tmpfile NOESCAPE%>.table.tex}
361 \mainfont
362 \resetlaufsumme
363
364
365
366   \ifthenelse{\NoValue > 0 }
367   { % Tabelle ohne Preisen
368     \ifthenelse{\Picklist = 1 }{
369
370     \begin{longtable}{@{}rlX@{ }rlrrrl@{}}
371      }{
372     \begin{longtable}{@{}rlX@{ }rlrr@{}}
373
374      }
375       % Kopfzeile der Tabelle
376
377         {\Pos} &
378         {\Number} &
379         {\ItemNo} &
380         {\Count} &
381         {\Unit} \hspace{2mm}
382         \ifthenelse{\Picklist = 1 }{& {\Take} & {\Storage} }{}
383         ~\\
384         \midrule
385       \endfirsthead
386
387       % Tabellenkopf nach dem Umbruch
388         {\Pos} &
389         {\Number} &
390         {\ItemNo} &
391         {\Count} &
392         {\Unit} \hspace{2mm}
393         \ifthenelse{\Picklist = 1 }{& {\Take} & {\Storage} }{}
394         ~\\
395
396         \midrule
397       \endhead
398
399       <%foreach number%>
400         <%runningnumber%>                        % Laufende Positionsnummer
401         &
402         <%number%>                               % Artikelnummer
403         &
404         <%description%>                           % Kurzbeschreibung des Artikels
405         \ifthenelse{\equal{<%longdescription%>}{\leer}}{}{ \newline <%longdescription%>}
406         % Ein zeilenweises Auslieferdatum, wenn es gesetzt bei der Position hinterlegt ist.
407         \ifthenelse{\equal{<%deliverydate_oe%>}{\leer}}{}{
408                 \newline \DelDate:~<%deliverydate_oe%>}
409         &
410         <%qty NOFORMAT%>                 % Menge
411         &
412         <%unit%>               % Einheit
413         %\ifthenelse{\Picklist = 1 }{& {x} & {x} }{}
414         %\ifthenelse{\Picklist = 1 }{& {x} & {x} \hhline{~~~~~--} }{~\\}
415         \ifthenelse{\Picklist = 1 }{& {\underline{;~~~~~~~~~}} & {\underline{;~~~~~~~~~}}~\\ }{~\\}
416         %~\\ %
417       <%end number%>
418     \end{longtable}     % Ende der zentralen Tabelle
419   }{ % Tabelle mit Preisen
420     \begin{longtable}{@{}rlX@{ }rlrrr@{}}
421       % Kopfzeile der Tabelle
422
423         {\Pos} &
424         {\Number} &
425         {\ItemNo} &
426         {\Count} &
427         {\Unit} &
428         {\Fee} &
429         {\Dis} &
430         {\Total} \hspace{2mm} ~\\
431         \midrule
432       \endfirsthead
433
434       % Tabellenkopf nach dem Umbruch
435         {\Pos} &
436         {\Number} &
437         {\ItemNo} &
438         {\Count} &
439         {\Unit} &
440         {\Fee} &
441         {\Dis} &
442         {\Total} \hspace{2mm} ~\\
443         \midrule
444         \multicolumn{7}{r}{ \rule{0mm}{5mm} \TabCarry{:} \MarkZwsumPos}
445       \endhead
446
447
448       % Fuss der Teiltabellen
449         \multicolumn{7}{r}{ \rule{0mm}{5mm} \TabSubTotal{:} \MarkZwsumPos } ~\\
450       \endfoot
451
452       % Das Ende der Tabelle
453         \midrule
454         \multicolumn{7}{r}{ \rule{0mm}{5mm} \TabSubTotal{:} \MarkZwsumPos} ~\\
455       \endlastfoot
456
457       <%foreach number%>
458         <%runningnumber%>                        % Laufende Positionsnummer
459         &
460         <%number%>                               % Artikelnummer
461         &
462         <%description%>                           % Kurzbeschreibung des Artikels
463         \ifthenelse{\equal{<%longdescription%>}{\leer}}{}{ \newline <%longdescription%>}
464         % Ein zeilenweises Auslieferdatum, wenn es gesetzt ist.
465         \ifthenelse{\equal{<%reqdate%>}{\leer}}{}{
466                 \newline \DelDate:~<%reqdate%>}
467         &
468         <%qty NOFORMAT%>         % Menge
469         &
470         <%unit%>              % Einheit
471         &
472         %\IfEndWith{\paymentterms}{_e}{EN}{\brutto{<%sellprice NOFORMAT%>}{<%qty NOFORMAT%>}{<%p_discount%>}}
473         \IfEndWith{\paymenttype}{\paymentPrivatEnd}{
474             \BruttoSellPrice{<%sellprice NOFORMAT%>}{<%tax_rate%>}
475             &
476             \ifthenelse{\equal{<%p_discount%>}{0}}{}{ -<%p_discount%>\%}
477             &
478             \BruttoWert{<%linetotal NOFORMAT%>}{<%tax_rate%>}
479         }{
480             \numprint{<%sellprice NOFORMAT%>}
481             &
482             \ifthenelse{\equal{<%p_discount%>}{0}}{}{ -<%p_discount%>\%}
483             &
484             \Wert{<%linetotal NOFORMAT%>} % Zeilensumme addieren
485         }
486         ~\\ %
487       <%end number%>
488     \end{longtable}     % Ende der zentralen Tabelle
489   }
490 \end{filecontents}  % Ende der Hilfsdatei.
491
492 \LTXtable{\textwidth}{<%template_meta.tmpfile NOESCAPE%>.table.tex}
493
494 \rule{\textwidth}{0pt}   % Ein (unsichtbarer) Strich quer ueber die Seite
495 \vspace{ 5mm}
496 \vspace{-2em plus 10em minus 2em}~\\
497 \ifthenelse{\NoValue > 0 }
498 { % wenn keine Zahlen
499 }{ % Wenn Zahlen
500   \parbox{\textwidth}{
501     \mainfont
502     %
503     %
504     \setlength{\tabcolsep}{0.2em}
505     \ifthenelse{\equal{\paid}{0{\DecimalSign}00} }
506     {  % Wenn noch nichts gezahlt wurde
507        \IfSubStr{\invtotal}{\DecimalSign}{}{
508          \fpAdd{\invtotal}{0}{<%subtotal NOFORMAT%>}
509          <%foreach tax%>
510          \fpAdd{\invtotal}{\invtotal}{<%tax NOFORMAT%>}
511          <%end tax%>
512        }
513        \hfill
514        \begin{tabular}{@{}rrr@{}}
515                %{Summe vor Steuern:}& {\numprint{<%subtotal NOFORMAT%>}} & ~\\
516
517                % Die unterschiedlichen Steueranteile getrennt ausweisen
518                <%foreach tax%>
519                  { \IfEndWith{\paymenttype}{\paymentPrivatEnd}{\TaxInc }{ } <%taxdescription%>}
520                           &
521                  {\numprint{<%tax NOFORMAT%>}}& ~\\
522                <%end tax%>
523                \midrule[1pt]
524                {\Sum~ \currency:} & \textbf{\numprint{\invtotal}}
525        \end{tabular}
526     }
527     {  % Wenn bereits etwas gezahlt wurde
528        \hfill
529        \begin{tabular}{@{}rrr@{}}
530
531                {\EbT}& {\numprint{<%subtotal NOFORMAT%>}} & ~\\
532
533                % Die unterschiedlichen Steueranteile getrennt ausweisen
534                <%foreach tax%>
535                {<%taxdescription%>}
536                         &
537                {\numprint{<%tax NOFORMAT%>}}& ~\\
538                <%end tax%>
539
540                \midrule  % Ein dünner Strich
541                \Sum & \numprint{\invtotal} & ~\\
542
543                <%foreach payment%>
544                        \AlreadyPayed~ {<%paymentdate%>}:& -{\numprint{<%payment%>}} & ~\\
545                <%end paymentdate%>
546
547                \midrule[2pt]  % Ein etwas dickerer Strich
548                {\Left~ \currency:} & \numprint{\total}
549        \end{tabular}
550     }% ende ithenelse
551
552   } %Ende des Summenkasten
553 }
554
555 \vfill                 % Den Rest-Text soweit wie möglich nach unten schieben
556 \ifthenelse{\isempty{<%notes%>}}{}{
557       \mainfont
558 \noindent <%notes%> ~\\[2em]
559       }%
560 \small
561 \noindent \YourOrder
562 \ifthenelse{\Picklist = 0}{\noindent \ifthenelse{\equal{<%ustid%>}{\leer}}{}{\UstidTitle} \UstId}{}
563 \noindent \paymenthints          % ist in translations.tex deffiniert
564 \ifthenelse{\PurchaseOrder = 0}{\noindent \paymentterms}{}
565
566
567 \end{letter}
568 \end{document}