Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
[kivitendo-erp.git] / templates / print / Standard / purchase_order.tex
1 % purchase_order.tex für LX-Office ab V2.6.3
2 % Einkauf - Bestellung
3 % ----------
4 % Überarbeitet von Norbert Simon, n.simon@linet-services.de
5 % Version 2.5 vom 15.November 2011
6 % Basiert auf der Arbeit von kmk@lilalaser.de / 2007
7 % Diese Vorlage steht unter der GPL-Lizenz, Version 3
8 % siehe http://www.gnu.de/licenses/gpl-3.0.html
9 % ----------
10 % config: tag-style=$( )$
11 % ----------
12 \documentclass[twoside]{scrartcl}
13 \usepackage{fancyhdr}       % Für den Seitenkopf und -Fuß
14 \usepackage{ifpdf}          % Erlaubt eine Code-Weiche für PDF, oder DVI Ausgabe
15 \usepackage{xifthen}        % Allgemeine Code-Weiche
16 \usepackage{graphicx}       % Fuer die Einbindung der Logo-Graphik
17 \usepackage{german}         % Deutsche Trenn-Tabelle
18 \usepackage[utf8]{inputenc} % Umlaute direkt eingeben
19 \usepackage{lastpage}       % Fuer die Angabe "Seite 2 von 5"
20 \usepackage{filecontents}   % Um von latex aus eine Datei schreiben zu koennen
21 \usepackage{etex}           % Damit Marken verwendet werden koennen
22 \usepackage{ltxtable}       % Mehrseiten-Tabellen mit variabler Spaltenbreite
23 \usepackage{booktabs}       % Striche in Tabellen
24 \usepackage{numprint}       % Zahlen formatiert ausgeben
25 \usepackage[$(if myconfig_output_numberformat =~ "1.000,00")$german$(else)$$(if myconfig_output_numberformat =~ "1000,00")$germannosep$(else)$$(if myconfig_output_numberformat =~ "1,000.00")$english$(else)$englishnosep$(end)$$(end)$$(end)$]{zwischensumme}  % Lokales Makro zur Berechnung der Zwischensummen
26 \usepackage{microtype,relsize} %Feinpositionierung, Sperren von Text
27 \newcommand*{\sperren}[1]{\normalsize\textls*[200]{#1}} %Sperrung Überrschriften
28 % ---------- Report-Variablen zur Verwendung in kivitendobriefkopf.tex ----------
29 % ----------  Die eigenen Daten ----------
30 \newcommand{\employeename}{$(employee_name)$}
31 \newcommand{\employeecompany}{$(employee_company)$}
32 \newcommand{\employeeaddress}{$(employee_address)$}
33 \newcommand{\employeetel}{$(employee_tel)$}
34 \newcommand{\employeefax}{$(employee_fax)$}
35 \newcommand{\employeeemail}{$(employee_email)$}
36 \newcommand{\employeecoustid}{$(employee_co_ustid)$}
37 \newcommand{\employeetaxnumber}{$(employee_taxnumber)$}
38 \newcommand{\employeetable}{tabelle$(employee_login)$.tex}
39
40 % ---------- Eigene Bankverbindung falls nicht im Briefkopf gesetzt ----------
41 % \newcommand{\companybank}{$(company_bank)$}
42 % \newcommand{\companybankcode}{$(company_bank_code)$}
43 % \newcommand{\companyaccountnumber}{$(company_account_number)$}
44
45 % ---------- Adressat ----------
46 \newcommand{\name}{$(name)$}
47 \newcommand{\departmentone}{$(department_1)$}
48 \newcommand{\departmenttwo}{$(department_2)$}
49 \newcommand{\cpgreeting}{$(cp_greeting)$}
50 \newcommand{\cptitle}{$(cp_title)$}
51 \newcommand{\cpgivenname}{$(cp_givenname)$}
52 \newcommand{\cpname}{$(cp_name)$}
53 \newcommand{\street}{$(street)$}
54 \newcommand{\country}{$(country)$}
55 \newcommand{\zipcode}{$(zipcode)$}
56 \newcommand{\city}{$(city)$}
57 \newcommand{\phone}{$(customerphone)$}
58 \newcommand{\fax}{$(customerfax)$}
59 \newcommand{\lettergreeting}{
60         \ifthenelse{\equal{$(cp_gender)$}{f}}
61          {Sehr geehrte Frau $(cp_name)$,}
62         {\ifthenelse{\equal{$(cp_gender)$}{m}}
63           {Sehr geehrter Herr $(cp_name)$,}
64           {Sehr geehrte Damen und Herren,}
65         }\\[1\baselineskip]
66 }
67
68 % ---------- Bestellvariablen ----------
69 \newcommand{\quonumber}{$(quonumber)$}
70 \newcommand{\docnumber}{Bestellung Nr. \ordnumber}
71 \newcommand{\vendornumber}{$(vendornumber)$}
72 \newcommand{\reqdate}{$(reqdate)$}
73 \newcommand{\orddate}{$(orddate)$}
74 \newcommand{\ordnumber}{$(ordnumber)$}
75 \newcommand{\transdate}{$(transdate)$}
76
77 % ---------- Lieferadresse ----------
78 \newcommand{\shiptoname}{$(shiptoname)$}
79 \newcommand{\shiptocontact}{$(shiptocontact)$}
80 \newcommand{\shiptodepartmentone}{$(shiptodepartment_1)$}
81 \newcommand{\shiptodepartmenttwo}{$(shiptodepartment_2)$}
82 \newcommand{\shiptostreet}{$(shiptostreet)$}
83 \newcommand{\shiptocity}{$(shiptocity)$}
84 \newcommand{\shiptocountry}{$(shiptocountry)$}
85 \newcommand{\shiptophone}{$(shiptophone)$}
86 \newcommand{\shiptozipcode}{$(shiptozipcode)$}
87 \newcommand{\shiptofax}{$(shiptofax)$}
88
89 % ---------- Währungszeichen ----------
90 \newcommand{\currency}{$(currency)$}
91 \ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{}
92 \ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{}
93 \ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{}
94 \ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{}
95
96 % ---------- Ende Reportvariablen-Umsetzung ----------
97
98 % ---------- Briefkopf dazuladen ----------
99 \input{kivitendobriefkopf}
100
101 \begin{document}
102 % ---------- Schrift Hauptdokuments (Computermodern-sanserif)  ----------
103 % \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
104 % ---------- Schrift Helvetica ------------------------
105 \fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
106 % ---------- Firmenlogo nur erste Seite ----------
107 \thispagestyle{briefkopf}
108
109 % ---------- Datum und Nummern ----------
110 % Position unterhalb des Briefkopfs
111 \vspace*{\vlogospacing}
112 \renewcommand{\arraystretch}{0.9}
113 \begin{minipage}[b]{177mm}
114 \sperren{\textbf{Bestellung Nr. \ordnumber}}
115 \hfill
116         \small
117         \begin{tabular}[b]{r@{\hspace{2mm}}p{\hlogospacing}}
118                 \textbf{Seite} & {\thepage} von \pageref{LastPage}\\
119                 \textbf{Datum} & \orddate \\
120                 \nonemptyline{\textbf{Lieferung bis} &}{\reqdate}
121                 \nonemptyline{\textbf{Unsere Kunden Nr.} &}{\vendornumber}
122                 \textbf{Bestellung Nr.} & \ordnumber\\
123                 \nonemptyline{\textbf{Terminwunsch} &}{\reqdate}
124                 \textbf{Ansprechpartner} & \employeename\\
125                 \nonemptyline{\textbf{Durchwahl} &}{\employeetel}
126                 \nonemptyline{\textbf{E-Mail} &}{\employeeemail}
127         \end{tabular}\\[10mm plus 20mm minus 10mm]
128 \end{minipage}
129 \renewcommand{\arraystretch}{1}
130 \normalsize
131
132
133 % ---------- Begrüßung und Bemerkungen ----------
134 \vspace{5mm}
135 \lettergreeting
136 gemäß Ihrem Angebot
137 \ifthenelse{\equal{\orddate}{\leer}}{}{vom \orddate{}}%
138 , beauftragen wir Sie mit der nachstehenden Lieferung.
139 Bei Fragen zur Bestellung, steht Ihnen \employeename \ per Telefon (\employeetel) oder per E-Mail (\employeeemail) gerne zur Verfügung.\\
140
141 %\\[1\baselineskip]
142
143 % ---------- Bemerkung übernehmen ----------
144 \ifthenelse{\isempty{$(notes)$}}{}{
145       \vspace{ 5mm}
146       $(notes)$
147       \vspace*{5mm}
148       }
149
150
151 % ---------- Die eigentliche-Tabelle ----------
152
153 % ---------- Tabelle puffern ----------
154 \begin{filecontents}{\employeetable}
155 % ---------- globale Variable laufsumme deklarieren
156 \resetlaufsumme
157 % ---------- Spaltendefinition ----------
158 \begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{}}]}}
159 % ---------- Kopfzeile der Tabelle ----------
160         \textbf{Pos} &
161         \textbf{Art.Nr.} &
162         \textbf{Bezeichnung} &
163         \textbf{Menge} &
164         \textbf{ME} &
165         \textbf{EP/€} &
166         \textbf{GP/€} \\
167         \midrule
168   \endfirsthead
169 % ---------- Tabellenkopf nach dem Umbruch ----------
170         \textbf{Pos} &
171         \textbf{Art.Nr.} &
172         \textbf{Bezeichnung} &
173         \textbf{Menge} &
174         \textbf{ME} &
175         \textbf{EP/€} &
176         \textbf{GP/€} \\
177         \midrule
178         & & \multicolumn{4}{r}{} & \MarkUebertrPos\\[1.5em]
179   \endhead
180 % ---------- Fuss der Teiltabellen ----------
181         \midrule
182         & & \multicolumn{4}{r}{} & \MarkZwsumPos \\
183   \endfoot
184 % ---------- Das Ende der Tabelle ----------
185         \midrule
186 %       & & \multicolumn{4}{r}{ Nettobetrag} & \MarkZwsumPos \\
187   \endlastfoot
188 % ---------- Positionen ----------
189   $(foreach number)$
190         $(runningnumber)$ &
191         $(number)$ &
192         $(description)$
193         \ifthenelse{\equal{$(longdescription)$}{}}{}{$(longdescription)$} &
194         $(qty)$ &
195         $(unit)$ &
196         \numprint{$(sellprice)$} &
197         \numprint{$(linetotal)$}\Wert{$(linetotal NOFORMAT)$}
198        \\ %
199   $(end number)$
200 \end{longtable}
201 % ----------  Ende der Hilfsdatei ----------
202 \end{filecontents}
203 % ---------- Puffertabelle öffnen ----------
204 \LTXtable{\textwidth}{\employeetable}
205 %---------- Bereich für die Summen ----------
206 \parbox{\textwidth}{
207 %---------- Summenbereich nach recht schieben  ----------
208 \hfill
209 \setlength{\tabcolsep}{0mm}
210 \begin{tabular}{@{}r@{ }r@{ }l}
211 %   \toprule
212    {Nettobetrag:}& \numprint{$(subtotal)$}& \currency\\
213 % ---------- Alle Steuern ausweisen ----------
214    $(foreach tax)$
215 %       {$(taxdescription)$ auf }\numprint{$(taxbase)$}~\currency: & \numprint{$(tax)$}& \\
216                 {$(taxdescription)$}:  & \numprint{$(tax)$}& \currency\\
217    $(end tax)$
218    \midrule
219    {\textbf{Gesamtbetrag:}} & \bfseries\numprint{$(ordtotal)$} & \textbf{\currency}\\
220    \bottomrule
221 \end{tabular}
222 }
223 \vfill
224 Grundlage dieses Auftrages sind unsere Einkaufsbedingungen. 
225 Wir bitten um gleichlautende Auftragsbestätigung.\\
226 \vspace{1.5\baselineskip}
227
228 \nonemptyline{\textbf{Liefertermin: }}{\reqdate}
229
230 % ---------- Lieferadresse ----------
231 \ifthenelse{\equal{\shiptocity}{\leer}}{}{
232 % ---------- Umbruch dazwischen verhindern ----------
233 \parbox{\textwidth}{
234 \textbf{Lieferanschrift:}
235 %[7mm]
236 %    \rule{10em}{0mm}
237 % ---------- Bereich für Lieferadresse ----------
238         \parbox[t]{7cm}{
239                 \shiptoname \\
240                 \nonemptyline{}{\shiptodepartmentone}
241                 \nonemptyline{}{\shiptodepartmenttwo}
242                 \shiptostreet \\
243                 \shiptocountry{ }\shiptozipcode{ }\shiptocity\\[1mm]
244                 \nonemptyline{Tel: }{\shiptophone}
245                 \nonemptyline{Fax: }{\shiptofax}
246         }%ende parbox
247 }% ende parbox
248 }% ende ifthenelse
249
250
251 \end{document}
252