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