From 5db079503f2becc785ea559907c17bb0aa2a096e Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Mon, 12 Nov 2012 17:47:39 +0100 Subject: [PATCH] Druckvorlagen: Standard-Vorlagensatz im kivitendo-Design nach offizieller Demo Fixt #2049. --- templates/print/Standard/bin_list.html | 180 --------- templates/print/Standard/bin_list.tex | 16 +- templates/print/Standard/credit_note.tex | 311 ++++++++++++--- templates/print/Standard/invoice.html | 268 ------------- templates/print/Standard/invoice.odt | Bin 34673 -> 52263 bytes templates/print/Standard/invoice.tex | 339 +++++++++++++--- templates/print/Standard/kivitendo-seite1.pdf | Bin 0 -> 24513 bytes .../print/Standard/kivitendo-seiteff.pdf | Bin 0 -> 19880 bytes .../print/Standard/kivitendobriefkopf.tex | 200 ++++++++++ templates/print/Standard/mahnung.tex | 174 ++++++++ templates/print/Standard/mahnung_invoice.tex | 169 ++++++++ templates/print/Standard/mitBriefpapier.sty | 68 ++++ templates/print/Standard/ohneBriefpapier.sty | 66 +++ templates/print/Standard/pick_list.html | 154 ------- templates/print/Standard/pick_list.tex | 130 +++--- templates/print/Standard/proforma.tex | 284 +++++++++++++ .../Standard/purchase_delivery_order.tex | 100 +++++ templates/print/Standard/purchase_order.html | 188 --------- templates/print/Standard/purchase_order.tex | 304 +++++++++++--- .../print/Standard/request_quotation.html | 194 --------- .../print/Standard/request_quotation.tex | 375 +++++++++++------- .../print/Standard/sales_delivery_order.tex | 246 +++++++++--- templates/print/Standard/sales_order.html | 213 ---------- templates/print/Standard/sales_order.tex | 311 ++++++++++++--- templates/print/Standard/sales_quotation.html | 221 ----------- templates/print/Standard/sales_quotation.tex | 322 ++++++++++++--- templates/print/Standard/statement.html | 121 ------ .../print/Standard/zahlungserinnerung.tex | 205 +++++++--- .../Standard/zahlungserinnerung_invoice.tex | 75 ---- templates/print/Standard/zwischensumme.sty | 188 +++++++++ 30 files changed, 3207 insertions(+), 2215 deletions(-) delete mode 100644 templates/print/Standard/bin_list.html mode change 100644 => 100755 templates/print/Standard/credit_note.tex delete mode 100644 templates/print/Standard/invoice.html create mode 100644 templates/print/Standard/kivitendo-seite1.pdf create mode 100644 templates/print/Standard/kivitendo-seiteff.pdf create mode 100644 templates/print/Standard/kivitendobriefkopf.tex create mode 100644 templates/print/Standard/mahnung.tex create mode 100644 templates/print/Standard/mahnung_invoice.tex create mode 100644 templates/print/Standard/mitBriefpapier.sty create mode 100644 templates/print/Standard/ohneBriefpapier.sty delete mode 100644 templates/print/Standard/pick_list.html create mode 100644 templates/print/Standard/proforma.tex create mode 100644 templates/print/Standard/purchase_delivery_order.tex delete mode 100644 templates/print/Standard/purchase_order.html delete mode 100644 templates/print/Standard/request_quotation.html delete mode 100644 templates/print/Standard/sales_order.html delete mode 100644 templates/print/Standard/sales_quotation.html delete mode 100644 templates/print/Standard/statement.html delete mode 100644 templates/print/Standard/zahlungserinnerung_invoice.tex create mode 100644 templates/print/Standard/zwischensumme.sty diff --git a/templates/print/Standard/bin_list.html b/templates/print/Standard/bin_list.html deleted file mode 100644 index d57632dc7..000000000 --- a/templates/print/Standard/bin_list.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - - - - - - - - - - - -
-

- <%company%> -
<%address%> -

-
-

- Tel: <%tel%> -
Fax: <%fax%> -

- -
-

L A G E R L I S T E

-
-
  - - - - - - - - - - - -
AbsenderLieferanschrift
<%name%> -
<%street%> -
<%zipcode%> -
<%city%> -
<%country%> -
- - <%if contact%> -
Kontakt: <%contact%> - <%end contact%> - - <%if vendorphone%> -
Tel: <%vendorphone%> - <%end vendorphone%> - - <%if vendorfax%> -
Fax: <%vendorfax%> - <%end vendorfax%> - - <%if email%> -
<%email%> - <%end email%> - -
<%shiptoname%> -
<%shiptostreet%> -
<%shiptozipcode%> -
<%shiptocity%> -
<%shiptocountry%> - -
- <%if shiptocontact%> -
Kontakt: <%shiptocontact%> - <%end shiptocontact%> - - <%if shiptophone%> -
Tel: <%shiptophone%> - <%end shiptophone%> - - <%if shiptofax%> -
Fax: <%shiptofax%> - <%end shiptofax%> -
-
  - - - - - - <%if warehouse%> - - <%end warehouse%> - - - - - - - - <%if shippingdate%> - - <%end shippingdate%> - - <%if not shippingdate%> - - <%end shippingdate%> - - - - <%if warehouse%> - - <%end warehouse%> - - - - -
BestellNr. #DatumKontaktLagerVersandortLieferung durch
<%ordnumber%> <%shippingdate%><%orddate%><%employee%> <%warehouse%><%shippingpoint%> <%shipvia%> 
-
  - - - - - - - - - - - - - - <%foreach number%> - - - - - - - - - - - - <%end number%> - -
PosArtNr.BeschreibungSeriennummer MengeErh Lagerplatz
<%runningnumber%><%number%><%description%><%serialnumber%><%deliverydate%><%qty%><%ship%><%unit%><%bin%>
-
 
- diff --git a/templates/print/Standard/bin_list.tex b/templates/print/Standard/bin_list.tex index 67a78ed8b..91e3b9c97 100644 --- a/templates/print/Standard/bin_list.tex +++ b/templates/print/Standard/bin_list.tex @@ -29,7 +29,7 @@ \parbox{\textwidth}{ \parbox[b]{.42\textwidth}{% <%company%> - + <%address%> }\hfill \begin{tabular}[b]{rr@{}} @@ -40,6 +40,20 @@ \rule[1.5ex]{\textwidth}{0.5pt} } + +<%pagebreak 90 27 37%> +\end{tabularx} + +\newpage + +\markboth{<%company%>\hfill <%ordnumber%>}{<%company%>\hfill <%ordnumber%>} + +\vspace*{-12pt} + +\begin{tabularx}{\textwidth}{@{}rlXllrrll@{}} + \textbf{Pos} & \textbf{Nummer} & \textbf{Beschreibung} & \textbf{Seriennummer} & & \textbf{Menge} & \textbf{Erh} & & \textbf{Lagerplatz} \\ +<%end pagebreak%> + \vspace*{0.5cm} diff --git a/templates/print/Standard/credit_note.tex b/templates/print/Standard/credit_note.tex old mode 100644 new mode 100755 index 69ac965ac..3dd8b586a --- a/templates/print/Standard/credit_note.tex +++ b/templates/print/Standard/credit_note.tex @@ -1,78 +1,265 @@ -\documentclass[twoside]{scrartcl} -\usepackage{eurosym} -\usepackage{tabularx} -\usepackage{ifthen} -\usepackage[utf8]{inputenc} -\begin{document} - -\setlength{\parindent}{0cm} - -\pagestyle{empty} - -\newlength{\descrwidth}\setlength{\descrwidth}{10cm} +% credit_note.tex +% Verkauf Gutschrift +% Überarbeitet von Norbert Simon, n.simon@linet-services.de +% Version 2.5 vom 16. November 2011 +% Basiert auf der Arbeit von kmk@lilalaser.de / 2007 +% Diese Vorlage steht unter der GPL-Lizenz, Version 3 +% siehe http://www.gnu.de/licenses/gpl-3.0.html +% ---------- +% config: tag-style=$( )$ +% ---------- -\fontfamily{cmss}\fontshape{n}\selectfont +\documentclass[twoside]{scrartcl} +\usepackage{fancyhdr} % Für den Seitenkopf und -Fuß +\usepackage{ifpdf} % Erlaubt eine Code-Weiche für PDF, oder DVI Ausgabe +\usepackage{xifthen} % Allgemeine Code-Weiche +\usepackage{graphicx} % Fuer die Einbindung der Logo-Graphik +\usepackage{german} % Deutsche Trenn-Tabelle +\usepackage[utf8]{inputenc} % Umlaute direkt eingeben +\usepackage{textcomp} % Sonderzeichen +\usepackage{lastpage} % Fuer die Angabe "Seite 2 von 5" +\usepackage{filecontents} % Um von latex aus eine Datei schreiben zu koennen +\usepackage{etex} % Damit Marken verwendet werden koennen +\usepackage{ltxtable} % Mehrseiten-Tabellen mit variabler Spaltenbreite +\usepackage{booktabs} % Striche in Tabellen +\usepackage{numprint} % Zahlen formatiert ausgeben +\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 +\usepackage{microtype,relsize} %Feinpositionierung, Sperren von Text +\newcommand*{\sperren}[1]{\normalsize\textls*[200]{#1}} %Sperrung Überrschriften -\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont +% ---------- Report-Variablen zur Verwendung in lxbriefkopf.tex ---------- +% ---------- Die eigenen Daten ---------- +\newcommand{\employeename}{$(employee_name)$} +\newcommand{\employeecompany}{$(employee_company)$} +\newcommand{\employeeaddress}{$(employee_address)$} +\newcommand{\employeetel}{$(employee_tel)$} +\newcommand{\employeefax}{$(employee_fax)$} +\newcommand{\employeeemail}{$(employee_email)$} +\newcommand{\employeecoustid}{$(employee_co_ustid)$} +\newcommand{\employeetaxnumber}{$(employee_taxnumber)$} +\newcommand{\employeetable}{tabelle$(employee_login)$.tex} -\vspace*{1.5cm} +% ---------- Eigene Bankverbindung falls nicht im Briefkopf gesetzt ---------- +% \newcommand{\companybank}{$(company_bank)$} +% \newcommand{\companybankcode}{$(company_bank_code)$} +% \newcommand{\companyaccountnumber}{$(company_account_number)$} -\begin{minipage}{8cm} - <%name%> +% ---------- Adressat ---------- +\newcommand{\name}{$(name)$} +\newcommand{\departmentone}{$(department_1)$} +\newcommand{\departmenttwo}{$(department_2)$} +\newcommand{\cpgreeting}{$(cp_greeting)$} +\newcommand{\cptitle}{$(cp_title)$} +\newcommand{\cpgivenname}{$(cp_givenname)$} +\newcommand{\cpname}{$(cp_name)$} +\newcommand{\street}{$(street)$} +\newcommand{\country}{$(country)$} +\newcommand{\zipcode}{$(zipcode)$} +\newcommand{\city}{$(city)$} +\newcommand{\phone}{$(customerphone)$} +\newcommand{\fax}{$(customerfax)$} +\newcommand{\lettergreeting}{ + \ifthenelse{\equal{$(cp_gender)$}{f}} + {Sehr geehrte Frau $(cp_name)$,} + {\ifthenelse{\equal{$(cp_gender)$}{m}} + {Sehr geehrter Herr $(cp_name)$,} + {Sehr geehrte Damen und Herren,} + }\\[1\baselineskip] +} - <%street%> +% ---------- Rechnungsvariablen ---------- +\newcommand{\kundennummer}{$(customernumber)$} +\newcommand{\quonumber}{$(quonumber)$} % Angebotsnummer +\newcommand{\ordnumber}{$(ordnumber)$} % Auftragsnummer bei uns +\newcommand{\cusordnumber}{$(cusordnumber)$} % Auftragsnummer beim Kunden +\newcommand{\invnumber}{$(invnumber)$} % Rechnungsnummer +\newcommand{\invnumbercreditnote}{$(invnumber_for_credit_note)$} %Rechnungsnummer Gutschrift +\newcommand{\docnumber}{Rechnungsnummer: \invnumber} +\newcommand{\quodate}{$(quodate)$} % Angebotsdatum +\newcommand{\orddate}{$(orddate)$} % Auftragsdatum +\newcommand{\reqdate}{$(reqdate)$} % gewuenschtes Lieferdatum +\newcommand{\deliverydate}{$(deliverydate)$} % Lieferdatum +\newcommand{\invdate}{$(invdate)$} % Rechnungsdatum +\newcommand{\terms}{$(terms)$} % Zahlungsfrist +\newcommand{\duedate}{$(duedate)$} % Fälligkeitsdatum +\newcommand{\invtotal}{$(invtotal)$} % Gesamtbetrag +\newcommand{\paid}{$(paid)$} % Schon bezahlt +\newcommand{\total}{$(total)$} % Restbetrag - <%zipcode%> <%city%> +% ---------- Lieferadresse ---------- +\newcommand{\shiptoname}{$(shiptoname)$} +\newcommand{\shiptocontact}{$(shiptocontact)$} +\newcommand{\shiptodepartmentone}{$(shiptodepartment_1)$} +\newcommand{\shiptodepartmenttwo}{$(shiptodepartment_2)$} +\newcommand{\shiptostreet}{$(shiptostreet)$} +\newcommand{\shiptocity}{$(shiptocity)$} +\newcommand{\shiptocountry}{$(shiptocountry)$} +\newcommand{\shiptophone}{$(shiptophone)$} +\newcommand{\shiptozipcode}{$(shiptozipcode)$} +\newcommand{\shiptofax}{$(shiptofax)$} - <%country%> -\end{minipage} -\hfill -\begin{minipage}{6cm} - \rightline{\LARGE\textbf{\textit{Gutschrift}}} \vspace*{0.2cm} - \rightline{\large\textbf{\textit{Nr. <%invnumber%>% \vspace*{0.2cm} - }}} - für Rechnung: \hfill <%invnumber_for_credit_note%> +% ---------- Währungszeichen ---------- +\newcommand{\currency}{$(currency)$} +\ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{} +\ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{} +\ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{} +\ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{} - Gutschriftdatum:\hfill <%invdate%> +% ---------- Ende Reportvariablen-Umsetzung ---------- - Auftrag-Nr:\hfill <%ordnumber%> +% ---------- Briefkopf dazuladen ---------- +\input{lxbriefkopf} - Telefon:\hfill <%phone%> +\begin{document} +% ---------- Schrift Hauptdokuments (Computermodern-sanserif) ---------- +% \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont +% ---------- Schrift Helvetica ------------------------ +\fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont - Telefax:\hfill <%fax%> +% ---------- Firmenlogo nur erste Seite ---------- +\thispagestyle{briefkopf} - Ansprechpartner:\hfill <%employee%> +% ---------- Datum und Nummern ---------- +% Position unterhalb des Briefkopfs +\vspace*{\vlogospacing} +\renewcommand{\arraystretch}{0.9} +\begin{minipage}[b]{177mm} +\sperren{\textbf{Gutschrift Nr. \invnumber}} +\hfill + \small + \begin{tabular}[b]{r@{\hspace{2mm}}p{\hlogospacing}} + \textbf{Seite} & {\thepage} von \pageref{LastPage}\\ + \textbf{Datum} & \invdate \\ + \textbf{Kunden Nr.} & \kundennummer\\ + \nonemptyline{\textbf{Auftrag Nr.} &}{\ordnumber} + \nonemptyline{\textbf{Rechnung Nr.} &}{\invnumbercreditnote} + \nonemptyline{\textbf{Gutschrift Nr.} &}{\invnumber} + \textbf{Ansprechpartner} & \employeename\\ + \nonemptyline{\textbf{Durchwahl} &}{\employeetel} + \nonemptyline{\textbf{E-Mail} &}{\employeeemail} + \end{tabular}\\[10mm plus 20mm minus 10mm] \end{minipage} +\renewcommand{\arraystretch}{1} +\normalsize +% ---------- Begrüßung und Bemerkungen ---------- +\vspace{ 5mm} +%\lettergreeting +Hiermit erstatten wir Ihnen zur Rechnung Nr. \invnumbercreditnote{ } die nachfolgenden Positionen.\\ +Für Nachfragen steht Ihnen \employeename \ per Telefon (\employeetel) oder per E-Mail (\employeeemail) gerne zur Verfügung. +%\\[0.4\baselineskip] +\ifthenelse{\isempty{$(notes)$}}{}{ + $(notes)$ + }% +\vspace{1\baselineskip}\\ +%Mit freundlichen Grüßen\\[1\baselineskip] +%\employeename\\[1\baselineskip] +% ---------- Die eigentliche-Tabelle ---------- +% ---------- Tabelle puffern ---------- +\begin{filecontents}{\employeetable} +% ---------- globale Variable laufsumme deklarieren ---------- +\resetlaufsumme +% ---------- Spaltendefinition ---------- +%\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{~\currency}}]}} +\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{}}]}} +% ---------- Kopfzeile der Tabelle ---------- + \textbf{Pos} & + \textbf{Art.Nr.} & + \textbf{Bezeichnung} & + \textbf{Menge} & + \textbf{ME} & + \textbf{EP/€} & + \textbf{GP/€} \\ + \midrule + \endfirsthead +% ---------- Tabellenkopf nach dem Umbruch ---------- + \textbf{Pos} & + \textbf{Art.Nr.} & + \textbf{Bezeichnung} & + \textbf{Menge} & + \textbf{ME} & + \textbf{EP/€} & + \textbf{GP/€} \\ + \midrule + & & \multicolumn{4}{r}{} & \MarkUebertrPos\\ + \endhead +% ---------- Fuss der Teiltabellen ---------- + \midrule + & & \multicolumn{4}{r}{} & \MarkZwsumPos \\ + \endfoot +% ---------- Das Ende der Tabelle ---------- + \midrule +% & & \multicolumn{4}{r}{ Nettobetrag:} & \MarkZwsumPos \\ + \endlastfoot +% ---------- Positionen ---------- +$(foreach number)$ + $(runningnumber)$ & + $(number)$ & + $(description)$ +% \ifthenelse{\equal{$(longdescription)$}{}}{}{\newline +% \renewcommand{\baselinestretch}{1}\footnotesize +% {\footnotesize $(longdescription)$ +% \renewcommand{\baselinestretch}{1}\normalsize +% }} + \ifthenelse{\equal{$(deliverydate_oe)$}{\leer}}{}{ + \newline Lieferdatum:~$(deliverydate_oe)$} + & + $(qty)$ & + $(unit)$ & + \ifthenelse{\isempty{$(sellprice)$}}{&}{ + \numprint{$(sellprice)$} + \ifthenelse{\equal{$(p_discount)$}{0}}{}{ -$(p_discount)$\%} & + \numprint{$(linetotal)$}\Wert{$(linetotal NOFORMAT)$} + }\\ % + $(end number)$ -\vspace*{0.5cm} - -Ihre Bestellung <%cusordnumber%> vom <%orddate%> -% \hfill - -\vspace*{0.5cm} - -Sehr geehrte Damen und Herren, - -\vspace{0.5cm} - -\begin{tabularx}{\textwidth}{lrXrr} - \hline - \textbf{Pos} & \textbf{Menge} & \textbf{Bezeichnung} & - \textbf{E-Preis/\euro} & \textbf{G-Preis/\euro} \\ - \hline - <%foreach number%> - <%runningnumber%> & <%qty%> <%unit%> & \raggedright <%description%> & - <%sellprice%> \euro & <%linetotal%> \euro \\ - <%if discount_sub%> & Zwischensumme: & & <%discount_sub%> \euro & <%end if%>\\ - <%end number%>\hline - \multicolumn{4}{l}{Nettobetrag} & <%subtotal%> \euro \\ - <%foreach tax%> - \multicolumn{4}{l}{<%taxdescription%>} & <%tax%> \euro \\ - <%end tax%> - \multicolumn{4}{l}{\textbf{Endbetrag}} & \textbf{<%invtotal%> \euro} \\ \hline -\end{tabularx} - -\vspace{1cm} +\end{longtable} +% ---------- Ende der Hilfsdatei ---------- +\end{filecontents} +% ---------- Puffertabelle öffnen ---------- +\LTXtable{\textwidth}{\employeetable} +%---------- Bereich für die Summen ---------- +\parbox{\textwidth}{ +%---------- Summenbereich nach recht schieben ---------- +\hfill +\setlength{\tabcolsep}{0mm} +\begin{tabular}{@{}r@{ }r@{ }l} + {Nettobetrag:}& \numprint{$(subtotal)$}& \currency\\ +% ---------- Alle Steuern ausweisen ---------- + $(foreach tax)$ +% {$(taxdescription)$ auf }\numprint{$(taxbase)$}~\currency: & \numprint{$(tax)$}& \\ + {$(taxdescription)$}: & \numprint{$(tax)$}& \currency\\ + $(end tax)$ + \midrule + {\textbf{Rechnungsbetrag:}} & \bfseries\numprint{\invtotal} & \textbf{\currency}\\ +% ---------- Wenn bereits etwas gezahlt wurde ---------- +$(if invtotal != total)$ + $(foreach payment)$ + abzgl. Zahlung vom {$(paymentdate)$}:& {\numprint{-$(payment)$}} & \currency\\ + $(end paymentdate)$ + \midrule + \textbf{Verbleibend: } & \textbf{\numprint{\total}} & \textbf{\currency}\\ +$(end)$ +\bottomrule + \end{tabular} +} %Ende des Summenkasten +\vfill +% ---------- Nachbemerkung mit max. Abstand nach unten ---------- +{ +%Soweit nicht anders angegeben, +%\ifthenelse{\equal{\deliverydate}{\leer}} +% {entspricht das Leistungsdatum dem Rechnungsdatum.} +% {wurde die Leistung am {\deliverydate} erbracht.}\\[0.5em] +%Bitte überweisen Sie den Rechnungsbetrag in Höhe von +%{\numprint{\total}~\currency} innerhalb von +%\ifthenelse{\equal{\duedate}{\leer}}{{14}}{{\terms}}~Tagen +%auf das unten angegebene Konto. +%\ifthenelse{\equal{\duedate}{\leer}}{} +% {Nach dem {\duedate} behalten wir uns Verzugszinsen vor.} +Bitte nennen Sie uns eine Bankverbindung auf welche das Guthaben überwiesen werden soll.\\ +\vfil +\footnotesize +Bereits gelieferte Waren bleiben bis zur vollständigen Bezahlung der +Rechnung unser Eigentum. +} \end{document} - diff --git a/templates/print/Standard/invoice.html b/templates/print/Standard/invoice.html deleted file mode 100644 index 2858f4f08..000000000 --- a/templates/print/Standard/invoice.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - - - -
  - - - - - - - - - - - - -
-

- <%company%> -
<%address%> -

-
-

- Telefon <%tel%> -
Telefax <%fax%> -

-
-

R E C H N U N G

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<%foreach tax%> - - - -<%end tax%> - -<%if taxincluded%> - - - -<%end taxincluded%> - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - -
Ausgestellt am <%invdate%>
Bezahlbar bis <%duedate%>
Nummer <%invnumber%>
Lieferdatum <%deliverydate%>
 
-
- - - - - - - - - - - - - -
An:Lieferaddresse:
<%name%> -
<%street%> -
<%zipcode%> -
<%city%> -
<%country%> -
<%shiptoname%> -
<%shiptostreet%> -
<%shiptozipcode%> -
<%shiptocity%> -
<%shiptocountry%> -
-
 
- - - - - - - - - - - - -<%foreach number%> - - - - - - - - - - -<%end number%> - - - - - - - -<%if taxincluded%> - - - - -<%end taxincluded%> -<%if not taxincluded%> - - - - -<%end taxincluded%> - -<%foreach tax%> - - - - -<%end tax%> - -<%if paid%> - - - - -<%end paid%> - - - - - - - - -<%if total%> - - -<%end total%> - - - - - - -
NummerBeschreibungAnz. PreisRabTotal
<%number%><%description%><%qty%><%unit%><%sellprice%><%discount%><%linetotal%>

Total<%invtotal%>
Zwischensumme<%subtotal%>
<%taxdescription%> auf <%taxbase%><%tax%>
Bezahlt- <%paid%>
 
Bezahlbar innerhalb von <%terms%> TagenTotal<%total%>
 
-
- - -<%if notes%> - - -<%end notes%> - - - -
Bemerkungen:<%notes%> - Alle Preise in <%currency%> -
<%shippingpoint%> -
-
 
- - - - - -
- Rechnung ist bezahlbar innerhalb von <%terms%> Tagen. - Nach dem <%duedate%> werden Zinsen zu einem - monatlichen Satz von 1.5% verrechnet. - Waren bleiben im Besitz von <%company%> bis die Rechnung voll bezahlt ist. - Rückgaben werden mit 10% Lagergebühren belastet. Beschädigte Waren - und Waren ohne eine Rückgabenummer werden nicht entgegengenommen. - - - X
-
-
<%taxdescription%> Registration <%taxnumber%>
Steuern sind im Preis inbegriffen.
-
-
Bankverbindung -
Bank -
Bankleitzahl -
Konto No. - -
- -
- - - - diff --git a/templates/print/Standard/invoice.odt b/templates/print/Standard/invoice.odt index 822ba9062647da53c6a3e78d9c2525b79bd4f6b3..6eac45b0ed86b0dabab0d9a0f69e9117ab409c0d 100644 GIT binary patch delta 49387 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 SCDGqMFwgJwC}{nET>d`_|74#4 delta 31672 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 MuMY?&JANffUmKR^tNBaLm-HS*%YFdNbcai^W(m zJr!$)pA@JDbALyU_iklaLQXP%3K3AJ6aSo$(ppwB*L-AL23r$|Yha}x>`=;Bm-$8q z3T`49`3V3W-Z>FXAU1)m_ClBHIFt}3zOypJyBW*lUP|Pkk?>auc5rMkUlEPb?*MRN zTGOdfMUl5oLXbep7Eq)mfp8Wffw>LpZ=8nLlc&T5uwodm?+?&_gzG#y8CPPYd_Br1 zCJ9Iu-R4W%9)**k(m8?ZlJd}Nuync;U8+hUI*Az`@DEU{tZKRuJ52Bv6Kg%hni50& zH^Vypi~yPKBD$vs8`Y|VD2in;AfevO+W=|a;MqO@uJZLg3{!}k>WamdOBvQx@2jwi zRX|vKHMfxJ4+8?x8%_Q=l{-2)CgCi{=w|-yh7I8vPeQ1x740{DuUA6O#xIr^|qw z1pTVF*Qsd)E_bpB>k*E90Rw#5iGtWOSWU}3mVe1)IKx2@O>W+gY%!n}e0&Q5&CWm* zVG(`w2n>MtM7qH~G1F-lq$;rE#*E_i4lzA`_~bTy+w2Bgw3)hUc7T5|meypd*+^au z=gNU8j)W`V>0`4Lv%#hTtnVK?xsS3($60acYicb0?rr42g)!vR~)B)tC@T?yX zwGq-bR?}zTmzMGcTo73_cd!=#f;&WHxhCdpM7H~2fzl0G0{6@KI*c8viYPbR#+)UY zkX-UI150gsrf*}eeb|5zvI0Pt5pYd9oz`FnXMj8Vg(NM8Wj;)kEhz*4v}Wtjug%&} zCg+Ihke$MP^Lfl2hWf{jLtTu}q{dj;r(fXzIU6p(jFI&c%#6$R2ad~tr zb)ccG^*S*ZOcS?YxYsW!)oh&#BODJNv5j(*~ej_$#kU*1``8k1-y%g@j4xBLn zJ-Im9KROOI$D+4W&~kz7P$Ed7_C)FuZ46qd%k0Ig=n{3&B@&i;Et_TEuw||j!(UtH z&u2Y?)P3Mn(Gnj&Otu1h4oeUIid9{eK{{TYzKYOZrXGdaIj89hUz3XU8GFlmOHq@y z{Eu|(T;B%hg>wQNBoMtT0fIz`m#T(;0jprA3fz2!7Owq>2XhB~2Xj5csS{m+Wl)=; zuPuQa;c$h|x_N5q5g0F_-5{=`5Bb1Xf+IMeGJc2WPJ!qnsm;!S6D>nW`fM&;3QFZW z%&=iALaPty4b{l?Fk73b;|=w<FSU4Vdh+Kt$q#6EA3kz6YK#y** z&{fqicl@u)zB(?hWmy+@2~Kc#4el1)g1dXr1lNVTySoNUAV_eBKyZiP7JLRBg5=FU z_wIZ4dGG%7dUUm|{`G39uKKFVz!AEIy= zWfO2g(lC?fbQBbhu^u!n(KxotHogPMTo(p;u9uhqrn&|4CNeh#v8rA+d_H44e;WDd}LR;f7=ex0M8pk>UVl0 z3OVMxRM@lz{mR9emR?W-H0IZp<~<#|{iU-8nj~U)yD7+xq_VWZKqDG-FvV zbk>JKIWe?DraWN1(W0{1t_b(H&L8!u_Y;F>+9lHJexT7li^a`SJ%k< zW(eudOO5xo8IIH*B|hXQ2+og0=5@=kRkixZy;&Adi|~_5Ru)mp!wdG(Q^|=Fyjtk#x@Z72ZoGORBBrc zD!pr+9-hY1eLq>S#8*qw&+ zVSGV_?h^>$=O|HVuj*y?h;%PNCx4*(T~peKDGjj9TQ$Ew_Z7f~jLJi%L35Y#ajIbc zMqkgmUp@4#i#N~w>+&-#m>%$}T||!`UM7ohL>+elL5FeOK90PbQyPFhC0zk>s z#K}iN`(;XOq*76L2k%Fn3D6SfYSH;7LHit^s)W&(xZNLFnZi9qzGbQ~i}m|WChEbI zK&#o=`J>v2-&7pPeZ=stzV_D|Qqmr5rO)7w_i$r)+a@iDGunm2nU^y91*Qekx$O!! z3Fg^}Z1!~EYt4fGTk|RF)4N9^X77?^Ytx+&7$`)2P5>NFu~+q=$H-7epH^V?8(?h) zv6F~3YpSR^f4u{cJ-t(3Q`dsX?gE@)g`5x_(8)r3F(91b%k0r*@mQSb0(RAG{`vzC_x$$5P1oEC?&h+Jy?VuG`0m& z+1uG#RUVePOPKM*Ua7s4gG^TV@VpQ}AVMD=ZBLWHjeF|DoUs&WQM=v|LEH|TWFX@o zS=>hJ4irdBP8Gm218DR-qbz_2?EQo`iBKzZU; z>fp;W=10r`{rMmgAIg3+^Z@$$CuPW&U8qLhlOg0gR2)U3mQ-nP$_HLtS$5%_6asdL zL3deI_Ak#M^zEwH9)c&`=e7XPU2>Vh`&{{R=0|l1puT4o;(X&+F9(%Y1h5vrKsTZ$ z#aY2v173lu zD~y8IcY5kUaoUg=bnJ*A^xtQi6Mbp-70T}&YgNP_;qNV6L&1)M6N`X zaef016X0XOrgfeUN|23nzD`=>et}~==juh2*nyJuP~{EiiIVDxCWQ|hBHOz|^0Gi7 zz_<+#4zSb(z3SQmX=1PJN<^6w0+14Su(HV)&}DoNK+VNB@>fb=5d0N`cqU4(68 z69s5=LwFhj2o{1!4WFz)RYU8I@DN7hB@a$SNNry(fA4Ng6=*48rdl-}- zwUZLA93`;IK_8)us0QtGn_N1ScTQ?Xi2)rHp*);VcvI}e`fcG;nc_5~;0>Y?#VSmr z7n~c2ZS5`r*c=>90iYIR7mE@-Iy|93I>gc6Q)2Wm4>~)7Iq$;2NoO~k_~73D#(0X? zkSG8w-){yd&i>>8#_oT19H4kJ2L;3qZetITV-HYbHM}sHzK3o=#JSL(4-F8Jh&bb= zZhTS&QAXE+#F3!wQ;@JqT9X+n!sy}z0lS%vJkul|PeOA;Dj3k>uF zi5S2pt25`L*$d7R#CWoyh@glFZ#y<=d-+Tjy0nenc7IA>UuCguIwrD%ed%Kq1U%#7w zleYCUXsQzSya&pp35|XklXw-x1QFNLMWJx*B2#E>}VOiO}uvw@6mQ?3Z?Mh)4!AP)pWcM`9%N9AJx z1*$KC@Um3YTou~o3q>6hgQo{6VNWE!EXR9v+wCF`HbSjM?LZZET6#$wi|~8seO4fG zDp>=%JtUnoF1^*c|DSfNVqyNQ{>wrf>c1_(b%l`uMy?;%+X?<`Y89W*&3nm}DtvFM zAKLt~N0+y>`Q3V6t;)=c3ODsLH7o~=VXK7a9h!fzX|epTw(jqR<=8NaDWyy)sRj0x zU={1V9kK1Gdu;6BtE;?DrnhZx6~I*&CG1|Y z`(=-fFmBUwX3z4ly{f7z@puyUQOGPmdd3a02au62WlT$4cQ1$+pg|KDuJVmb*2h(i zwyz_pa~uA2<+Zdz>te_E34El_dxtq_%zsH`@3JZNEksbTH;6cV z1yw~sQTt>{1F63)=22yhU+0NTzZ8Hr`Vq$Ord z2w;pX*s-tM>2Lut#A%Z2b9eHdVhdX<`SZaYD&1nlF?}Q~1;A~F+BZ5x%fS`&yF{tm+` zJAApM$i`gF{rR38zQo1eXi*D)Fd#_v;6Q%+(^6lauh`a^;reGulQk1E%;bz{WPp}N zuj9yfyz~dQs7Q*ri6iAKi<5FS1{=c-eaQ==Sm|*6t577rC=YqDYR#wWFegvMwIV6F zgwNTtHY?*oOmJT0BRM8gurvG~-El3DVoQ{?==#2|Lo93Qg`szTGSlX*1)<>^Zw8Oe z_n*J<%}mH6`~AF@%X9M^t*UbIF9sSZ$g9^$Z=&*&DQ>&d?j#!v;eMHy9Vh*q{VX=K ztPXQCwh?_jv<`ceSJmg+q)|faJ>!afbFKwL?u=2X0dT#?z8R>OQW|h0U`&o>stO?6 z>!VnF?0z}^B8NPLN(76uk*uPV`vzURgtd{y0Nk#W?^fX7 zrXR~)8HUuiPSomj?$5D~aFeK<+74XZK4&Y)R^5Mo%O5sNv~5|eM>fviz_;Rn3Zu|y zJ`na;CDpsC;Ye;1$8+Xzp;ReE!T0S|v&#VlN7Wubpu8D1_r@1?Pox9)1r!;=1F5Mk) zdAeG~YiWRC@HmxK7tU`Ugf(AI9FS3BA=?Zjl(FB+W3QgPu5_<|6Qj{_@L^FL=T^?4 zSJ9A<@TA`U_*RVl`6Lx6=O|d>!Vgz&SvDoO)Yg7->m1)S#QLV_7(BMAS&>nkH=q*Z zK)qsCNG#EerWJwjI;Cm&He$Qj+dn8i8arD>!U__`i97kqIYFnv1Y*h# z9d7vgpWqaei)V6CrS(h1P}54EFywKNx^K~GrTdpF*Z}!2k6GtHISyOxgw>grXRjRF zZb*YTfh{bd<5jwre`k)@FLHXLCl*9Ck2-l zzTyFajiu(z2x_MVxV)8*cVuT)US*wIOv01rB4ZhWoBZ$1YWb{cYSd(x?1$ZW946m6 zKf)KvhkrXp(C;M%`f*Og8FE~Sj&tWGDe~uyZbbs+MTBovKvJYn2i4vlA5&YdPiJ?= z@=t#J#NPG|QTy(~7~%NwC44LAb7Xd56=}_~i1?zORLzuSTva=bU|PXea7j$ICXU6; zdT)?aYkk6>(_T~(zsO&HVLKXYd{G&nwF5squQ;l?Ov~It4M$uA-UU>e>ML5+#!x}h ztR5|FrL{5T6Mn!a1V*#chGWRen{{#r6iSvVL|iQj(PP>p>=jI*+UF>4{ zUnusQ{M@v6>)PcQ+*I6}w9nzh@EZ-YSd99egPrp=;zt|Th`UtfHtB+14AtC+$Kj$0 z*2hN=F0vj9On?LVc{2%ImlnHrpzx_SGM?c`xEW7hDLI7;BZ0u}qu1n@$xzwhr3dYr zPhLG&fd`KLS(Y!J%>DjupGT?MurC?L#OF)=d-d6FE)qAjg1gF z*3r7&v$`$nZhIPq2sk5dHlY1L<SFK_ik>+lQ{^=80%Y4w~0m=ZR&=&KLBS}zZkE!jC0wW<+N(I+8 zV7mAQLQgZo9ZS9Qx-Fc%$(ytv zjlcrXvP3kALidm?4zG=96lP5B1kFloYYx3Me{kKxjJr(u4^w1(>^yBB(b=F16PBGQ zoyz=nVB6Bb!)LbMSq2PPc!VP6zKfwq9kV^9qJD@V+jW2tkHIZ~q-a~a zxU9UOk-}b{yKQLOHI_|1Y%!x+B(nYxFFBTI{6p}IJpUI?{u#jv64}!|;(UfFYQY@5 z<&xoZZ`08q_;V4Or?VE)U@@84E@o5g~y;gJ8^q;E3?Kn(jo7uBJd zu)u$({FepS|N2IQ{KUKB_;=ZMg(~U>pmWiB-nj zOWI5!^cIBAo9}8+!~ogg^YeYmqRoei?|R;V4=q0_;j9i@DNTj(!#80%-g|SNX+0z# z5oS6w)YRsHVMV3uj96WovY#%7-&R;B$Ls7Zt=b%|z1vEY-k;eHIiJy=g7f*BIz=+A zCA@fcL)A9UNx8kQtqP$mDS4X7XiIix3cL}CEj2GCo7z>UUSLc8KCUKt-N47)oo9YV zX}fx00xieBPB3>ioTfQ|P;D@0Sha@6>OjU=kIuB*kwv~Xl4;TagqcsX}s<$-<~5mHRT5)6u*GMJ$HyXi3btwm^!klHf2c;pEsVRqm{IO zn!{o?^Bss$Zviz`Mpi8o@-ZlOh@wB!Qcw`9qb|u9>k*2Z_9GmAJxMz!?34SWz z(GRfPuHD4;xO`^P96(lI9yk@s>%VVH*ZSUfY^`{?T57Of(CU!q*<<%$U^vTmSmu+a zuh4LPf4*O@V0jrvgBsTp91zDiaXxJc_jVpA>jm_~^)uulfPdVA`+ z=K85mKe03aJ+m!w%@&$_A3PW7M(ZZSnSEU|I#gC(; zZ)jqcl4~j9r2~ram8h`Ya0s<5-YKS@N81z+>nj6F#rfj|`o;z*n+{AyES4*U3TE}B zE`2^K;7`MID`N2kbK@xVboz$YLchO%ULg=3-w;ww(Rv3jU;F+rMF9cdNQux*(KS4U z$*woJd`DEvkDWTeD4CsY7>OAdQ4ja$j_Ve$TIgc{6AemRr}9QR0$V(~8hc&&BJw8( z%ZN;1W)$`l!Pg`gJpI}R91$zHPjk2X)$_rAUQtf+LfYw}kEk(LEP?Ep<1mD32A<(5 zJsAX|ni16P$Xp9TZeDIF^HX*OBT28rspJ`UJc3>?rObLvW8fP`4f6zyac}gI2R39; z8=P|J9N(-9m)IKk&PkqMH5Hx+&yAt$y!r6I-rBkiZ0c%G+MC&qa}T591t=??(S37Y z=+`hNDw!smURu4e>=A5e8)x@K9q>ezP8Ac{SJ!c11WXrvE7K?*fA@x{tSTSIFkkL6 zFLg(u9}88AS$;!MOw_j9S{(q-_2Nkb*es@Ono@>}iJb)$lDXh)4*csA!a8QsNp}*CR1Vwi+mI5%H90=^J|;(jfi}GBJXsAg}QA{ zUKM1Au}gNQqz4Jk_U%Gm0nVi3UYFb;FiU3Q(3ny8nC>knPRTpxLq9;R`mNwIz~1=O zL3iCqqvzxf`l0|^>0fR3GuKhIblM1YQOlU9Gnq5KI5W~A)A`}9%iNRr3qH$;yJ2^0 z33MxL$a2H>pgKq%=D1`=0-am4r?%((Zt)yn5A&4gu`QD&UNJq`wtypuW#C@p>}7ae zS;0wKRnSq~^AvRwN`!VEQut{aXp%wf>(YVAe**&13pX$e?;`CrV`sjf=K3%p;>Rw^ zQB7!PGwqH0GWeB{yxX5QcX`COr1X3KZ-t|)kkK13B7BU4U+-Xqx9#`)Fk2KN1eU8R z88lRfK2w6qW$9YKRlLbv8?(eQH)}1wq06^_`^CfNP@&s)RkphFffuG(BqlCTluHQeXT?5WV|m0U1qV(rYRF zCNwPgCLTA+_wFG06i*mjpz4k1c1Fx_>EfQ3Oo;)r&Ng7`o27~ zIBC+n%CaYarV-^QuxelAr9{(0_!*7eB3@n-u#FL#eNcI;RojczPeW!eJ!=IkBfGFQ z==H!`S#sK1yLX7QY;c|6UDaQ`>BDcUM#i`B^lPL*-?+^dbuwmt=I|3T*~&#%#3BOH ziKd4}^jCNU6`3yvBx-(ch8?rXP42nKUM?=MomWrSdB=-5KqGTbuoeqttk`E{=0SM{ z`{SIG8%FrSYG1Q^p3C!qLzykiui}o}+~-yMUxYCU=Wj>#=%v-pJ+1mG^@Qie8|BzShty(E5ZBjppS%IsxUxqs(rd2E}Co1EH3qfyXh{8lN! z+#WmF_}O!CSV8ab=MUR`;YZ1-jz@i}D$Fn{(98YhAD=@ZWbZ$hjSHRGr^9YN?d@z* zBIe&Q6=j$B%TCRDM_qoPcRvik-_)K~Y(Cw+6e;v|b{TZsg-UV;!sm?pD?`;au916a ze@lZl({4+wTT{xJIOpmrZcb)rb?PrNb?u%3?hp6CU-TZQ(k@XDl-~Qm{Wrb$7wPtw z*9L)p_52X1BY}`+Z4Xu0w0TclSgy1~PfAI3HyamqTU!S!8xGfxcARfGxad?ITs(cK z{xiYM?W5~^8!Hb^enBp0K00Yn2PbQGAuew2G#RgU94>x#Zf^EByxQE{!aUHoU>b(E zB=iQV-rQt7f~s${L^+*pJS>E5tQ|ZYTO>{+-V!$(r|Bt z(x`p#$b|%HsQ#7R%HHCmg_VcRM|LY$PZtj{8bQ7{X|H`b3H}%Alo%$hZj1!z&a!)l zXWTq06E#DviGdOseG{ySNGB;xgff?6DJkXmi={g}9G98KggO{yuJ&s%J~InS_02m( zigJalAm7WMj|Wo)_j`{!`8*7>cL zWvp|$5M3@Q8@-&Shd4haBLs(=a#}RbpAELwui`a%g(2@TUNN3$zD8pQTpdK6+Z)*W zf)#f9`Y{wdVXdjEg^TrI2be;J$l)v}%P!4ExS){I>;cc>WLOrzCR$%z(%KC%ff8}! z`NTTM>fSWL2|>{}sIV^FxRk4-_ceEWR%*mVSW9B#G8JHatfxgxyZPU9?X^{%?wF); zpNMlLIR^=0;Y(-3nz@?+=P|_JJdu;Tio6|0>CA7DI(+@41yKW^RB97B741p2H0;+8 z`*7fdt^|B%@Z&|lAB&9Ek38(Pt(y(G>IIz~b66$|tucMYsLi-?Fq8WcHS3gI4qoQN z6Y-8@AC+}OTtxiU+ld_&*cEtcn;4n-0sF=rGS)bwYR>$Kh8b-Hyq!wa?4s^bnhm3P zIr;o@1M+CQeIN>47HenL8Z$u%Rk>$|Y(nbmZTix_D2pknh`u5N<<-uvt+d zQh=$ZCLRQ@)cg7N*xzm#qj!35 zIxA@C2Cx%MG6j&qfINF=n$=Vmsx3)8agFX5{qLK+7#cFVy5Ki1usFD0*!QLJi(ZZ1 zl1Vtu3uNy+MTpa?H3>G-P4BdXc!C@P>~)5Qm1jlSX@6!;2Dua6WYd)YA;M`5YNxCa z351_|ot9Hno;{*_btqm_iX4k+7Gh#fQ_>MrsGp)UMA)LV zxoPua84~`<_dJ{lPui&%DIfoeFesb+aX~lVWTqu_^4O#P)CpqP(yz!*z4v2-HY5Ad zeF^>?zAPW(m<&D9+SkK>v-GC<$!<;Stu#kEoQ~0Q$HJ3eq9QByR~im2fGeYAy<9r0 z$eZHB%iRz{K7bM>UAJC&7+a|MOAWcDnuv>VyG3O+t4<3|?xI-c1s}g@o|XzFWGr8U zFYM9U&)6e4zYgtYiG$PDG`Q3KyplGXM6+IUiD-cB>|L7yzImbexYLFrgib#z-k-6G z8f%;OxVaKp>fo5x1EZL%iS_Z@Y5Xvn%H0jh%^)1K|0(KF9gQpb)SK{-DI+Cy#esnJ;FNmZOCILh|>5(QDtWQ?j-C51zexJ~!-+J~bq`a6;Nj5e2 zSb^|ARj*$^;XL4Vr(saWMY>L4j|s>%JozdVXkKMOUZI5l$WG9Qzu)AU#+k0$lW&Je ztMO>j0ev5SPcYSohriuZXtfEq4?fJ*hLxA}Zu`<`lDdB0Vk*tcUACvSzx#)LNthg7 zrvPX14m{z;_>F`nD;-{I(ll-dOx8#HGw}Ro8juOr)^Jom(ms}x)z5amkK25`e@mk3 zo5+^+BUjq~#4f)g9Q0*&r&@8CNbHOiBck;Ub;P*EV}5(bgZiM7y{=T$v~DlCzQiAf z;}-KHi*i~@&UqSd*Xexs1u9|M@OP58@Q2QHV-HE~UcRtkgxO!<*K+da_r2RC4gAtF zT)@CduZ?Q0u&E%;ZfAju!Fk-tr`IYG)sYw<4L$#SNg{Avft=^b$a)>Dh-oX_uNNOb ziwJ-?a2fV2?u!u9XTBSQ^K@Qu@frESi3G7QFp^9JN@>4sh2Lk7 zt18AsPCm+*B}^D^q7Y4!5|W@_u^jP=d2q?tr{lU+wEdq9uilifUz!r8(a9Tq(AYpY=SvpWS55;qR(U=@S-yz*bbG><87;}RlYL(Ww11nlP?S>GQ~I#Reg)I?lxg-J*hv?agY1P9 zAsS^`#y9v;M>qePR)mqMGD*K2qqjtL=Dkodck z6Ou*gfurl$Hg!YNcF+o@fDNKeH|e>X!|xOd_ElS*b;Wz#jM(drk2)Oy7fXO2zuYHb z$ZwCfimQ+V!}(s*qy42TCmInf?v$JeG?!^X%xVKQHnL}AHC4r+7vyfAImw2+A6#&NHyK^OuV__+u>&||2gT3uUNSN%bOC`PfwMeFT6W-FJcI)4CE(b zcPrb0Mc4e2q4TWS-d7hh`Ni*2ajS|nXoI7swzkg7gEY$RYeG&znMAY`VDvc*uPPH= z-e6bIYwoG_V$?efSghP}{xUXV88m06?H%vA`d?Ce={_e20G`cY{*=;Lx)IIMN*3 zArO;ZOXq|(?R(U&e)-&Yld7+r@K1`C<15ZrM_p-H`A z&C!yZWWWqbkk^xu+6z^z`i&{{YPEZnfVCiZf)LtZ=vL+ISH-LRgJRJKQh zWGfaVGSa*6nUnjuk^V(3gXERsI4BUVI_kls4!0l!Pka^Oy&3{V1BpK~@y4U}+4EldBs_JX+aWZj}B@4 z-`@Tf&KQcuKl4)QVA80`N~}J68=D200hVg6#@if~-C0ol_h3g}nFfKd2XV07v#gax z1nL7EB|Ibcx@;1(Ua~6j>pz;-TiN`yRJB^IbukDmoE9wmIkwdzr}enWZB`nq{N_3G zM%F#Dpn0ww#%#20PhvT-ylZ-v`%FY#&NRO3%&rjqD+fVPNe-n3d-2jjxI%nh84%dl zme&ZYWkPo?hI&yH%rJi;xZuDt>Y>>Md80?B!$|gpf2}S1b@=ml)@Zn%zMbnUcrIcD`GC1E%ZBG31)Msq@$DgP*3u0_ZJ@;&a$zRxTI5(K$R=By)zRMI9Fk zzl}ZuUY`P=PyP%x{(%sQQtVvd%K&wVKE%KEs3#WAzO^YzsXgLVP&{E?x*ep!IHDc= zU`=?l8FH1&e^Hbstr>fP&uTe~>4;6SVto9Ix+Qxw_o2ZUF~Z(8TMhRxEtx&yZRPG^ zCoIMYzjwS{(2Ze++HpvNIAz@%{%}%PA7wb{SlcJ}p3Fl(;{?am)1V%6cMPE3gMz+# ziOWA+Np~a@J;<)aEx`^#(M$rhd49V{5@ylf zmGl)e<}7W;n-_CYFUc%I`KDK=1MrUn%FC?ZO%q&p>X9c_!*jnF38%dJCV5De{TMXX z%$l><9t#kM8ngO4PvzS+Y_3k8#?-H&&2{vn@^<_d@{549gpfzibfjLXWYXY?m)Nwwn)SB$jV3ZnBY%~J6S|EIssK52{ zVCBvfUq#_4THhScuGXnCw!can~y>g z4gq?wc^3QUTiMQUUE6s9)1%*q^P}r0++)XmwEEd>`-Va*j1<{AgcpmdWxgg@kFMJj zI)|mF0?P@Z+w%kslvGr)Qo!&&?oCLDP$>*UccKP2elvHvScD^{1Xr-=4It z?8yjiMn4G09}x`(R6E?5B!<(k#9jpXb$`iQOFa!rA^aA{Iw}ro&cR)h({2@&gXJ+8 z=smJTl@COvZ7$#vV0L8I=nrOfwkPGHgHz&3=h%=v*3(!BJ+UHYo@u=h?&POS%$q|( z2pIHj*i&+%6$6LRScGxm-fV=VSd-!rhBQT1n(qz(TJv$?ku$G zXh|+vI%A||I#k1dW39`ustk@|i*e+v`7PpQ<&PDI-L4UHZLFA&)5xQ(%PR>mk=03r zAZI9!(F9#6#V~x=dB8P%hblJ~ifj(6^xYnX?;oG92eF;_y%e9A{X>czcqB3dL)IeLjA+der*hiYH)K{w`Xb!0 zZoP#s8xB>}ERXX9QE`bx2?Lm8y0pS(5%~TTgkkFd=ctOU6;Krw+LoI zu&JH;bIdbdd%f;b=~x+=dihXr*HIw`Pb1*pG3Z}@7{kKX+0wwRlxFg21^L&0^&E+I zNn-Waj}d<|o?3Q$;>wv38t_OLP;PQ=qy(4wPMo9}!r~h$e-vnb1Z`P5Lo6K!O{}_mr_CV4nOl7S=S$E>SvdWY7aUoqWo@4@ zE1Y&GZ*TUWxPCtXQ_~hw@6(J`6Dcnd>flRIeg0AMpwA`M+0wYSqnGS{?MP zaHcd59pxZE8p6=IzKd(llUc7`tBZHVzzz5_je)^-X^O1XWlnYOM0>cXf^VPU*m6z^ zhJc!%ST1z+CSdC>lG`^0VtJ?MO4g%^oz8=K7YUKdb9K%|*OqDoiw}OEL;SQ2O$g)x zw<^p`2lEv|d2T1Z^sd_#6wszUVt&9l(Ymfk{fTy|Wq{3x{0&(vCG4jK6y|+d%OmEk z{BsY=!6}5ml%c*9{#RGqQp~*B9UKY-GQ?TgrP(H|agugqT(+V9M`h|pRJH@i%gE&c zITZDFVa@Igq{i4YwBK6}VMT2g+moMx9@BSU_l|2y8y0H%dVSm91=tyg`=3qkUAF9I zx2ES$tM%UAOZ-_MzP(M#8}{R_Eew=Ue1{!NG&hpVGWy9qGneN3AH7WRqXw-HdRIhY z&eUJu*z8>rWEjP0&lD;*=hV&h;EkCFT^gvK`D)e<8HMrs{zkISc3Q<&|FEJzBN9n> znU~QvPu7PA`5Gd7c%v^8?!_$8wW!+*``6>^8O*xPfpTOIq1^6w%CK_|RfJt+n;Qn_$V4MW*CrldS1kJzW{wj+Lo2D_2 zmnQKYm-fGT>3{Lm{|-=hX#WUGf8}NTA793QRT&POwlhxqA5k5!Y5m^`pLU0b0R)@&rH%Ig%KmTv$S^SM|Hurzf=l~j`P%G%_n7>5cm3TP{{)Gk|3@{_ z>M$@?t}Y%nE*^hDKK}25X%nL)aA*c;%E6Sc{-3lEXqu-{TEQse-&m60$)Qg3(E2r@ zj}7lX?vri|10!wW?qJ2~ZuQZ@&4b;^>VLc6KcyRgfl>Y)s!je0P5HYmf2BiZA6oww zen98@zaH-Ylr*)2f%!|+@W0*epM(nW|CIRa526!P) +% ---------- Ende Reportvariablen-Umsetzung ---------- - <%street%> +% ---------- Briefkopf dazuladen ---------- +\input{kivitendobriefkopf} - <%zipcode%> <%city%> +\begin{document} +% ---------- Schrift Hauptdokuments (Computermodern-sanserif) ---------- +% \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont +% ---------- Schrift Helvetica ------------------------ +\fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont +% ---------- Firmenlogo nur erste Seite ---------- +\thispagestyle{briefkopf} - <%country%> -\end{minipage} +% ---------- Datum und Nummern ---------- +% Position unterhalb des Briefkopfs +\vspace*{\vlogospacing} +\renewcommand{\arraystretch}{0.9} +\begin{minipage}[b]{177mm} +\sperren{\textbf{Rechnung Nr. \invnumber}} +{\tiny Bitte stets angeben} \hfill -\begin{minipage}{6cm} - \rightline{\LARGE\textbf{\textit{Rechnung}}} \vspace*{0.2cm} - \rightline{\large\textbf{\textit{Nr. <%invnumber%>% \vspace*{0.2cm} - }}} - - Rechnungsdatum:\hfill <%invdate%> - - Auftrag-Nr:\hfill <%ordnumber%> - - Telefon:\hfill <%phone%> - - Telefax:\hfill <%fax%> - - Ansprechpartner:\hfill <%employee%> + \small + \begin{tabular}[b]{r@{\hspace{2mm}}p{\hlogospacing}} + \textbf{Seite} & {\thepage} von \pageref{LastPage}\\ + \textbf{Datum} & \invdate \\ + \textbf{Kunden Nr.} & \kundennummer\\ + \nonemptyline{\textbf{Auftrag Nr.} &}{\ordnumber} + \nonemptyline{\textbf{Rechnung Nr.} &}{\invnumber} + \textbf{Ansprechpartner} & \employeename\\ + \nonemptyline{\textbf{Durchwahl} &}{\employeetel} + \nonemptyline{\textbf{E-Mail} &}{\employeeemail} + \end{tabular}\\[10mm plus 20mm minus 10mm] \end{minipage} +\renewcommand{\arraystretch}{1} +\normalsize +% ---------- Begrüßung und Bemerkungen ---------- +\vspace{ 5mm} +\lettergreeting +Hiermit erlauben wir uns, Ihnen die nachfolgenden Positionen $(if orddate)$gemäß +Ihrem Auftrag vom \orddate{ }$(end)$in Rechnung zu stellen.\\ -\vspace*{0.5cm} +Für Nachfragen steht Ihnen \employeename \ per Telefon (\employeetel) +oder per E-Mail (\employeeemail) gerne zur Verfügung.\\[1\baselineskip] +\ifthenelse{\isempty{$(notes)$}}{}{ + $(notes)$\\[1\baselineskip] + }% +%Mit freundlichen Grüßen\\[1\baselineskip] +%\employeename\\[1\baselineskip] +% ---------- Die eigentliche-Tabelle ---------- +% ---------- Tabelle puffern ---------- +\begin{filecontents}{\employeetable} +% ---------- globale Variable laufsumme deklarieren ---------- +\resetlaufsumme +% ---------- Spaltendefinition ---------- +%\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{~\currency}}]}} +\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{}}]}} +% ---------- Kopfzeile der Tabelle ---------- + \textbf{Pos} & + \textbf{Art.Nr.} & + \textbf{Bezeichnung} & + \textbf{Menge} & + \textbf{ME} & + \textbf{EP/€} & + \textbf{GP/€} \\ + \midrule + \endfirsthead +% ---------- Tabellenkopf nach dem Umbruch ---------- + \textbf{Pos} & + \textbf{Art.Nr.} & + \textbf{Bezeichnung} & + \textbf{Menge} & + \textbf{ME} & + \textbf{EP/€} & + \textbf{GP/€} \\ + \midrule + & & \multicolumn{4}{r}{} & \MarkUebertrPos\\[1.5em] + \endhead +% ---------- Fuss der Teiltabellen ---------- + \midrule + & & \multicolumn{4}{r}{} & \MarkZwsumPos \\ + \endfoot +% ---------- Das Ende der Tabelle ---------- + \midrule +% & & \multicolumn{4}{r}{ Nettobetrag:} & \MarkZwsumPos \\ +\endlastfoot +% ---------- Positionen ---------- +$(foreach number)$ + $(runningnumber)$ & + $(number)$ & + $(description)$ +% \ifthenelse{\equal{$(longdescription)$}{}}{}{\newline +% \renewcommand{\baselinestretch}{1}\footnotesize +% {\footnotesize $(longdescription)$ +% \renewcommand{\baselinestretch}{1}\normalsize +% }} + \ifthenelse{\equal{$(deliverydate_oe)$}{\leer}}{}{ + \newline Lieferdatum:~$(deliverydate_oe)$} + & + $(qty)$ & + $(unit)$ & + \ifthenelse{\isempty{$(sellprice)$}}{&}{ + \numprint{$(sellprice)$} + \ifthenelse{\equal{$(p_discount)$}{0}}{}{ -$(p_discount)$\%} & + \numprint{$(linetotal)$}\Wert{$(linetotal NOFORMAT)$} + }\\ % + $(end number)$ -Ihre Bestellung <%cusordnumber%> vom <%orddate%> -% \hfill - - -\vspace*{0.5cm} - -Sehr geehrte Damen und Herren, - -für unsere erbrachten Lieferungen und Leistungen erlauben wir uns, -folgende Positionen in Rechnung zu stellen. - -\vspace{0.5cm} - -\begin{tabularx}{\textwidth}{lrXrr} - \hline - \textbf{Pos} & \textbf{Menge} & \textbf{Bezeichnung} & - \textbf{E-Preis/\euro} & \textbf{G-Preis/\euro} \\ - \hline - <%foreach number%> - <%runningnumber%> & <%qty%> <%unit%> & \raggedright <%description%> & - <%sellprice%> \euro & <%linetotal%> \euro \\ - <%if discount_sub%> & Zwischensumme: & & <%discount_sub%> \euro & <%end if%>\\ - <%end number%>\hline - \multicolumn{4}{l}{Nettobetrag} & <%subtotal%> \euro \\ - <%foreach tax%> - \multicolumn{4}{l}{<%taxdescription%>} & <%tax%> \euro \\ - <%end tax%> - \multicolumn{4}{l}{\textbf{Endbetrag}} & \textbf{<%invtotal%> \euro} \\ \hline -\end{tabularx} +\end{longtable} +% ---------- Ende der Hilfsdatei ---------- +\end{filecontents} +% ---------- Puffertabelle öffnen ---------- +\LTXtable{\textwidth}{\employeetable} +%---------- Bereich für die Summen ---------- +\parbox{\textwidth}{ +%---------- Summenbereich nach recht schieben ---------- +\hfill +\setlength{\tabcolsep}{0mm} +\begin{tabular}[b]{@{}r@{ }r@{ }l} + {Nettobetrag:}& \numprint{$(subtotal)$}& \currency\\ +% ---------- Alle Steuern ausweisen ---------- + $(foreach tax)$ +% {$(taxdescription)$ auf }\numprint{$(taxbase)$}~\currency: & \numprint{$(tax)$}& \\ + {$(taxdescription)$}: & \numprint{$(tax)$}& \currency\\ + $(end tax)$ + \midrule + {\textbf{Rechnungsbetrag:}} & \bfseries\numprint{\invtotal} & \textbf{\currency}\\ +% ---------- Wenn bereits etwas gezahlt wurde ---------- +$(if invtotal != total)$ + $(foreach payment)$ + Zahlung vom {$(paymentdate)$}: & {\numprint{-$(payment)$}} & \currency \\ + $(end paymentdate)$ + \midrule + \textbf{Offener Betrag: } & \textbf{\numprint{\total}} & \textbf{\currency}\\ +$(end)$ +\bottomrule +\end{tabular} +} %Ende des Summenkasten -\vspace{1cm} -\ifthenelse{\equal{<%deliverydate%>}{}}{Das Leistungsdatum entspricht, soweit nicht anders angegeben, dem Rechnungsdatum.}{Liefertermin: <%deliverydate%>} \\ -Zahlbar bis <%duedate%> in Summe <%invtotal%> \euro\ ohne Abzüge. +% ---------- Lieferadresse ---------- +\ifthenelse{% + \equal{\shiptoname}{\name} \AND + \equal{\shiptodepartmentone}{\leer} \AND + \equal{\shiptodepartmenttwo}{\leer} \AND + \equal{\shiptostreet}{\street} \AND + \equal{\shiptozipcode}{\zipcode} \AND + \equal{\shiptocity}{\city} + }{} +{ +% ---------- Umbruch dazwischen verhindern ---------- +\vspace*{0.5em} +\parbox{\textwidth}{ +% ---------- Bereich für Lieferadresse ---------- +\textbf{Leistungsempfänger:}\hfill\parbox[t]{0.7\textwidth}{ + \shiptoname \\ + \nonemptyline{}{\shiptodepartmentone} + \nonemptyline{}{\shiptodepartmenttwo} + \shiptostreet \\ + \shiptocountry{ }\shiptozipcode{ }\shiptocity\\[1mm] + \nonemptyline{Tel: }{\shiptophone} + \nonemptyline{Fax: }{\shiptofax} + }%ende parbox +}% ende parbox +}% ende ifthenelse +% ---------- Nachbemerkung mit max. Abstand nach unten ---------- +$(if payment_terms)$ +\vspace*{0.5em} +\textbf{Zahlungsbedingungen:}\hfill\parbox[t]{0.7\textwidth}{$(payment_terms)$}\\ +$(end)$ +\vspace*{0.5em} +%Bitte überweisen Sie den Rechnungsbetrag in Höhe von +%{\numprint{\total}~\currency} innerhalb von +%%{\numprint{\total}~\currency} +%\ifthenelse{\equal{\duedate}{\leer}}{{14}}{{\terms}}~Tagen +%auf das unten angegebene Konto. +%\ifthenelse{\equal{\duedate}{\leer}}{}\\ \vfil +% {Nach dem {\duedate} behalten wir uns Verzugszinsen vor.} +Soweit nicht anders angegeben, \ifthenelse{\equal{\deliverydate}{\leer}} + {entspricht das Leistungsdatum dem Rechnungsdatum.} + {wurde die Leistung am {\deliverydate} erbracht.}\\ +\vfill +\footnotesize +Bereits gelieferte Waren bleiben bis zur vollständigen Bezahlung der +Rechnung unser Eigentum. +%} \end{document} - diff --git a/templates/print/Standard/kivitendo-seite1.pdf b/templates/print/Standard/kivitendo-seite1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..83438433061a930873f53e79d61bc821fa159728 GIT binary patch literal 24513 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - - - - - - - - - - - - -
-

- <%company%> -
<%address%> -

-
-

- Tel: <%tel%> -
Fax: <%fax%> -

-
-

S A M M E L L I S T E

-
-
  - - - - - - - - - - - -
Lieferanschrift: 
<%shiptoname%> -
<%shiptostreet%> -
<%shiptozipcode%> -
<%shiptocity%> -
<%shiptocountry%> -
- <%if shiptocontact%> -
Kontakt: <%shiptocontact%> - <%end shiptocontact%> - - <%if shiptophone%> -
Tel: <%shiptophone%> - <%end shiptophone%> - - <%if shiptofax%> -
Fax: <%shiptofax%> - <%end shiptofax%> - - <%shiptoemail%> -
-
  - - - - - - <%if warehouse%> - - <%end warehouse%> - - - - - - - - <%if shippingdate%> - - <%end shippingdate%> - - <%if not shippingdate%> - - <%end shippingdate%> - - - - <%if warehouse%> - - <%end warehouse%> - - - - -
BestellNr. #DatumKontaktLagerVersandortTransportmittel
<%ordnumber%> <%shippingdate%><%orddate%><%employee%> <%warehouse%> <%shippingpoint%> <%shipvia%> 
-
  - - - - - - - - - - - - <%foreach number%> - - - - - - - - - <%end number%> -
PosNummerBeschreibungMengegeliefert Lagerplatz
<%runningnumber%> - <%number%><%description%><%qty%>[      ]<%unit%><%bin%>
-
 
- diff --git a/templates/print/Standard/pick_list.tex b/templates/print/Standard/pick_list.tex index 6da629b7f..f50518266 100644 --- a/templates/print/Standard/pick_list.tex +++ b/templates/print/Standard/pick_list.tex @@ -1,3 +1,14 @@ +% pick_list.tex +% Sammelliste Verkauf +% Überarbeitet von Norbert Simon, n.simon@linet-services.de +% Version 2.5 vom 16.Oktober 2011 +% Basiert auf der Arbeit von kmk@lilalaser.de / 2007 +% Diese Vorlage steht unter der GPL-Lizenz, Version 3 +% siehe http://www.gnu.de/licenses/gpl-3.0.html +% ---------- +% config: tag-style=$( )$ +% ---------- + \documentclass[twoside]{scrartcl} \usepackage[frame]{xy} \usepackage{tabularx} @@ -29,19 +40,34 @@ \parbox{\textwidth}{ \parbox[b]{.42\textwidth}{ - <%company%> + $(company)$ - <%address%> + $(address)$ }\hfill \begin{tabular}[b]{rr@{}} - Tel & <%tel%>\\ - Fax & <%fax%> + Tel & $(tel)$\\ + Fax & $(fax)$ \end{tabular} \rule[1.5ex]{\textwidth}{0.5pt} } +%$(pagebreak 90 27 37)$ +%\end{tabular*} + +%\newpage + +\markboth{$(company)$\hfill $(ordnumber)$}{$(company)$\hfill $(ordnumber)$} + +\vspace*{-12pt} + +%\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rcll@{}} +% \textbf{Pos} & \textbf{Nummer} & \textbf{Beschreibung} & +% \textbf{Menge} & \textbf{Lagerausgang} & & \textbf{Lagerplatz} \\ +%$(end pagebreak)$ + + \vspace*{0.5cm} \parbox[t]{1cm}{\hfill} @@ -54,24 +80,24 @@ \parbox[t]{1cm}{\hfill} \parbox[t]{.5\textwidth}{ -<%shiptoname%> \\ -<%shiptostreet%> \\ -<%shiptozipcode%> \\ -<%shiptocity%> \\ -<%shiptocountry%> +$(shiptoname)$ \\ +$(shiptostreet)$ \\ +$(shiptozipcode)$ \\ +$(shiptocity)$ \\ +$(shiptocountry)$ } \parbox[t]{.4\textwidth}{ - <%shiptocontact%> + $(shiptocontact)$ - <%if shiptophone%> - Tel: <%shiptophone%> - <%end shiptophone%> + $(if shiptophone)$ + Tel: $(shiptophone)$ + $(end shiptophone)$ - <%if shiptofax%> - Fax: <%shiptofax%> - <%end shiptofax%> + $(if shiptofax)$ + Fax: $(shiptofax)$ + $(end shiptofax)$ - <%shiptoemail%> + $(shiptoemail)$ } \hfill @@ -81,44 +107,58 @@ \hfill \vspace{1cm} - +\typeout{hier?} \begin{tabularx}{\textwidth}{*{6}{|X}|} \hline - \textbf{BestellNr. \#} & \textbf{Datum} & \textbf{Kontakt} - <%if warehouse%> - & \textbf{Lager} - <%end warehouse%> - & \textbf{Lagerplatz} & \textbf{Lieferung mit} \\ [0.5em] + \textbf{BestellNr. \#} & + \textbf{Datum} & + \textbf{Kontakt} & + $(if warehouse)$ \textbf{Lager} & $(end warehouse)$ + \textbf{Lagerplatz} & + \textbf{Lieferung mit} \\ [0.5em] \hline - <%ordnumber%> - <%if shippingdate%> - & <%shippingdate%> - <%end shippingdate%> - <%if not shippingdate%> - & <%orddate%> - <%end shippingdate%> - & <%employee%> - <%if warehouse%> - & <%warehouse%> - <%end warehouse%> - & <%shippingpoint%> & <%shipvia%> \\ + $(ordnumber)$ & + $(if shippingdate)$ $(shippingdate)$ &$(end shippingdate)$ + $(if not shippingdate)$ $(orddate)$ &$(end shippingdate)$ + $(employee)$ & + $(if warehouse)$ $(warehouse)$ &$(end warehouse)$ + $(shippingpoint)$ & + $(shipvia)$ \\ \hline \end{tabularx} \vspace{1cm} -\begin{tabular*}{\textwidth}{@{}rlp{\descrwidth}@{\extracolsep\fill}rcll@{}} - \textbf{Pos} & \textbf{Nummer} & \textbf{Beschreibung} & - \textbf{Menge} & \textbf{Lagerausgang} & & \textbf{Lagerplatz} \\ -<%foreach number%> - <%runningnumber%> & <%number%> & <%description%> & - <%qty%> & [\hspace{1cm}] & <%unit%> & <%bin%> \\ -<%end number%> -\end{tabular*} - +%\begin{tabular*}{\textwidth}{@{}rlp{\descrwidth}@{\extracolsep\fill}rcll@{}} +\setlength{\tabcolsep}{0mm} +\begin{tabularx}{\textwidth}{p{1.5cm}p{6cm}p{2cm}p{2cm}p{4cm}p{1.5cm}} + \textbf{Art-Nr} & + \textbf{Beschreibung} & + \textbf{Serien-Nr} & + \textbf{Menge} & + \textbf{Lager} & + \textbf{Lagerplatz} \\ +$(foreach number)$ + $(if si_qty)$ + $(foreach si_number)$ + $(si_number)$ & + $(si_description)$ & + $(si_chargenumber)$ & + \hfill $(si_qty)$ $(si_unit)$ & + $(si_warehouse)$ & + $(si_bin)$\\[1em] + $(end si_number)$ + $(else)$ + $(number)$ & + $(description)$ & + & + \hfill $(qty)$ $(unit)$ & + & \\[1em] + $(end si_qty)$ +$(end number)$ +\end{tabularx} \parbox{\textwidth}{ \rule{\textwidth}{2pt} } \end{document} - diff --git a/templates/print/Standard/proforma.tex b/templates/print/Standard/proforma.tex new file mode 100644 index 000000000..adefdde17 --- /dev/null +++ b/templates/print/Standard/proforma.tex @@ -0,0 +1,284 @@ +% proforma.tex für LX-Office ab V2.6.3 +% Proforma Rechnung Verkauf +% Überarbeitet von Norbert Simon, n.simon@linet-services.de +% Version 2.5 vom 15. November 2011 +% Basiert auf der Arbeit von kmk@lilalaser.de / 2007 +% Diese Vorlage steht unter der GPL-Lizenz, Version 3 +% siehe http://www.gnu.de/licenses/gpl-3.0.html +% ---------- +% config: tag-style=$( )$ +% ---------- + +\documentclass[twoside]{scrartcl} +\usepackage{fancyhdr} % Für den Seitenkopf und -Fuß +\usepackage{ifpdf} % Erlaubt eine Code-Weiche für PDF, oder DVI Ausgabe +\usepackage{xifthen} % Allgemeine Code-Weiche +\usepackage{graphicx} % Fuer die Einbindung der Logo-Graphik +\usepackage{german} % Deutsche Trenn-Tabelle +\usepackage[utf8]{inputenc} % Umlaute direkt eingeben +\usepackage{textcomp} % Sonderzeichen +\usepackage{lastpage} % Fuer die Angabe "Seite 2 von 5" +\usepackage{filecontents} % Um von latex aus eine Datei schreiben zu koennen +\usepackage{etex} % Damit Marken verwendet werden koennen +\usepackage{ltxtable} % Mehrseiten-Tabellen mit variabler Spaltenbreite +\usepackage{booktabs} % Striche in Tabellen +\usepackage{numprint} % Zahlen formatiert ausgeben +\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 +\usepackage{microtype,relsize} %Feinpositionierung, Sperren von Text +\newcommand*{\sperren}[1]{\normalsize\textls*[200]{#1}} %Sperrung Überrschriften + +% ---------- Report-Variablen für kivitendobriefkopf.tex ---------- +% ---------- Die eigenen Daten ---------- +\newcommand{\employeename}{$(employee_name)$} +\newcommand{\employeecompany}{$(employee_company)$} +\newcommand{\employeeaddress}{$(employee_address)$} +\newcommand{\employeetel}{$(employee_tel)$} +\newcommand{\employeefax}{$(employee_fax)$} +\newcommand{\employeeemail}{$(employee_email)$} +\newcommand{\employeecoustid}{$(employee_co_ustid)$} +\newcommand{\employeetaxnumber}{$(employee_taxnumber)$} +\newcommand{\employeetable}{tabelle$(employee_login)$.tex} + +% ---------- eigene Bankverbindung falls nicht im Briefkopf ---------- +% \newcommand{\companybank}{$(company_bank)$} +% \newcommand{\companybankcode}{$(company_bank_code)$} +% \newcommand{\companyaccountnumber}{$(company_account_number)$} + +% ---------- Adressat ---------- +\newcommand{\name}{$(name)$} +\newcommand{\departmentone}{$(department_1)$} +\newcommand{\departmenttwo}{$(department_2)$} +\newcommand{\cpgreeting}{$(cp_greeting)$} +\newcommand{\cptitle}{$(cp_title)$} +\newcommand{\cpgivenname}{$(cp_givenname)$} +\newcommand{\cpname}{$(cp_name)$} +\newcommand{\street}{$(street)$} +\newcommand{\country}{$(country)$} +\newcommand{\zipcode}{$(zipcode)$} +\newcommand{\city}{$(city)$} +\newcommand{\phone}{$(customerphone)$} +\newcommand{\fax}{$(customerfax)$} +\newcommand{\lettergreeting}{ + \ifthenelse{\equal{$(cp_gender)$}{f}} + {Sehr geehrte Frau $(cp_name)$,} + {\ifthenelse{\equal{$(cp_gender)$}{m}} + {Sehr geehrter Herr $(cp_name)$,} + {Sehr geehrte Damen und Herren,} + }\\[1\baselineskip] +} + +% ---------- Bestellvariablen ---------- +\newcommand{\quonumber}{$(quonumber)$} % Angebotsnummer +\newcommand{\ordnumber}{$(ordnumber)$} % Auftragsnummer bei uns +\newcommand{\cusordnumber}{$(cusordnumber)$} % Auftragsnummer beim Kunden +\newcommand{\invnumber}{$(invnumber)$} % Rechnungsnummer +\newcommand{\docnumber}{Proforma ReNr. {\ordnumber}} % \quonumber +\newcommand{\quodate}{$(quodate)$} +\newcommand{\kundennummer}{$(customernumber)$} +\newcommand{\reqdate}{$(reqdate)$} +\newcommand{\transdate}{$(transdate)$} + +% ---------- Lieferadresse ---------- +\newcommand{\shiptoname}{$(shiptoname)$} +\newcommand{\shiptocontact}{$(shiptocontact)$} +\newcommand{\shiptodepartmentone}{$(shiptodepartment_1)$} +\newcommand{\shiptodepartmenttwo}{$(shiptodepartment_2)$} +\newcommand{\shiptostreet}{$(shiptostreet)$} +\newcommand{\shiptocity}{$(shiptocity)$} +\newcommand{\shiptocountry}{$(shiptocountry)$} +\newcommand{\shiptophone}{$(shiptophone)$} +\newcommand{\shiptozipcode}{$(shiptozipcode)$} +\newcommand{\shiptofax}{$(shiptofax)$} + +% ---------- Währung setzen ---------- +\newcommand{\currency}{$(currency)$} +\ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{} +\ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{} +\ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{} +\ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{} + +% ---------- Ende Reportvariablen-Umsetzung ---------- + +% ---------- Briefkopf dazuladen ---------- +\input{kivitendobriefkopf} + +\begin{document} +% ---------- Schrift Hauptdokuments (Computermodern-sanserif) ---------- +% \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont +% ---------- Schrift Helvetica ------------------------ +\fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont +% ---------- Firmenlogo nur auf Seite 1 ---------- + \thispagestyle{briefkopf} + +% ---------- Datum und Nummern unterhalb des Briefkopfs ---------- +% Position unterhalb des Briefkopfs +\vspace*{\vlogospacing} +\renewcommand{\arraystretch}{0.9} +\begin{minipage}[b]{177mm} +\ifthenelse{\isempty{\invnumber}} +{\sperren{\textbf{Proforma-Rechnung Nr. \quonumber}}} +{\sperren{\textbf{Proforma-Rechnung Nr. \invnumber}}} +{\tiny Bitte stets angeben} +\hfill + \small + \begin{tabular}[b]{r@{\hspace{2mm}}p{\hlogospacing}} + \textbf{Seite} & {\thepage} von \pageref{LastPage}\\ + \textbf{Datum} & \transdate \\ + \textbf{Kunden Nr.} & \kundennummer\\ + \ifthenelse{\isempty{\invnumber}} + {\textbf{Proforma-Rechnung Nr.} & \quonumber\\} + {\textbf{Proforma-Rechnung Nr.} & \invnumber\\} + \nonemptyline{\textbf{Vorraussichliches Lieferdatum:} &}{\reqdate} + \textbf{Ansprechpartner} & \employeename\\ + \nonemptyline{\textbf{Durchwahl} &}{\employeetel} + \nonemptyline{\textbf{E-Mail} &}{\employeeemail} + \end{tabular}\\[10mm plus 20mm minus 10mm] +\end{minipage} +\renewcommand{\arraystretch}{1} +\normalsize +% ---------- Begrüßung und Bemerkungen ---------- +\vspace{ 5mm} +\lettergreeting +bitte überweisen Sie den ausgewiesenen Rechnungsbetrag für Ihre +nachfolgend aufgeführte Bestellung auf das unten angegebene Konto. +\ifthenelse{\isempty{$(notes)$}}{}{ + \newline + $(notes)$ + } +\vspace{5mm} + +% ---------- Die eigentliche-Tabelle ---------- +% ---------- Tabelle puffern ---------- +\begin{filecontents}{\employeetable} +% ---------- globale Variable laufsumme deklarieren ---------- +\resetlaufsumme +% ---------- Spaltendefinition ---------- +%\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{~\currency}}]}} +\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{}}]}} +% ---------- Kopfzeile der Tabelle ---------- + \textbf{Pos} & + \textbf{Art.Nr.} & + \textbf{Bezeichnung} & + \textbf{Menge} & + \textbf{ME} & + \textbf{EP/€} & + \textbf{GP/€} \\ + \midrule + \endfirsthead +% ---------- Tabellenkopf nach dem Umbruch ---------- + \textbf{Pos} & + \textbf{Art.Nr.} & + \textbf{Bezeichnung} & + \textbf{Menge} & + \textbf{ME} & + \textbf{EP/€} & + \textbf{GP/€} \\ + \midrule + & & \multicolumn{4}{r}{} & \MarkUebertrPos\\[1.5em] + \endhead +% ---------- Fuss der Teiltabellen ---------- + \midrule + & & \multicolumn{4}{r}{} & \MarkZwsumPos \\ + \endfoot +% ---------- Das Ende der Tabelle ---------- + \midrule +% & & \multicolumn{4}{r}{ Nettobetrag:} & \MarkZwsumPos \\ + \endlastfoot +% ---------- Positionen ---------- + $(foreach number)$ + $(runningnumber)$ & + $(number)$ & + $(description)$ + \ifthenelse{\equal{$(longdescription)$}{}}{}{\newline + \renewcommand{\baselinestretch}{1}\footnotesize + {\footnotesize $(longdescription)$ + \renewcommand{\baselinestretch}{1}\normalsize + }} & + $(qty)$ & + $(unit)$ & + \ifthenelse{\isempty{$(sellprice)$}}{&}{ + \numprint{$(sellprice)$} + \ifthenelse{\equal{$(p_discount)$}{0}}{}{ -$(p_discount)$\%} & + \numprint{$(linetotal)$}\Wert{$(linetotal NOFORMAT)$} + }\\ % + $(end number)$ + +\end{longtable} +% ---------- Ende der Hilfsdatei ---------- +\end{filecontents} +% ---------- Puffertabelle öffnen ---------- +\LTXtable{\textwidth}{\employeetable} +%---------- Bereich für die Summen ---------- +\parbox{\textwidth}{ +%---------- Summenbereich nach recht schieben ---------- +\hfill +\setlength{\tabcolsep}{0mm} +\begin{tabular}{@{}r@{ }r@{ }l} +% \toprule + {Nettobetrag:}& \numprint{$(subtotal)$}& \currency\\ +% ---------- Alle Steuern ausweisen ---------- + $(foreach tax)$ +% {$(taxdescription)$ auf }\numprint{$(taxbase)$}~\currency: & \numprint{$(tax)$}& \\ + {$(taxdescription)$}: & \numprint{$(tax)$}& \currency\\ + $(end tax)$ + \midrule + \ifthenelse{\isempty{$(ordtotal)$}} + {{\textbf{Gesamtbetrag:}} & \bfseries\numprint{$(invtotal)$} & \textbf{\currency}\\} + {{\textbf{Gesamtbetrag:}} & \bfseries\numprint{$(ordtotal)$} & \textbf{\currency}\\} + \bottomrule +\end{tabular} +} +% ---------- Transportmittel ---------- +$(if shipvia)$ +Lieferung per $(shipvia)$.\\[1em] +$(end)$ +% ---------- Lieferadresse ---------- +\ifthenelse{% + \equal{\shiptoname}{\name} \AND + \equal{\shiptodepartmentone}{\leer} \AND + \equal{\shiptodepartmenttwo}{\leer} \AND + \equal{\shiptostreet}{\street} \AND + \equal{\shiptozipcode}{\zipcode} \AND + \equal{\shiptocity}{\city} + }{}{ +% ---------- Umbruch dazwischen verhindern ---------- +\parbox{\textwidth}{ +% ---------- Bereich für Lieferadresse ---------- +\textbf{Lieferanschrift:}\hfill\parbox[t]{0.7\textwidth}{ + \shiptoname \\ + \nonemptyline{}{\shiptodepartmentone} + \nonemptyline{}{\shiptodepartmenttwo} + \shiptostreet \\ + \shiptocountry{ }\shiptozipcode{ }\shiptocity\\[1mm] + \nonemptyline{Tel: }{\shiptophone} + \nonemptyline{Fax: }{\shiptofax} + }%ende parbox +}% ende parbox +}% ende ifthenelse +% ---------- Nachbemerkung mit variablem Abstand ---------- +$(if reqdate)$ +\vspace*{0.5em} +\textbf{Das Angebot ist gültig bis zum \reqdate.}\\ +$(end)$ +$(if payment_terms)$ +\vspace*{0.5em} +\textbf{Zahlungsbedingungen:}\hfill\parbox[t]{0.7\textwidth}{$(payment_terms)$}\\ +$(end)$ +\vspace*{0.5em} +Die Ware bleibt bis zur vollständigen Bezahlung unser Eigentum. +$(if reqdate)$ +\vspace*{0.5em} +Sollte bis zum \reqdate{ }kein Zahlungseingang erfolgen, ist der Vertrag hinfällig. +$(end)$ +\vspace*{0.5em} +Nutzen Sie bitte für Fragen oder Änderungswünsche die oben angegebenen Kontaktmöglichkeiten.\\ \vfil +\parbox{\textwidth}{ +\vspace*{1em} +Mit freundlichen Grüßen\\ \vfil +\employeename +} % parbox +\vfill +\footnotesize +Es gelten unsere AGB, die wir Ihnen -- falls nicht zur Hand oder unbekannt -- gern zusenden. + +\end{document} diff --git a/templates/print/Standard/purchase_delivery_order.tex b/templates/print/Standard/purchase_delivery_order.tex new file mode 100644 index 000000000..cec5b7931 --- /dev/null +++ b/templates/print/Standard/purchase_delivery_order.tex @@ -0,0 +1,100 @@ +% purchase_delivery_order.tex für LX-Office ab V2.6.3 +% Bestell-Eingangslieferschein +% ---------- +% Überarbeitet von Norbert Simon, n.simon@linet-services.de +% Version 2.1 vom 21.Oktober 2011 +% Basiert auf der Arbeit von kmk@lilalaser.de / 2007 +% Diese Vorlage steht unter der GPL-Lizenz, Version 3 +% siehe http://www.gnu.de/licenses/gpl-3.0.html +% ---------- +% config: tag-style=$( )$ +% ---------- + +\documentclass[twoside]{scrartcl} +\usepackage[frame]{xy} +\usepackage{tabularx} +\usepackage[utf8]{inputenc} +\usepackage{graphicx} +\setlength{\voffset}{0.5cm} +\setlength{\hoffset}{-2.0cm} +\setlength{\topmargin}{0cm} +\setlength{\headheight}{0.5cm} +\setlength{\headsep}{1cm} +\setlength{\topskip}{0pt} +\setlength{\oddsidemargin}{1.0cm} +\setlength{\evensidemargin}{1.0cm} +\setlength{\textwidth}{17cm} +\setlength{\textheight}{24.7cm} +\setlength{\footskip}{1cm} +\setlength{\parindent}{0pt} +\renewcommand{\baselinestretch}{1} + +\begin{document} + +\pagestyle{myheadings} +\thispagestyle{empty} + +\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont + +\markboth{$(company)$\hfill $(ordnumber)$}{$(company)$\hfill $(ordnumber)$} + +\vspace*{0.5cm} + +\parbox[t]{1cm}{\hfill} +\parbox[t]{.5\textwidth}{ +\textbf{Von} +\vspace{0.7cm} + +$(name)$ \\ +$(street)$ \\ +$(zipcode)$ \\ +$(city)$ \\ +$(country)$ +} +\hfill + +\vspace{1cm} + +\textbf{Eingangslieferschein} +\hfill + +\vspace{1cm} + +\begin{tabularx}{\textwidth}{*{6}{|X}|} \hline + \textbf{BestellNr. \#} & \textbf{Datum} & \textbf{Kontakt} + $(if warehouse)$ + & \textbf{Lager} + $(end warehouse)$ + & \textbf{Lagerplatz} & \textbf{Lieferung mit} \\ [0.5em] + \hline + + $(ordnumber)$ + $(if shippingdate)$ + & $(shippingdate)$ + $(end shippingdate)$ + $(if not shippingdate)$ + & $(orddate)$ + $(end shippingdate)$ + & $(employee)$ + $(if warehouse)$ + & $(warehouse)$ + $(end warehouse)$ + & $(shippingpoint)$ & $(shipvia)$ \\ + \hline +\end{tabularx} + +\vspace{1cm} + +\begin{tabularx}{\textwidth}{@{}rlXllrrll@{}} + \textbf{Pos} & \textbf{Nummer} & \textbf{Beschreibung} & \textbf{Seriennumner} & & \textbf{Menge} & \textbf{Erh} & & \textbf{Lagerplatz} \\ + +$(foreach number)$ + $(runningnumber)$ & $(number)$ & $(description)$ & $(serialnumber)$ & + $(deliverydate)$ & $(qty)$ & $(ship)$ & $(unit)$ & $(bin)$ \\ +$(end number)$ +\end{tabularx} + + +\rule{\textwidth}{2pt} + +\end{document} diff --git a/templates/print/Standard/purchase_order.html b/templates/print/Standard/purchase_order.html deleted file mode 100644 index e83c67a2b..000000000 --- a/templates/print/Standard/purchase_order.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - - - -
  - - - - - - - - - - - - -
-

- <%company%> -
<%address%> -

-
-

- Telefon <%tel%> -
Telefax <%fax%> -

-
-

B E S T E L L U N G

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - -
Bestellungsdatum <%orddate%>
Lieferbar bis <%reqdate%>
Bestellnummer <%ordnumber%>
 
-
- - - - - - - - -
An:
<%name%> -
<%street%> -
<%zipcode%> -
<%city%> -
<%country%> -
-
 
- - - - - - - - - - - -<%foreach number%> - - - - - - - - - -<%end number%> - - - - - - - - - - -<%foreach tax%> - - - - -<%end tax%> - - - - - - - - - - - - - - - - -
NummerArtikelAnz PreisTotal
<%number%><%description%><%qty%><%unit%><%sellprice%><%linetotal%>

Zwischensumme<%subtotal%>
<%taxdescription%> @ <%taxrate%> %<%tax%>
 
Netto <%terms%> TageTotal<%total%>
 
-
- - -<%if notes%> - - -<%end notes%> - - - -
Bemerkungen<%notes%> - Alle Preise in <%currency%> -
<%shippingpoint%> -
-
 
- - - - - -
-   - - - X
-
-
- -
- - - - diff --git a/templates/print/Standard/purchase_order.tex b/templates/print/Standard/purchase_order.tex index 0e0bf395e..3abc8716c 100644 --- a/templates/print/Standard/purchase_order.tex +++ b/templates/print/Standard/purchase_order.tex @@ -1,68 +1,252 @@ +% purchase_order.tex für LX-Office ab V2.6.3 +% Einkauf - Bestellung +% ---------- +% Überarbeitet von Norbert Simon, n.simon@linet-services.de +% Version 2.5 vom 15.November 2011 +% Basiert auf der Arbeit von kmk@lilalaser.de / 2007 +% Diese Vorlage steht unter der GPL-Lizenz, Version 3 +% siehe http://www.gnu.de/licenses/gpl-3.0.html +% ---------- +% config: tag-style=$( )$ +% ---------- \documentclass[twoside]{scrartcl} -\usepackage{eurosym} -\usepackage{tabularx} -\usepackage[utf8]{inputenc} -\begin{document} - -\thispagestyle{empty} - -\newlength{\descrwidth}\setlength{\descrwidth}{10cm} -\setlength{\parindent}{0cm} - -\fontfamily{cmss}\fontshape{n}\selectfont - -\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont - -\vspace*{1.5cm} - -\begin{minipage}{8cm} - <%name%> - - <%street%> - - <%zipcode%> <%city%> +\usepackage{fancyhdr} % Für den Seitenkopf und -Fuß +\usepackage{ifpdf} % Erlaubt eine Code-Weiche für PDF, oder DVI Ausgabe +\usepackage{xifthen} % Allgemeine Code-Weiche +\usepackage{graphicx} % Fuer die Einbindung der Logo-Graphik +\usepackage{german} % Deutsche Trenn-Tabelle +\usepackage[utf8]{inputenc} % Umlaute direkt eingeben +\usepackage{lastpage} % Fuer die Angabe "Seite 2 von 5" +\usepackage{filecontents} % Um von latex aus eine Datei schreiben zu koennen +\usepackage{etex} % Damit Marken verwendet werden koennen +\usepackage{ltxtable} % Mehrseiten-Tabellen mit variabler Spaltenbreite +\usepackage{booktabs} % Striche in Tabellen +\usepackage{numprint} % Zahlen formatiert ausgeben +\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 +\usepackage{microtype,relsize} %Feinpositionierung, Sperren von Text +\newcommand*{\sperren}[1]{\normalsize\textls*[200]{#1}} %Sperrung Überrschriften +% ---------- Report-Variablen zur Verwendung in kivitendobriefkopf.tex ---------- +% ---------- Die eigenen Daten ---------- +\newcommand{\employeename}{$(employee_name)$} +\newcommand{\employeecompany}{$(employee_company)$} +\newcommand{\employeeaddress}{$(employee_address)$} +\newcommand{\employeetel}{$(employee_tel)$} +\newcommand{\employeefax}{$(employee_fax)$} +\newcommand{\employeeemail}{$(employee_email)$} +\newcommand{\employeecoustid}{$(employee_co_ustid)$} +\newcommand{\employeetaxnumber}{$(employee_taxnumber)$} +\newcommand{\employeetable}{tabelle$(employee_login)$.tex} + +% ---------- Eigene Bankverbindung falls nicht im Briefkopf gesetzt ---------- +% \newcommand{\companybank}{$(company_bank)$} +% \newcommand{\companybankcode}{$(company_bank_code)$} +% \newcommand{\companyaccountnumber}{$(company_account_number)$} + +% ---------- Adressat ---------- +\newcommand{\name}{$(name)$} +\newcommand{\departmentone}{$(department_1)$} +\newcommand{\departmenttwo}{$(department_2)$} +\newcommand{\cpgreeting}{$(cp_greeting)$} +\newcommand{\cptitle}{$(cp_title)$} +\newcommand{\cpgivenname}{$(cp_givenname)$} +\newcommand{\cpname}{$(cp_name)$} +\newcommand{\street}{$(street)$} +\newcommand{\country}{$(country)$} +\newcommand{\zipcode}{$(zipcode)$} +\newcommand{\city}{$(city)$} +\newcommand{\phone}{$(customerphone)$} +\newcommand{\fax}{$(customerfax)$} +\newcommand{\lettergreeting}{ + \ifthenelse{\equal{$(cp_gender)$}{f}} + {Sehr geehrte Frau $(cp_name)$,} + {\ifthenelse{\equal{$(cp_gender)$}{m}} + {Sehr geehrter Herr $(cp_name)$,} + {Sehr geehrte Damen und Herren,} + }\\[1\baselineskip] +} + +% ---------- Bestellvariablen ---------- +\newcommand{\quonumber}{$(quonumber)$} +\newcommand{\docnumber}{Bestellung Nr. \ordnumber} +\newcommand{\vendornumber}{$(vendornumber)$} +\newcommand{\reqdate}{$(reqdate)$} +\newcommand{\orddate}{$(orddate)$} +\newcommand{\ordnumber}{$(ordnumber)$} +\newcommand{\transdate}{$(transdate)$} + +% ---------- Lieferadresse ---------- +\newcommand{\shiptoname}{$(shiptoname)$} +\newcommand{\shiptocontact}{$(shiptocontact)$} +\newcommand{\shiptodepartmentone}{$(shiptodepartment_1)$} +\newcommand{\shiptodepartmenttwo}{$(shiptodepartment_2)$} +\newcommand{\shiptostreet}{$(shiptostreet)$} +\newcommand{\shiptocity}{$(shiptocity)$} +\newcommand{\shiptocountry}{$(shiptocountry)$} +\newcommand{\shiptophone}{$(shiptophone)$} +\newcommand{\shiptozipcode}{$(shiptozipcode)$} +\newcommand{\shiptofax}{$(shiptofax)$} + +% ---------- Währungszeichen ---------- +\newcommand{\currency}{$(currency)$} +\ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{} +\ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{} +\ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{} +\ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{} + +% ---------- Ende Reportvariablen-Umsetzung ---------- + +% ---------- Briefkopf dazuladen ---------- +\input{kivitendobriefkopf} - <%country%> -\end{minipage} +\begin{document} +% ---------- Schrift Hauptdokuments (Computermodern-sanserif) ---------- +% \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont +% ---------- Schrift Helvetica ------------------------ +\fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont +% ---------- Firmenlogo nur erste Seite ---------- +\thispagestyle{briefkopf} + +% ---------- Datum und Nummern ---------- +% Position unterhalb des Briefkopfs +\vspace*{\vlogospacing} +\renewcommand{\arraystretch}{0.9} +\begin{minipage}[b]{177mm} +\sperren{\textbf{Bestellung Nr. \ordnumber}} \hfill -\begin{minipage}{6cm} - \rightline{\LARGE\textbf{\textit{Bestellung}}} - \rightline{\large\textbf{\textit{Nr. <%ordnumber%>% - }}} - - Datum:\hfill <%orddate%> - - Kunden-Nr:\hfill <%customernumber%> - - Telefon:\hfill <%phone%> - - Telefax:\hfill <%fax%> - - Ansprechpartner:\hfill <%employee%> + \small + \begin{tabular}[b]{r@{\hspace{2mm}}p{\hlogospacing}} + \textbf{Seite} & {\thepage} von \pageref{LastPage}\\ + \textbf{Datum} & \orddate \\ + \nonemptyline{\textbf{Lieferung bis} &}{\reqdate} + \nonemptyline{\textbf{Unsere Kunden Nr.} &}{\vendornumber} + \textbf{Bestellung Nr.} & \ordnumber\\ + \nonemptyline{\textbf{Terminwunsch} &}{\reqdate} + \textbf{Ansprechpartner} & \employeename\\ + \nonemptyline{\textbf{Durchwahl} &}{\employeetel} + \nonemptyline{\textbf{E-Mail} &}{\employeeemail} + \end{tabular}\\[10mm plus 20mm minus 10mm] \end{minipage} +\renewcommand{\arraystretch}{1} +\normalsize + + +% ---------- Begrüßung und Bemerkungen ---------- +\vspace{5mm} +\lettergreeting +gemäß Ihrem Angebot +\ifthenelse{\equal{\orddate}{\leer}}{}{vom \orddate{}}% +, beauftragen wir Sie mit der nachstehenden Lieferung. +Bei Fragen zur Bestellung, steht Ihnen \employeename \ per Telefon (\employeetel) oder per E-Mail (\employeeemail) gerne zur Verfügung.\\ + +%\\[1\baselineskip] + +% ---------- Bemerkung übernehmen ---------- +\ifthenelse{\isempty{$(notes)$}}{}{ + \vspace{ 5mm} + $(notes)$ + \vspace*{5mm} + } + + +% ---------- Die eigentliche-Tabelle ---------- + +% ---------- Tabelle puffern ---------- +\begin{filecontents}{\employeetable} +% ---------- globale Variable laufsumme deklarieren +\resetlaufsumme +% ---------- Spaltendefinition ---------- +\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{}}]}} +% ---------- Kopfzeile der Tabelle ---------- + \textbf{Pos} & + \textbf{Art.Nr.} & + \textbf{Bezeichnung} & + \textbf{Menge} & + \textbf{ME} & + \textbf{EP/€} & + \textbf{GP/€} \\ + \midrule + \endfirsthead +% ---------- Tabellenkopf nach dem Umbruch ---------- + \textbf{Pos} & + \textbf{Art.Nr.} & + \textbf{Bezeichnung} & + \textbf{Menge} & + \textbf{ME} & + \textbf{EP/€} & + \textbf{GP/€} \\ + \midrule + & & \multicolumn{4}{r}{} & \MarkUebertrPos\\[1.5em] + \endhead +% ---------- Fuss der Teiltabellen ---------- + \midrule + & & \multicolumn{4}{r}{} & \MarkZwsumPos \\ + \endfoot +% ---------- Das Ende der Tabelle ---------- + \midrule +% & & \multicolumn{4}{r}{ Nettobetrag} & \MarkZwsumPos \\ + \endlastfoot +% ---------- Positionen ---------- + $(foreach number)$ + $(runningnumber)$ & + $(number)$ & + $(description)$ + \ifthenelse{\equal{$(longdescription)$}{}}{}{$(longdescription)$} & + $(qty)$ & + $(unit)$ & + \numprint{$(sellprice)$} & + \numprint{$(linetotal)$}\Wert{$(linetotal NOFORMAT)$} + \\ % + $(end number)$ +\end{longtable} +% ---------- Ende der Hilfsdatei ---------- +\end{filecontents} +% ---------- Puffertabelle öffnen ---------- +\LTXtable{\textwidth}{\employeetable} +%---------- Bereich für die Summen ---------- +\parbox{\textwidth}{ +%---------- Summenbereich nach recht schieben ---------- +\hfill +\setlength{\tabcolsep}{0mm} +\begin{tabular}{@{}r@{ }r@{ }l} +% \toprule + {Nettobetrag:}& \numprint{$(subtotal)$}& \currency\\ +% ---------- Alle Steuern ausweisen ---------- + $(foreach tax)$ +% {$(taxdescription)$ auf }\numprint{$(taxbase)$}~\currency: & \numprint{$(tax)$}& \\ + {$(taxdescription)$}: & \numprint{$(tax)$}& \currency\\ + $(end tax)$ + \midrule + {\textbf{Gesamtbetrag:}} & \bfseries\numprint{$(ordtotal)$} & \textbf{\currency}\\ + \bottomrule +\end{tabular} +} +\vfill +Grundlage dieses Auftrages sind unsere Einkaufsbedingungen. +Wir bitten um gleichlautende Auftragsbestätigung.\\ +\vspace{1.5\baselineskip} + +\nonemptyline{\textbf{Liefertermin: }}{\reqdate} + +% ---------- Lieferadresse ---------- +\ifthenelse{\equal{\shiptocity}{\leer}}{}{ +% ---------- Umbruch dazwischen verhindern ---------- +\parbox{\textwidth}{ +\textbf{Lieferanschrift:} +%[7mm] +% \rule{10em}{0mm} +% ---------- Bereich für Lieferadresse ---------- + \parbox[t]{7cm}{ + \shiptoname \\ + \nonemptyline{}{\shiptodepartmentone} + \nonemptyline{}{\shiptodepartmenttwo} + \shiptostreet \\ + \shiptocountry{ }\shiptozipcode{ }\shiptocity\\[1mm] + \nonemptyline{Tel: }{\shiptophone} + \nonemptyline{Fax: }{\shiptofax} + }%ende parbox +}% ende parbox +}% ende ifthenelse -\vspace*{0.5cm} - - -Hiermit bestellen wir verbindlich folgende Positionen: -\vspace{0.5cm} - -\begin{tabularx}{\textwidth}{lrXrr} - \hline - \textbf{Pos} & \textbf{Menge} & \textbf{Bezeichnung} & - \textbf{E-Preis/\euro} & \textbf{G-Preis/\euro} \\ - \hline - <%foreach number%> - <%runningnumber%> & <%qty%> <%unit%> & \raggedright <%description%> & - <%sellprice%> \euro & <%linetotal%> \euro \\ - <%end number%> \hline - \multicolumn{4}{l}{Nettobetrag} & <%subtotal%> \euro\\ - <%foreach tax%> - \multicolumn{4}{l}{<%taxdescription%>} & <%tax%>\euro \\ - <%end tax%> - \multicolumn{4}{l}{\textbf{Endbetrag}} & \textbf{<%ordtotal%> \euro} \\ -\end{tabularx} -\hrule \end{document} diff --git a/templates/print/Standard/request_quotation.html b/templates/print/Standard/request_quotation.html deleted file mode 100644 index 6ff003634..000000000 --- a/templates/print/Standard/request_quotation.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - - - -
  - - - - - - - - - - - - - - -
-

- <%company%> -
<%address%> -

-
- -

- Tel: <%tel%> -
Fax: <%fax%> -

-
-

A N F R A G E

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - -
Rechnungsanschrift:Lieferanschrift:
<%name%> -
<%street%> -
<%zipcode%> -
<%city%> -
<%country%> -
-<%if contact%> -
Kontakt: <%contact%> -<%end contact%> -<%if vendorphone%> -
Tel: <%vendorphone%> -<%end vendorphone%> -<%if vendorfax%> -
Fax: <%vendorfax%> -<%end vendorfax%> -
<%shiptoname%> -
<%shiptostreet%> -
<%shiptozipcode%> -
<%shiptocity%> -
<%shiptocountry%> -
-<%if shiptocontact%> -
Kontakt: <%shiptocontact%> -<%end shiptocontact%> -<%if shiptophone%> -
Tel: <%shiptophone%> -<%end shiptophone%> -<%if shiptofax%> -
Fax: <%shiptofax%> -<%end shiptofax%> -
-
 
- - - - - - - - - - - - - - - - - - -
AnfrageNr. #DatumErforderlich amKontaktLagerplatzVersand mit:
<%quonumber%><%quodate%><%reqdate%><%employee%><%shippingpoint%><%shipvia%>
-
Bitte teilen Sie uns Preise und Lieferzeit für folgende Artikel mit:
- - - - - - - - - - - - -<%foreach number%> - - - - - - - - -<%end number%> - - - - - -
ArtNr.BeschreibungMenge LieferungStückpreisGesamtpreis
<%number%><%description%><%qty%><%unit%>

-
- -<%if notes%> - - - - -<%end notes%> - -
Bemerkungen<%notes%>
-
 
- - - - - - -
  - X
-
-
- -
- - - - diff --git a/templates/print/Standard/request_quotation.tex b/templates/print/Standard/request_quotation.tex index d3ba6f531..913df1e1f 100644 --- a/templates/print/Standard/request_quotation.tex +++ b/templates/print/Standard/request_quotation.tex @@ -1,152 +1,245 @@ +% request_quotation.tex für LX-Office ab V2.6.3 +% Anfrage - Einkauf +% ---------- +% Überarbeitet von Norbert Simon, n.simon@linet-services.de +% Version 2.5 vom 15. November 2011 +% Basiert auf der Arbeit von kmk@lilalaser.de / 2007 +% Diese Vorlage steht unter der GPL-Lizenz, Version 3 +% siehe http://www.gnu.de/licenses/gpl-3.0.html +% ---------- +% config: tag-style=$( )$ +% ---------- \documentclass[twoside]{scrartcl} -\usepackage[frame]{xy} -\usepackage{tabularx} -\usepackage{graphicx} -\usepackage{german} -\usepackage[utf8]{inputenc} -\setlength{\voffset}{0.5cm} -\setlength{\hoffset}{-2.0cm} -\setlength{\topmargin}{0cm} -\setlength{\headheight}{0.5cm} -\setlength{\headsep}{1cm} -\setlength{\topskip}{0pt} -\setlength{\oddsidemargin}{1.0cm} -\setlength{\evensidemargin}{1.0cm} -\setlength{\textwidth}{17cm} -\setlength{\textheight}{24.7cm} -\setlength{\footskip}{1cm} -\setlength{\parindent}{0pt} -\renewcommand{\baselinestretch}{1} -\begin{document} - -\newlength{\descrwidth}\setlength{\descrwidth}{12cm} -\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont - -\pagestyle{myheadings} -\thispagestyle{empty} - -\vspace*{-1.3cm} - -\parbox{\textwidth}{ - \parbox[b]{.42\textwidth}{ - <%company%> - - <%address%> - }\hfill - \begin{tabular}[b]{rr@{}} - Tel & <%tel%>\\ - Fax & <%fax%> - \end{tabular} - - \rule[1.5ex]{\textwidth}{0.5pt} -} - - -\vspace*{0.5cm} - -\parbox[t]{1cm}{\hfill} -\parbox[t]{.45\textwidth}{ -\textbf{To} -\vspace{0.7cm} - -<%name%> - -<%street%> - -<%zipcode%> - -<%city%> - -<%country%> - -\vspace{0.3cm} - -<%if contact%> -<%contact%> -<%end contact%> - -\vspace{0.2cm} - -<%if vendorphone%> -Tel: <%vendorphone%> -<%end vendorphone%> - -<%if vendorfax%> -Fax: <%vendorfax%> -<%end vendorfax%> - -<%email%> -} -\parbox[t]{.45\textwidth}{ -\textbf{Lieferanschrift} -\vspace{0.7cm} - -<%shiptoname%> - -<%shiptostreet%> - -<%shiptozipcode%> - -<%shiptocity%> - -<%shiptocountry%> - -\vspace{0.3cm} - -<%if shiptocontact%> -<%shiptocontact%> -<%end shiptocontact%> - -<%if shiptophone%> -Tel: <%shiptophone%> -<%end shiptophone%> - -<%if shiptofax%> -Fax: <%shiptofax%> -<%end shiptofax%> - -<%shiptoemail%> +\usepackage{fancyhdr} % Für den Seitenkopf und -Fuß +\usepackage{ifpdf} % Erlaubt eine Code-Weiche für PDF, oder DVI Ausgabe +\usepackage{xifthen} % Allgemeine Code-Weiche +\usepackage{graphicx} % Fuer die Einbindung der Logo-Graphik +\usepackage{german} % Deutsche Trenn-Tabelle +\usepackage[utf8]{inputenc} % Umlaute direkt eingeben +\usepackage{lastpage} % Fuer die Angabe "Seite 2 von 5" +\usepackage{filecontents} % Um von latex aus eine Datei schreiben zu koennen +\usepackage{etex} % Damit Marken verwendet werden koennen +\usepackage{ltxtable} % Mehrseiten-Tabellen mit variabler Spaltenbreite +\usepackage{booktabs} % Striche in Tabellen +\usepackage{numprint} % Zahlen formatiert ausgeben +\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 +\usepackage{microtype,relsize} %Feinpositionierung, Sperren von Text +\newcommand*{\sperren}[1]{\normalsize\textls*[200]{#1}} %Sperrung Überrschriften + +% ---------- Report-Variablen zur Verwendung in kivitendobriefkopf.tex ---------- +% ---------- Die eigenen Daten ---------- +\newcommand{\employeename}{$(employee_name)$} +\newcommand{\employeecompany}{$(employee_company)$} +\newcommand{\employeeaddress}{$(employee_address)$} +\newcommand{\employeetel}{$(employee_tel)$} +\newcommand{\employeefax}{$(employee_fax)$} +\newcommand{\employeeemail}{$(employee_email)$} +\newcommand{\employeecoustid}{$(employee_co_ustid)$} +\newcommand{\employeetaxnumber}{$(employee_taxnumber)$} +\newcommand{\employeetable}{tabelle$(employee_login)$.tex} + +% ---------- Adressat ---------- +\newcommand{\name}{$(name)$} +\newcommand{\departmentone}{$(department_1)$} +\newcommand{\departmenttwo}{$(department_2)$} +\newcommand{\cpgreeting}{$(cp_greeting)$} +\newcommand{\cptitle}{$(cp_title)$} +\newcommand{\cpgivenname}{$(cp_givenname)$} +\newcommand{\cpname}{$(cp_name)$} +\newcommand{\street}{$(street)$} +\newcommand{\country}{$(country)$} +\newcommand{\zipcode}{$(zipcode)$} +\newcommand{\city}{$(city)$} +\newcommand{\phone}{$(customerphone)$} +\newcommand{\fax}{$(customerfax)$} +\newcommand{\lettergreeting}{ + \ifthenelse{\equal{$(cp_gender)$}{f}} + {Sehr geehrte Frau $(cp_name)$,} + {\ifthenelse{\equal{$(cp_gender)$}{m}} + {Sehr geehrter Herr $(cp_name)$,} + {Sehr geehrte Damen und Herren,} + }\\[1\baselineskip] } -\hfill -\vspace{1cm} +% ---------- Bestellvariablen ---------- +\newcommand{\quonumber}{$(quonumber)$} +\newcommand{\docnumber}{Anfrage Nr. {\quonumber}} +\newcommand{\vendornumber}{$(vendornumber)$} +\newcommand{\reqdate}{$(reqdate)$} +\newcommand{\orddate}{$(orddate)$} +\newcommand{\ordnumber}{$(ordnumber)$} +\newcommand{\transdate}{$(transdate)$} + +% ---------- Lieferadresse ---------- +\newcommand{\shiptoname}{$(shiptoname)$} +\newcommand{\shiptocontact}{$(shiptocontact)$} +\newcommand{\shiptodepartmentone}{$(shiptodepartment_1)$} +\newcommand{\shiptodepartmenttwo}{$(shiptodepartment_2)$} +\newcommand{\shiptostreet}{$(shiptostreet)$} +\newcommand{\shiptocity}{$(shiptocity)$} +\newcommand{\shiptocountry}{$(shiptocountry)$} +\newcommand{\shiptophone}{$(shiptophone)$} +\newcommand{\shiptozipcode}{$(shiptozipcode)$} +\newcommand{\shiptofax}{$(shiptofax)$} + +% ---------- Währungszeichen ---------- +\newcommand{\currency}{$(currency)$} +\ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{} +\ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{} +\ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{} +\ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{} + +% ---------- Ende Reportvariablen-Umsetzung ---------- + +% ---------- Briefkopf dazuladen ---------- +\input{kivitendobriefkopf} -\textbf{A N F R A G E} +\begin{document} +% ---------- Schrift Hauptdokuments (Computermodern-sanserif) ---------- +% \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont +% ---------- Schrift Helvetica ------------------------ +\fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont +% ---------- Firmenlogo nur erste Seite ---------- +\thispagestyle{briefkopf} + +% ---------- Datum und Nummern ---------- +% Position unterhalb des Briefkopfs +\vspace*{\vlogospacing} +\renewcommand{\arraystretch}{0.9} +\begin{minipage}[b]{177mm} +\sperren{\textbf{Anfrage Nr. \quonumber}} \hfill - -\vspace{1cm} - -\begin{tabularx}{\textwidth}{*{6}{|X}|} \hline - \textbf{AnfrageNr. \#} & \textbf{Datum} & \textbf{Benötigt am} & \textbf{Kontakt} & \textbf{Lagerplatz} & \textbf{Lieferung mit} \\ [0.5ex] - \hline - <%quonumber%> & <%quodate%> & <%reqdate%> & <%employee%> & <%shippingpoint%> & <%shipvia%> \\ - \hline -\end{tabularx} - -\vspace{1cm} - -Bitte nennen Sie uns für folgende Artikel Preis und Liefertermin: - -\vspace{1cm} - -\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rl} - \textbf{Nummer} & \textbf{Beschreibung} & \textbf{Menge} & \\ -<%foreach number%> - <%number%> & <%description%> & <%qty%> & <%unit%> \\ -<%end number%> -\end{tabular*} - - + \small + \begin{tabular}[b]{r@{\hspace{2mm}}p{\hlogospacing}} + \textbf{Seite} & {\thepage} von \pageref{LastPage}\\ + \textbf{Datum} & \transdate \\ + \nonemptyline{\textbf{Unsere Kunden Nr.} &}{\vendornumber} + \textbf{Anfrage Nr.} & \quonumber\\ + \nonemptyline{\textbf{Terminwunsch} &}{\reqdate} + \textbf{Ansprechpartner} & \employeename\\ + \nonemptyline{\textbf{Durchwahl} &}{\employeetel} + \nonemptyline{\textbf{E-Mail} &}{\employeeemail} + \end{tabular}\\[10mm plus 20mm minus 10mm] +\end{minipage} +\normalsize +\renewcommand{\arraystretch}{1} + +% ---------- Begrüßung und Bemerkungen ---------- +\vspace*{5mm} +\lettergreeting +hiermit bitten wir um ein für uns freibleibendes und kostenloses Angebot für die nachfolgenden Positionen. +Eventuell preisgünstigere Alternativen bitten wir gesondert anzubieten. +Für Nachfragen steht Ihnen \employeename \ per Telefon (\employeetel) oder per E-Mail (\employeeemail) gerne zur Verfügung.\\[1\baselineskip] +\ifthenelse{\isempty{$(notes)$}}{}{ + $(notes)$\\[1\baselineskip] + }% +%Mit freundlichen Grüßen\\[1\baselineskip] +%\employeename\\[1\baselineskip] +% ---------- Die eigentliche-Tabelle ---------- +% ---------- Tabelle puffern ---------- +\begin{filecontents}{\employeetable} +% ---------- globale Variable laufsumme deklarieren ---------- +\resetlaufsumme +% ---------- Spaltendefinition ---------- +\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{}}]}} +% ---------- Kopfzeile der Tabelle ---------- + \textbf{Pos} & + \textbf{Art.Nr.} & + \textbf{Bezeichnung} & + \textbf{Menge} & + \textbf{ME} & + \textbf{EP/€} & + \textbf{GP/€} \\ + \midrule + \endfirsthead +% ---------- Tabellenkopf nach dem Umbruch ---------- + \textbf{Pos} & + \textbf{Art.Nr.} & + \textbf{Bezeichnung} & + \textbf{Menge} & + \textbf{ME} & + \textbf{EP/€} & + \textbf{GP/€} \\ + \midrule + & & \multicolumn{4}{r}{} & \MarkUebertrPos\\[1.5em] + \endhead +% ---------- Fuss der Teiltabellen ---------- + \midrule + & & \multicolumn{4}{r}{} & \MarkZwsumPos \\ + \endfoot +% ---------- Das Ende der Tabelle ---------- + \midrule +% & & \multicolumn{4}{r}{ Nettobetrag:} & \MarkZwsumPos \\ + \endlastfoot +% ---------- Positionen ---------- + $(foreach number)$ + $(runningnumber)$ & + $(number)$ & + $(description)$ + \ifthenelse{\equal{$(longdescription)$}{}}{}{\newline + \renewcommand{\baselinestretch}{1}\footnotesize + {\footnotesize $(longdescription)$ + \renewcommand{\baselinestretch}{1}\normalsize + }} & + $(qty)$ & + $(unit)$ & + \numprint{$(sellprice)$} + \ifthenelse{\equal{$(p_discount)$}{0}}{}{ -$(p_discount)$\%} & + \numprint{$(linetotal)$}\Wert{$(linetotal NOFORMAT)$} \\ % + $(end number)$ +\end{longtable} +% ---------- Ende der Hilfsdatei ---------- +\end{filecontents} +% ---------- Puffertabelle öffnen ---------- +\LTXtable{\textwidth}{\employeetable} + %---------- Bereich für die Summen ---------- \parbox{\textwidth}{ -\rule{\textwidth}{2pt} - + %---------- Summenbereich nach recht schieben ---------- \hfill - -<%if notes%> - <%notes%> -<%end if%> - +\setlength{\tabcolsep}{0mm} +\begin{tabular}{@{}r@{ }r@{ }l} +% \toprule + {Nettobetrag:}& \numprint{$(subtotal)$}& \currency\\ +% ---------- Alle Steuern ausweisen ---------- + $(foreach tax)$ +% {$(taxdescription)$ auf }\numprint{$(taxbase)$}~\currency: & \numprint{$(tax)$}& \\ + {$(taxdescription)$}: & \numprint{$(tax)$}& \currency\\ + $(end tax)$ + \midrule + {\textbf{Gesamtbetrag:}} & \bfseries\numprint{$(ordtotal)$} & \textbf{\currency}\\ + \bottomrule +\end{tabular} } +% ---------- Lieferadresse ---------- +\ifthenelse{% + \equal{\shiptoname}{\name} \AND + \equal{\shiptodepartmentone}{\leer} \AND + \equal{\shiptodepartmenttwo}{\leer} \AND + \equal{\shiptostreet}{\street} \AND + \equal{\shiptozipcode}{\zipcode} \AND + \equal{\shiptocity}{\city} + }{}{ +% ---------- Umbruch dazwischen verhindern ---------- +\parbox{\textwidth}{ +\ifthenelse{\equal{$(shipvia)$}{\leer}}{}{Lieferung vorzugsweise mit $(shipvia)$.\\[1em]} + +\textbf{Lieferanschrift:} \hspace{2mm} +% \rule{10em}{0mm} +% ---------- Bereich für Lieferadresse ---------- + \parbox[t]{7cm}{ + \shiptoname \\ + \nonemptyline{}{\shiptodepartmentone} + \nonemptyline{}{\shiptodepartmenttwo} + \shiptostreet \\ + \shiptocountry{ }\shiptozipcode{ }\shiptocity\\[1mm] + \nonemptyline{Tel: }{\shiptophone} + \nonemptyline{Fax: }{\shiptofax} + }%ende parbox +}% ende parbox +}% ende ifthenelse + +%Mit freundlichen Grüßen\\[1\baselineskip] +%\employeename\\[1\baselineskip] \end{document} diff --git a/templates/print/Standard/sales_delivery_order.tex b/templates/print/Standard/sales_delivery_order.tex index c819d7654..bcad78be0 100644 --- a/templates/print/Standard/sales_delivery_order.tex +++ b/templates/print/Standard/sales_delivery_order.tex @@ -1,66 +1,192 @@ +% sales_delivery_order.tex +% Verkauf - Lieferschein +% Überarbeitet von Norbert Simon, n.simon@linet-services.de +% Version 2.5 vom 15.Oktober 2011 +% Basiert auf der Arbeit von kmk@lilalaser.de / 2007 +% Diese Vorlage steht unter der GPL-Lizenz, Version 3 +% siehe http://www.gnu.de/licenses/gpl-3.0.html +% ---------- +% config: tag-style=$( )$ +% ---------- \documentclass[twoside]{scrartcl} -\usepackage{eurosym} -\usepackage{tabularx} -\usepackage{ifthen} -\usepackage[utf8]{inputenc} -\begin{document} - -\setlength{\parindent}{0cm} - -\pagestyle{empty} - -\newlength{\descrwidth}\setlength{\descrwidth}{10cm} - -\fontfamily{cmss}\fontshape{n}\selectfont - -\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont +\usepackage{fancyhdr} % Für den Seitenkopf und -Fuß +\usepackage{ifpdf} % Erlaubt eine Code-Weiche für PDF, oder DVI Ausgabe +\usepackage{xifthen} % Allgemeine Code-Weiche +\usepackage{graphicx} % Fuer die Einbindung der Logo-Graphik +\usepackage{german} % Deutsche Trenn-Tabelle +\usepackage[utf8]{inputenc} % Umlaute direkt eingeben +\usepackage{textcomp} % Sonderzeichen +\usepackage{lastpage} % Fuer die Angabe "Seite 2 von 5" +\usepackage{filecontents} % Um von latex aus eine Datei schreiben zu koennen +\usepackage{ltxtable} % Mehrseiten-Tabellen mit variabler Spaltenbreite +\usepackage{booktabs} % Striche in Tabellen +\usepackage{microtype,relsize} %Feinpositionierung, Sperren von Text +\newcommand*{\sperren}[1]{\normalsize\textls*[200]{#1}} %Sperrung Überrschriften + + +% ---------- Report-Variablen zur Verwendung in kivitendobriefkopf.tex ---------- +% ---------- Die eigenen Daten ---------- +\newcommand{\employeename}{$(employee_name)$} +\newcommand{\employeecompany}{$(employee_company)$} +\newcommand{\employeeaddress}{$(employee_address)$} +\newcommand{\employeetel}{$(employee_tel)$} +\newcommand{\employeefax}{$(employee_fax)$} +\newcommand{\employeeemail}{$(employee_email)$} +\newcommand{\employeecoustid}{$(employee_co_ustid)$} +\newcommand{\employeetaxnumber}{$(employee_taxnumber)$} +\newcommand{\employeetable}{tabelle$(employee_login)$.tex} + +% ---------- Eigene Bankverbindung falls nicht im Briefkopf gesetzt ---------- +% \newcommand{\companybank}{$(company_bank)$} +% \newcommand{\companybankcode}{$(company_bank_code)$} +% \newcommand{\companyaccountnumber}{$(company_account_number)$} + +% ---------- Adressat ---------- +\newcommand{\name}{$(name)$} +\newcommand{\departmentone}{$(department_1)$} +\newcommand{\departmenttwo}{$(department_2)$} +\newcommand{\cpgreeting}{$(cp_greeting)$} +\newcommand{\cptitle}{$(cp_title)$} +\newcommand{\cpgivenname}{$(cp_givenname)$} +\newcommand{\cpname}{$(cp_name)$} +\newcommand{\street}{$(street)$} +\newcommand{\country}{$(country)$} +\newcommand{\zipcode}{$(zipcode)$} +\newcommand{\city}{$(city)$} +\newcommand{\phone}{$(customerphone)$} +\newcommand{\fax}{$(customerfax)$} +\newcommand{\lettergreeting}{ + \ifthenelse{\equal{$(cp_gender)$}{f}} + {Sehr geehrte Frau $(cp_name)$,} + {\ifthenelse{\equal{$(cp_gender)$}{m}} + {Sehr geehrter Herr $(cp_name)$,} + {Sehr geehrte Damen und Herren,} + }\\[0.3em] +} + +% ---------- Bestellvariablen ---------- +\newcommand{\ordnumber}{$(ordnumber)$} +\newcommand{\donumber}{$(donumber)$} +%\newcommand{\donumber}{Lieferschein zu Auftrag Nr. \ordnumber} +\newcommand{\deldate}{\the\day.\the\month.\the\year} +\newcommand{\orddate}{$(orddate)$} +\newcommand{\quodate}{$(quodate)$} +\newcommand{\reqdate}{$(reqdate)$} +\newcommand{\kundennummer}{$(customernumber)$} + +% ---------- Lieferadresse ---------- +\newcommand{\shiptoname}{$(shiptoname)$} +\newcommand{\shiptocontact}{$(shiptocontact)$} +\newcommand{\shiptodepartmentone}{$(shiptodepartment_1)$} +\newcommand{\shiptodepartmenttwo}{$(shiptodepartment_2)$} +\newcommand{\shiptostreet}{$(shiptostreet)$} +\newcommand{\shiptocity}{$(shiptocity)$} +\newcommand{\shiptocountry}{$(shiptocountry)$} +\newcommand{\shiptophone}{$(shiptophone)$} +\newcommand{\shiptozipcode}{$(shiptozipcode)$} +\newcommand{\shiptofax}{$(shiptofax)$} + +% ---------- Währungszeichen ---------- +\newcommand{\currency}{$(currency)$} +\ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{} +\ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{} +\ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{} +\ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{} + +% ---------- Ende Reportvariablen-Umsetzung ---------- + +% ---------- Briefkopf dazuladen ---------- +\input{kivitendobriefkopf} -\vspace*{1.5cm} - -\begin{minipage}{8cm} - <%name%> - - <%street%> - - <%zipcode%> <%city%> - - <%country%> -\end{minipage} +\begin{document} +% ---------- Schrift Hauptdokuments (Computermodern-sanserif) ---------- +% \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont +% ---------- Schrift Helvetica ------------------------ +\fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont +% ---------- Firmenlogo nur erste Seite ---------- +\thispagestyle{briefkopf} +% ---------- Datum und Nummern ---------- +% Position unterhalb des Briefkopfs +\vspace*{\vlogospacing} +\renewcommand{\arraystretch}{0.9} +\begin{minipage}[b]{177mm} +\sperren{\textbf{Lieferschein Nr. \donumber}} \hfill -\begin{minipage}{6cm} - \rightline{\LARGE\textbf{\textit{Lieferschein}}} \vspace*{0.2cm} - \rightline{\large\textbf{\textit{Nr. <%donumber%>% \vspace*{0.2cm} - }}} - - Lieferscheindatum:\hfill <%dodate%> - - Kunden-Nr:\hfill <%customernumber%> - - Telefon:\hfill <%phone%> - - Telefax:\hfill <%fax%> - - Ansprechpartner:\hfill <%employee%> + \small + \begin{tabular}[b]{r@{\hspace{2mm}}p{\hlogospacing}} + \textbf{Seite} & {\thepage} von \pageref{LastPage}\\ + \textbf{Datum} & \deldate \\ + \textbf{Kunden Nr.} & \kundennummer\\ + \textbf{Auftrag Nr.} & \ordnumber\\ + \textbf{Lieferschein Nr.} & \donumber\\ + \nonemptyline{\textbf{Vorraussichtl. Lieferdatum:} &}{\reqdate} + \textbf{Ansprechpartner} & \employeename\\ + \nonemptyline{\textbf{Durchwahl} &}{\employeetel} + \nonemptyline{\textbf{E-Mail} &}{\employeeemail} + \end{tabular}\\[10mm plus 20mm minus 10mm] \end{minipage} - -\vspace*{0.5cm} - -\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rl@{}} - \textbf{Nummer} & \textbf{Artikel} & \textbf{Anz} & \textbf{Einh} \\ - -<%foreach number%> - <%number%> & <%description%> & <%qty%> & <%unit%> \\ - & <%serialnumber%> & & \\ -<%end number%> -\end{tabular*} - -\vspace{1cm} -<%if deliverydate%> - Die Auslieferung/Fertigstellung erfolgte am : <%deliverydate%> -<%end if%> -<%if notes%> - <%notes%> -<%end if%> +\renewcommand{\arraystretch}{1} +\normalsize +% ---------- Begrüßung und Bemerkungen ---------- +\vspace{ 5mm} +%\lettergreeting +Wir liefern Ihnen gemäß Ihrem Auftrag % +\ifthenelse{\equal{\orddate}{\leer}}{}{vom \orddate{ }}% +die unten aufgeführten Positionen.\\ +Für Nachfragen steht Ihnen \employeename \ per Telefon (\employeetel) oder per E-Mail (\employeeemail) gerne zur Verfügnung.\par + +% ---------- Die eigentliche-Tabelle ---------- +% ---------- Tabelle puffern ---------- +\begin{filecontents}{\employeetable} +% ---------- Spaltendefinition ---------- +\begin{longtable}{@{}rlX@{ }rl@{}} +% ---------- Kopfzeile der Tabelle ---------- + \textbf{Pos} & + \textbf{Art.Nr.} & + \textbf{Bezeichnung} & + \textbf{Menge} & + \textbf{ME} \\ + \midrule + \endfirsthead +% ---------- Tabellenkopf nach dem Umbruch ---------- + \textbf{Pos} & + \textbf{Art.Nr.} & + \textbf{Bezeichnung} & + \textbf{Menge} & + \textbf{ME} \\ + \midrule + \endhead +% ---------- Fuss der Teiltabellen ---------- + \midrule + \endfoot +% ---------- Das Ende der Tabelle ---------- + \midrule + \endlastfoot +% ---------- Positionen ---------- + $(foreach number)$ + $(runningnumber)$ & + $(number)$ & + $(description)$ & + $(qty)$ & + $(unit)$ + \\ % + $(end number)$ +\end{longtable} +% ---------- Ende der Hilfsdatei ---------- +\end{filecontents} +% ---------- Puffertabelle öffnen ---------- +\LTXtable{\textwidth}{\employeetable} + +\vfill + +Lieferung entgegengenommen:\\[3em] +\rule{20em}{0.1pt}\\ +\hspace*{5em}Datum, Unterschrift \\ + +\vfill +\tiny +Die zur Zeit gültigen Allgemeinen Auftrags- und Verkaufsbedingungen wurden zur Kenntnis genommen.\\ + +Beanstandungen sind innerhalb von fünf Werktagen bekanntzugeben. Später eingehende Beanstandungen können nicht mehr berücksichtigt werden. Bitte dokumentieren Sie eventuelle Verpackungs- und Transportschäden der Lieferung anhand von Fotos. \end{document} - diff --git a/templates/print/Standard/sales_order.html b/templates/print/Standard/sales_order.html deleted file mode 100644 index 4cbe20afb..000000000 --- a/templates/print/Standard/sales_order.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - - -
  - - - - - - - - - - - - -
-

- <%company%> -
<%address%> -

-
-

- Telefon <%tel%> -
Telefax <%fax%> -

-
-

B E S T E L L U N G

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - -
Bestelldatum <%orddate%>
Lieferbar bei <%reqdate%>
Bestellnummer <%ordnumber%>
 
-
- - - - - - - - - - - -
Verrechnet An:Lieferaddresse:
<%name%> -
<%street%> -
<%zipcode%> -
<%city%> -
<%country%> -
<%shiptoname%> -
<%shiptostreet%> -
<%shiptozipcode%> -
<%shiptocity%> -
<%shiptocountry%> -
-
 
- - - - - - - - - - - - -<%foreach number%> - - - - - - - - - - -<%end number%> - - - - - -<%if taxincluded%> - - - - -<%end taxincluded%> - -<%if not taxincluded%> - - - - -<%end taxincluded%> - -<%foreach tax%> - - - - -<%end tax%> - - - - - - - - - - - -<%if taxincluded%> - - - -<%end taxincluded%> - - - - - -
NummerArtikelAnz PreisRabTotal
<%number%><%description%><%qty%><%unit%><%sellprice%><%discount%><%linetotal%>

Total<%ordtotal%>
Zwischensumme<%subtotal%>
<%taxdescription%> auf <%taxbase%> @ <%taxrate%> %<%tax%>
 
Netto <%terms%> TageTotal<%ordtotal%>
Steuern sind im Preis inbegriffen
 
-
- - -<%if notes%> - - -<%end notes%> - - - -
Bemerkungen<%notes%> - Alle Preise in <%currency%> -
<%shippingpoint%> -
-
 
- - - - - -
- Spezialprodukte werden nicht zurückgenommen. Für alle anderen Waren - wird eine 10% Stornogebühr verrechnet. - - - X
-
-
- -
- - - - diff --git a/templates/print/Standard/sales_order.tex b/templates/print/Standard/sales_order.tex index 7cc8d8215..048a560d5 100644 --- a/templates/print/Standard/sales_order.tex +++ b/templates/print/Standard/sales_order.tex @@ -1,74 +1,273 @@ -\documentclass[twoside]{scrartcl} -\usepackage{eurosym} -\usepackage{tabularx} -\usepackage[utf8]{inputenc} -\begin{document} - -\thispagestyle{empty} - -\newlength{\descrwidth}\setlength{\descrwidth}{10cm} -\setlength{\parindent}{0cm} +% sales_order.tex +% Auftragsbestätigung Verkauf +% Überarbeitet von Norbert Simon, n.simon@linet-services.de +% Version 2.5 vom 15. November 2011 +% Basiert auf der Arbeit von kmk@lilalaser.de / 2007 +% Diese Vorlage steht unter der GPL-Lizenz, Version 3 +% siehe http://www.gnu.de/licenses/gpl-3.0.html +% ---------- +% config: tag-style=$( )$ +% ---------- -\fontfamily{cmss}\fontshape{n}\selectfont +\documentclass[twoside]{scrartcl} +\usepackage{fancyhdr} % Für den Seitenkopf und -Fuß +\usepackage{ifpdf} % Erlaubt eine Code-Weiche für PDF, oder DVI Ausgabe +\usepackage{xifthen} % Allgemeine Code-Weiche +\usepackage{graphicx} % Fuer die Einbindung der Logo-Graphik +\usepackage{german} % Deutsche Trenn-Tabelle +\usepackage[utf8]{inputenc} % Umlaute direkt eingeben +\usepackage{textcomp} % Sonderzeichen +\usepackage{lastpage} % Fuer die Angabe "Seite 2 von 5" +\usepackage{filecontents} % Um von latex aus eine Datei schreiben zu koennen +\usepackage{etex} % Damit Marken verwendet werden koennen +\usepackage{ltxtable} % Mehrseiten-Tabellen mit variabler Spaltenbreite +\usepackage{booktabs} % Striche in Tabellen +\usepackage{numprint} % Zahlen formatiert ausgeben +\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 +\usepackage{microtype,relsize} %Feinpositionierung, Sperren von Text +\newcommand*{\sperren}[1]{\normalsize\textls*[200]{#1}} %Sperrung Überrschriften -\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont -\vspace*{1.5cm} +% ---------- Report-Variablen zur Verwendung in kivitendobriefkopf.tex ---------- +% ---------- Die eigenen Daten ---------- +\newcommand{\employeename}{$(employee_name)$} +\newcommand{\employeecompany}{$(employee_company)$} +\newcommand{\employeeaddress}{$(employee_address)$} +\newcommand{\employeetel}{$(employee_tel)$} +\newcommand{\employeefax}{$(employee_fax)$} +\newcommand{\employeeemail}{$(employee_email)$} +\newcommand{\employeecoustid}{$(employee_co_ustid)$} +\newcommand{\employeetaxnumber}{$(employee_taxnumber)$} +\newcommand{\employeetable}{tabelle$(employee_login)$.tex} -\begin{minipage}{8cm} - <%name%> +% ---------- Eigene Bankverbindung falls nicht im Briefkopf gesetzt ---------- +% \newcommand{\companybank}{$(company_bank)$} +% \newcommand{\companybankcode}{$(company_bank_code)$} +% \newcommand{\companyaccountnumber}{$(company_account_number)$} - <%street%> +% ---------- Adressat ---------- +\newcommand{\name}{$(name)$} +\newcommand{\departmentone}{$(department_1)$} +\newcommand{\departmenttwo}{$(department_2)$} +\newcommand{\cpgreeting}{$(cp_greeting)$} +\newcommand{\cptitle}{$(cp_title)$} +\newcommand{\cpgivenname}{$(cp_givenname)$} +\newcommand{\cpname}{$(cp_name)$} +\newcommand{\street}{$(street)$} +\newcommand{\country}{$(country)$} +\newcommand{\zipcode}{$(zipcode)$} +\newcommand{\city}{$(city)$} +\newcommand{\phone}{$(customerphone)$} +\newcommand{\fax}{$(customerfax)$} +\newcommand{\lettergreeting}{ + \ifthenelse{\equal{$(cp_gender)$}{f}} + {Sehr geehrte Frau $(cp_name)$,} + {\ifthenelse{\equal{$(cp_gender)$}{m}} + {Sehr geehrter Herr $(cp_name)$,} + {Sehr geehrte Damen und Herren,} + }\\[1\baselineskip] +} - <%zipcode%> <%city%> +% ---------- Bestellvariablen ---------- +\newcommand{\quonumber}{$(quonumber)$} +\newcommand{\ordnumber}{$(ordnumber)$} +\newcommand{\docnumber}{{\quonumber}} +\newcommand{\orddate}{$(orddate)$} +\newcommand{\quodate}{$(quodate)$} +\newcommand{\kundennummer}{$(customernumber)$} +\newcommand{\reqdate}{$(reqdate)$} +\newcommand{\transdate}{$(transdate)$} - <%country%> -\end{minipage} -\hfill -\begin{minipage}{6cm} - \rightline{\LARGE\textbf{\textit{Auftragsbestätigung}}} \vspace*{0.2cm} - \rightline{\large\textbf{\textit{Nr. <%ordnumber%>% - }}} \vspace*{0.2cm} +% ---------- Lieferadresse ---------- +\newcommand{\shiptoname}{$(shiptoname)$} +\newcommand{\shiptocontact}{$(shiptocontact)$} +\newcommand{\shiptodepartmentone}{$(shiptodepartment_1)$} +\newcommand{\shiptodepartmenttwo}{$(shiptodepartment_2)$} +\newcommand{\shiptostreet}{$(shiptostreet)$} +\newcommand{\shiptocity}{$(shiptocity)$} +\newcommand{\shiptocountry}{$(shiptocountry)$} +\newcommand{\shiptophone}{$(shiptophone)$} +\newcommand{\shiptozipcode}{$(shiptozipcode)$} +\newcommand{\shiptofax}{$(shiptofax)$} - Datum:\hfill <%orddate%> +% ---------- Währungszeichen ---------- +\newcommand{\currency}{$(currency)$} +\ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{} +\ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{} +\ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{} +\ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{} - Kunden-Nr:\hfill <%customernumber%> +% ---------- Ende Reportvariablen-Umsetzung ---------- - Telefon:\hfill <%phone%> +% ---------- Briefkopf dazuladen ---------- +\input{kivitendobriefkopf} - Telefax:\hfill <%fax%> +\begin{document} +% ---------- Schrift Hauptdokuments (Computermodern-sanserif) ---------- +% \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont +% ---------- Schrift Helvetica ------------------------ +\fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont +% ---------- Firmenlogo nur erste Seite ---------- +\thispagestyle{briefkopf} - Ansprechpartner:\hfill <%employee%> +% ---------- Datum und Nummern ---------- +% Position unterhalb des Briefkopfs +\vspace*{\vlogospacing} +\renewcommand{\arraystretch}{0.9} +\begin{minipage}[b]{177mm} +\sperren{\textbf{Auftragsbestätigung Nr. \ordnumber}} +\hfill + \small + \begin{tabular}[b]{r@{\hspace{2mm}}p{\hlogospacing}} + \textbf{Seite} & {\thepage} von \pageref{LastPage}\\ + \textbf{Datum} & \orddate \\ + \textbf{Kunden Nr.} & \kundennummer\\ + \textbf{Angebot Nr.} & \docnumber\\ + \textbf{Auftragsbestätigung Nr.} & \ordnumber\\ + \nonemptyline{\textbf{Vorraussichtl. Lieferdatum} &}{\reqdate} + \textbf{Ansprechpartner} & \employeename\\ + \nonemptyline{\textbf{Durchwahl} &}{\employeetel} + \nonemptyline{\textbf{E-Mail} &}{\employeeemail} + \end{tabular}\\[10mm plus 20mm minus 10mm] \end{minipage} +\renewcommand{\arraystretch}{1} +\normalsize +% ---------- Begrüßung und Bemerkungen ---------- +\vspace{5mm} +\lettergreeting +wir bedanken uns für Ihren Auftrag % +\ifthenelse{\equal{\orddate}{\leer}}{}{vom \orddate{ }}% +und bestätigen Ihnen diesen wie folgt.\\ +%Für Nachfragen steht Ihnen \employeename \ per Telefon (\employeetel) oder per E-Mail (\employeeemail) gerne zur Verfügung.\\[1\baselineskip] +\ifthenelse{\isempty{$(notes)$}}{}{ + $(notes)$\\[1\baselineskip] + }% +%Mit freundlichen Grüßen\\[1\baselineskip] +%\employeename\\[1\baselineskip] +% ---------- Die eigentliche-Tabelle ---------- +% ---------- Tabelle puffern ---------- +\begin{filecontents}{\employeetable} +% ---------- globale Variable laufsumme deklarieren ---------- +\resetlaufsumme +% ---------- Spaltendefinition ---------- +%\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{~\currency}}]}} +\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{}}]}} +% ---------- Kopfzeile der Tabelle ---------- + \textbf{Pos} & + \textbf{Art.Nr.} & + \textbf{Bezeichnung} & + \textbf{Menge} & + \textbf{ME} & + \textbf{EP/€} & + \textbf{GP/€} \\ + \midrule + \endfirsthead +% ---------- Tabellenkopf nach dem Umbruch ---------- + \textbf{Pos} & + \textbf{Art.Nr.} & + \textbf{Bezeichnung} & + \textbf{Menge} & + \textbf{ME} & + \textbf{EP/€} & + \textbf{GP/€} \\ + \midrule + & & \multicolumn{4}{r}{} & \MarkUebertrPos\\[1.5em] + \endhead +% ---------- Fuss der Teiltabellen ---------- + \midrule + & & \multicolumn{4}{r}{} & \MarkZwsumPos \\ + \endfoot +% ---------- Das Ende der Tabelle ---------- + \midrule +% & & \multicolumn{4}{r}{ Nettobetrag:} & \MarkZwsumPos \\ + \endlastfoot +% ---------- Positionen ---------- + $(foreach number)$ + $(runningnumber)$ & + $(number)$ & + $(description)$ + \ifthenelse{\equal{$(longdescription)$}{}}{}{\newline + \renewcommand{\baselinestretch}{1}\footnotesize + {\footnotesize $(longdescription)$ + \renewcommand{\baselinestretch}{1}\normalsize + }} + \ifthenelse{\equal{$(deliverydate_oe)$}{\leer}}{}{ + \newline Lieferdatum:~$(deliverydate_oe)$} & + $(qty)$ & + $(unit)$ & + \ifthenelse{\isempty{$(sellprice)$}}{&}{ + \numprint{$(sellprice)$} + \ifthenelse{\equal{$(p_discount)$}{0}}{}{ -$(p_discount)$\%} & + \numprint{$(linetotal)$}\Wert{$(linetotal NOFORMAT)$} + }\\ % + $(end number)$ -\vspace*{0.5cm} - +\end{longtable} +% ---------- Ende der Hilfsdatei ---------- +\end{filecontents} +% ---------- Puffertabelle öffnen ---------- +\LTXtable{\textwidth}{\employeetable} +\parbox{\textwidth}{ +%---------- Summenbereich nach recht schieben ---------- \hfill +\setlength{\tabcolsep}{0mm} +\begin{tabular}{@{}r@{ }r@{ }l} +% \toprule + {Nettobetrag:}& \numprint{$(subtotal)$}& \currency\\ +% ---------- Alle Steuern ausweisen ---------- + $(foreach tax)$ +% {$(taxdescription)$ auf }\numprint{$(taxbase)$}~\currency: & \numprint{$(tax)$}& \\ + {$(taxdescription)$}: & \numprint{$(tax)$}& \currency\\ + $(end tax)$ + \midrule + {\textbf{Gesamtbetrag:}} & \bfseries\numprint{$(ordtotal)$} & \textbf{\currency}\\ + \bottomrule +\end{tabular} +} +% ---------- Transportmittel ---------- +$(if shipvia)$ +Lieferung per $(shipvia)$.\\[1em] +$(end)$ +% ---------- Lieferadresse ---------- +\ifthenelse{% + \equal{\shiptoname}{\name} \AND + \equal{\shiptodepartmentone}{\leer} \AND + \equal{\shiptodepartmenttwo}{\leer} \AND + \equal{\shiptostreet}{\street} \AND + \equal{\shiptozipcode}{\zipcode} \AND + \equal{\shiptocity}{\city} + }{}{ +% ---------- Umbruch dazwischen verhindern ---------- +\vspace*{0.5em} +\parbox{\textwidth}{ +% ---------- Bereich für Lieferadresse ---------- +\textbf{Lieferanschrift:}\hfill\parbox[t]{0.7\textwidth}{ + \shiptoname \\ + \nonemptyline{}{\shiptodepartmentone} + \nonemptyline{}{\shiptodepartmenttwo} + \shiptostreet \\ + \shiptocountry{ }\shiptozipcode{ }\shiptocity\\[1mm] + \nonemptyline{Tel: }{\shiptophone} + \nonemptyline{Fax: }{\shiptofax} + }%ende parbox +}% ende parbox +}% ende ifthenelse +$(if payment_terms)$ +\vspace*{0.5em} +\textbf{Zahlungsbedingungen:}\hfill\parbox[t]{0.7\textwidth}{$(payment_terms)$}\\[1em] +$(end)$ +\vspace*{0.5em} +%Nutzen Sie bitte für Fragen oder Änderungswünsche die oben angegebenen Kontaktmöglichkeiten.\\ \vfil +\parbox{\textwidth}{ +Für Nachfragen steht Ihnen \employeename \ per Telefon (\employeetel) oder per E-Mail (\employeeemail) gerne zur Verfügung.\\ -\vspace{0.5cm} - -\begin{tabularx}{\textwidth}{lrXrr} - \hline - \textbf{Pos} & \textbf{Menge} & \textbf{Bezeichnung} & - \textbf{E-Preis/\euro} & \textbf{G-Preis/\euro} \\ - \hline - <%foreach number%> - <%runningnumber%> & <%qty%> <%unit%> & \raggedright <%description%> & - <%sellprice%> \euro & <%linetotal%> \euro \\ - <%end number%> \hline - \multicolumn{4}{l}{Nettobetrag} & <%subtotal%> \euro\\ - <%foreach tax%> - \multicolumn{4}{l}{<%taxdescription%>} & <%tax%>\euro \\ - <%end tax%> - \multicolumn{4}{l}{\textbf{Endbetrag}} & \textbf{<%ordtotal%> \euro} \\ -\end{tabularx} -\hrule - -\vspace{1cm} -Vereinbarter Liefertermin: <%reqdate%> \\ \\ -\textit{Bitte kontrollieren Sie alle Positionen auf Übereinstimmung - mit Ihrer Bestellung! Abweichungen teilen Sie innerhalb von 3 Tagen - mit!} \\ \\ +Wir sichern Ihnen eine termin- und fachgerechte Ausführung zu.\\ +\vspace{1.5\baselineskip} +Mit freundlichen Grüßen\\ \vfil +\employeename +}% Ende Parbox +\vfill +\footnotesize +Es gelten unsere Liefer- und Zahlungsbedingungen, die wir Ihnen auf Wunsch gerne zukommen lassen. \end{document} - diff --git a/templates/print/Standard/sales_quotation.html b/templates/print/Standard/sales_quotation.html deleted file mode 100644 index 138063154..000000000 --- a/templates/print/Standard/sales_quotation.html +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - - -
  - - - - - - - - - - - - - - - - -
-

- <%company%> -
<%address%> -

-
-

- Tel: <%tel%> -
Fax: <%fax%> -

-
 
-

A N G E B O T

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - -
<%name%> -
<%street%> -
<%zipcode%> -
<%city%> -
<%country%> -
-<%if contact%> -
Kontakt: <%contact%> -<%end contact%> - -<%if customerphone%> -
Tel: <%customerphone%> -<%end customerphone%> - -<%if customerfax%> -
Fax: <%customerfax%> -<%end customerfax%> - -<%if email%> -
<%email%> -<%end email%> -
-
 
- - - - - - - - - - - - - - - - - - -
NummerDatumGültig bisKontaktLagerplatzLieferung mit
<%quonumber%><%quodate%><%reqdate%><%employee%><%shippingpoint%><%shipvia%>
-
 
- - - - - - - - - - - - -<%foreach number%> - - - - - - - - - - - -<%end number%> - - - - - - -<%if taxincluded%> - - -<%end taxincluded%> - -<%if not taxincluded%> - - -<%end taxincluded%> - - -<%foreach tax%> - - - - -<%end tax%> - - - - - - - - - - - - - - - - -
Nr.ArtikelnummerBeschreibungMenge PreisRabattGesamtpreis
<%runningnumber%><%number%><%description%><%qty%><%unit%><%sellprice%><%discount%><%linetotal%>

Gesamtbetrag netto<%invtotal%>Zwischensumme<%subtotal%>
<%taxdescription%> von <%taxbase%> @ <%taxrate%> %<%tax%>
 
  -<%if terms%> - Zahlungsziel <%terms%> Tage -<%end terms%> - Gesamtbetrag brutto<%quototal%>
 
-
- - -<%if notes%> - - -<%end notes%> - - - -
Bemerkungen<%notes%> - Alle Preise in <%currency%> Euro -
-
 
- - - - - -
- Spezialanfertigungen können nicht zurückgenommen werden. - - - X
-
-
- -
- - - - - diff --git a/templates/print/Standard/sales_quotation.tex b/templates/print/Standard/sales_quotation.tex index 42c2422fb..f608ca08c 100644 --- a/templates/print/Standard/sales_quotation.tex +++ b/templates/print/Standard/sales_quotation.tex @@ -1,79 +1,277 @@ -\documentclass[twoside]{scrartcl} -\usepackage{eurosym} -\usepackage{tabularx} -\usepackage[utf8]{inputenc} -\begin{document} +% salex_quotation.tex +% Verkauf - Angebot +% Überarbeitet von Norbert Simon, n.simon@linet-services.de +% Version 2.5 vom 15. November 2011 +% Basiert auf der Arbeit von kmk@lilalaser.de / 2007 +% Diese Vorlage steht unter der GPL-Lizenz, Version 3 +% siehe http://www.gnu.de/licenses/gpl-3.0.html +% ---------- +% config: tag-style=$( )$ +% ---------- -\thispagestyle{empty} +\documentclass[twoside]{scrartcl} +\usepackage{fancyhdr} % Für den Seitenkopf und -Fuß +\usepackage{ifpdf} % Erlaubt eine Code-Weiche für PDF, oder DVI Ausgabe +\usepackage{xifthen} % Allgemeine Code-Weiche +\usepackage{graphicx} % Fuer die Einbindung der Logo-Graphik +\usepackage{german} % Deutsche Trenn-Tabelle +\usepackage[utf8]{inputenc} % Umlaute direkt eingeben +\usepackage{textcomp} % Sonderzeichen +\usepackage{lastpage} % Fuer die Angabe "Seite 2 von 5" +\usepackage{filecontents} % Um von latex aus eine Datei schreiben zu koennen +\usepackage{etex} % Damit Marken verwendet werden koennen +\usepackage{ltxtable} % Mehrseiten-Tabellen mit variabler Spaltenbreite +\usepackage{booktabs} % Striche in Tabellen +\usepackage{numprint} % Zahlen formatiert ausgeben +\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 +\usepackage{microtype,relsize} %Feinpositionierung, Sperren von Text +\newcommand*{\sperren}[1]{\normalsize\textls*[200]{#1}} %Sperrung Überrschriften -\newlength{\descrwidth}\setlength{\descrwidth}{10cm} -\setlength{\parindent}{0cm} -\fontfamily{cmss}\fontshape{n}\selectfont +% ---------- Report-Variablen zur Verwendung in kivitendobriefkopf.tex ---------- +% ---------- Die eigenen Daten ---------- +\newcommand{\employeename}{$(employee_name)$} +\newcommand{\employeecompany}{$(employee_company)$} +\newcommand{\employeeaddress}{$(employee_address)$} +\newcommand{\employeetel}{$(employee_tel)$} +\newcommand{\employeefax}{$(employee_fax)$} +\newcommand{\employeeemail}{$(employee_email)$} +\newcommand{\employeecoustid}{$(employee_co_ustid)$} +\newcommand{\employeetaxnumber}{$(employee_taxnumber)$} +\newcommand{\employeetable}{tabelle$(employee_login)$.tex} -\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont +% ---------- Eigene Bankverbindung falls nicht im Briefkopf gesetzt ---------- +% \newcommand{\companybank}{$(company_bank)$} +% \newcommand{\companybankcode}{$(company_bank_code)$} +% \newcommand{\companyaccountnumber}{$(company_account_number)$} -\vspace*{1.5cm} +% ---------- Adressat ---------- +\newcommand{\name}{$(name)$} +\newcommand{\departmentone}{$(department_1)$} +\newcommand{\departmenttwo}{$(department_2)$} +\newcommand{\cpgreeting}{$(cp_greeting)$} +\newcommand{\cptitle}{$(cp_title)$} +\newcommand{\cpgivenname}{$(cp_givenname)$} +\newcommand{\cpname}{$(cp_name)$} +\newcommand{\street}{$(street)$} +\newcommand{\country}{$(country)$} +\newcommand{\zipcode}{$(zipcode)$} +\newcommand{\city}{$(city)$} +\newcommand{\phone}{$(customerphone)$} +\newcommand{\fax}{$(customerfax)$} +\newcommand{\lettergreeting}{ + \ifthenelse{\equal{$(cp_gender)$}{f}} + {Sehr geehrte Frau $(cp_name)$,} + {\ifthenelse{\equal{$(cp_gender)$}{m}} + {Sehr geehrter Herr $(cp_name)$,} + {Sehr geehrte Damen und Herren,} + }\\[1\baselineskip] +} -\begin{minipage}{8cm} - <%name%> +% ---------- Bestellvariablen ---------- +\newcommand{\quonumber}{$(quonumber)$} +\newcommand{\docnumber}{Angebot Nr. {\quonumber}} +\newcommand{\quodate}{$(quodate)$} +\newcommand{\kundennummer}{$(customernumber)$} +\newcommand{\reqdate}{$(reqdate)$} - <%street%> +% ---------- Lieferadresse ---------- +\newcommand{\shiptoname}{$(shiptoname)$} +\newcommand{\shiptocontact}{$(shiptocontact)$} +\newcommand{\shiptodepartmentone}{$(shiptodepartment_1)$} +\newcommand{\shiptodepartmenttwo}{$(shiptodepartment_2)$} +\newcommand{\shiptostreet}{$(shiptostreet)$} +\newcommand{\shiptocity}{$(shiptocity)$} +\newcommand{\shiptocountry}{$(shiptocountry)$} +\newcommand{\shiptophone}{$(shiptophone)$} +\newcommand{\shiptozipcode}{$(shiptozipcode)$} +\newcommand{\shiptofax}{$(shiptofax)$} - <%zipcode%> <%city%> +% ---------- Währungszeichen ---------- +\newcommand{\currency}{$(currency)$} +\ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{} +\ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{} +\ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{} +\ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{} - <%country%> -\end{minipage} -\hfill -\begin{minipage}{6cm} - \rightline{\LARGE\textbf{\textit{Angebot}}} - \rightline{\large\textbf{\textit{Nr. <%quonumber%>% - }}} +% ---------- Ende Reportvariablen-Umsetzung ---------- - Datum:\hfill <%transdate%> +% ---------- Briefkopf dazuladen ---------- +\input{kivitendobriefkopf} - Kunden-Nr:\hfill <%customernumber%> - - Telefon:\hfill <%phone%> - - Telefax:\hfill <%fax%> +\begin{document} +% ---------- Schrift Hauptdokuments (Computermodern-sanserif) ---------- +% \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont +% ---------- Schrift Helvetica ------------------------ +\fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont +% ---------- Firmenlogo nur erste Seite ---------- +\thispagestyle{briefkopf} - Ansprechpartner:\hfill <%employee%> +% ---------- Datum und Nummern ---------- +% Position unterhalb des Briefkopfs +\vspace*{\vlogospacing} +\renewcommand{\arraystretch}{0.9} +\begin{minipage}[b]{177mm} +\sperren{\textbf{Angebot Nr. \quonumber}} +\hfill + \small + \begin{tabular}[b]{r@{\hspace{2mm}}p{\hlogospacing}} + \textbf{Seite} & {\thepage} von \pageref{LastPage}\\ + \textbf{Datum} & \quodate \\ + \nonemptyline{\textbf{Gültig bis} &}{\reqdate} + \textbf{Kunden Nr.} & \kundennummer\\ + \textbf{Angebot Nr.} & \quonumber\\ + \textbf{Ansprechpartner} & \employeename\\ + \nonemptyline{\textbf{Durchwahl} &}{\employeetel} + \nonemptyline{\textbf{E-Mail} &}{\employeeemail} + \end{tabular}\\[10mm plus 20mm minus 10mm] \end{minipage} +\renewcommand{\arraystretch}{1} +\normalsize +% ---------- Begrüßung und Bemerkungen ---------- +\vspace{5mm} +\lettergreeting +wir bedanken uns für Ihre Anfrage und bieten Ihnen gemäß unserer Liefer- und Zahlungsbedingungen hiermit freibleibend die nachfolgenden Positionen an. +\ifthenelse{\isempty{$(notes)$}}{}{ + \newline + $(notes)$ + } +\vspace{5mm} -\vspace*{0.5cm} +% ---------- Die eigentliche-Tabelle ---------- +% ---------- Tabelle puffern ---------- +\begin{filecontents}{\employeetable} +% ---------- globale Variable laufsumme deklarieren ---------- +\resetlaufsumme +% ---------- Spaltendefinition ---------- +%\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{~\currency}}]}} +\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{}}]}} +% ---------- Kopfzeile der Tabelle ---------- + \textbf{Pos} & + \textbf{Art.Nr.} & + \textbf{Bezeichnung} & + \textbf{Menge} & + \textbf{ME} & + \textbf{EP/€} & + \textbf{GP/€} \\ + \midrule + \endfirsthead +% ---------- Tabellenkopf nach dem Umbruch ---------- + \textbf{Pos} & + \textbf{Art.Nr.} & + \textbf{Bezeichnung} & + \textbf{Menge} & + \textbf{ME} & + \textbf{EP/€} & + \textbf{GP/€} \\ + \midrule + & & \multicolumn{4}{r}{} & \MarkUebertrPos\\[1.5em] + \endhead +% ---------- Fuss der Teiltabellen ---------- + \midrule + & & \multicolumn{4}{r}{} & \MarkZwsumPos \\ + \endfoot +% ---------- Das Ende der Tabelle ---------- + \midrule +% & & \multicolumn{4}{r}{ Nettobetrag:} & \MarkZwsumPos \\ + \endlastfoot +% ---------- Positionen ---------- + $(foreach number)$ + $(runningnumber)$ & + $(number)$ & + $(description)$ + \ifthenelse{\equal{$(longdescription)$}{}}{}{\newline + \renewcommand{\baselinestretch}{1}\footnotesize + {\footnotesize $(longdescription)$ + \renewcommand{\baselinestretch}{1}\normalsize + }} & + $(qty)$ & + $(unit)$ & + \ifthenelse{\isempty{$(sellprice)$}}{&}{ + \numprint{$(sellprice)$} + \ifthenelse{\equal{$(p_discount)$}{0}}{}{ -$(p_discount)$\%} & + \numprint{$(linetotal)$}\Wert{$(linetotal NOFORMAT)$} + }\\ % + $(end number)$ +\end{longtable} +% ---------- Ende der Hilfsdatei ---------- +\end{filecontents} +% ---------- Puffertabelle öffnen ---------- +\LTXtable{\textwidth}{\employeetable} +%---------- Bereich für die Summen ---------- +\parbox{\textwidth}{ +%---------- Summenbereich nach rechts schieben ---------- \hfill - -\vspace{0.5cm} - -\begin{tabularx}{\textwidth}{lrXrr} - \hline - \textbf{Pos} & \textbf{Menge} & \textbf{Bezeichnung} & - \textbf{E-Preis/\euro} & \textbf{G-Preis/\euro} \\ - \hline - <%foreach number%> - <%runningnumber%> & <%qty%> <%unit%> & \raggedright <%description%> & - <%sellprice%> \euro & <%linetotal%> \euro \\ - <%end number%> \hline - \multicolumn{4}{l}{Nettobetrag} & <%subtotal%> \euro \\ - <%foreach tax%> - \multicolumn{4}{l}{<%taxdescription%>} & <%tax%> \euro \\ - <%end tax%> - \multicolumn{4}{l}{\textbf{Endbetrag}} & \textbf{<%ordtotal%> \euro } -\end{tabularx} -\hrule - -\vspace{0.2cm} - -Wir danken für Ihre Anfrage und hoffen, Ihnen hiermit ein interessantes Angebot gemacht zu haben. Das Angebot ist - gültig bis zum <%reqdate%>. Sollten Sie noch Fragen oder Änderungswünsche haben, können Sie uns gerne jederzeit - unter den oben genannten Telefonnummern oder eMail-Adressen kontaktieren. \\ - Bei der Durchführung des Auftrags gelten unsere AGB, die wir Ihnen gerne zuschicken. \\ \\ - Mit freundlichen Grüßen, \\ \\ \\ - <%employee_name%> - - - +\setlength{\tabcolsep}{0mm} +\begin{tabular}{@{}r@{ }r@{ }l} +% \toprule + {Nettobetrag:}& \numprint{$(subtotal)$}& \currency\\ +% ---------- Alle Steuern ausweisen ---------- + $(foreach tax)$ +% {$(taxdescription)$ auf }\numprint{$(taxbase)$}~\currency: & \numprint{$(tax)$}& \\ + {$(taxdescription)$}: & \numprint{$(tax)$}& \currency\\ + $(end tax)$ + \midrule + {\textbf{Gesamtbetrag:}} & \bfseries\numprint{$(ordtotal)$} & \textbf{\currency}\\ + \bottomrule +\end{tabular} +} +% ---------- Nachbemerkung mit variablem Abstand ---------- +\vfil +$(if reqdate)$ +\vspace*{0.3em} +\textbf{Das Angebot ist gültig bis zum \reqdate.}\\ +\vfil +$(end)$ +$(if payment_terms)$ +\textbf{Zahlungsbedingungen:}\hfill\parbox[t]{0.7\textwidth}{$(payment_terms)$}\\ +\vfil +$(end)$ +% ---------- Transportmittel ---------- +$(if shipvia)$ +Lieferung per $(shipvia)$.\\[1em] +$(end)$ +% ---------- Lieferadresse ---------- +\ifthenelse{% + \equal{\shiptoname}{\name} \AND + \equal{\shiptodepartmentone}{\leer} \AND + \equal{\shiptodepartmenttwo}{\leer} \AND + \equal{\shiptostreet}{\street} \AND + \equal{\shiptozipcode}{\zipcode} \AND + \equal{\shiptocity}{\city} + }{}{ +% ---------- Umbruch dazwischen verhindern ---------- +\vspace*{0.5em} +\parbox{\textwidth}{ +% ---------- Bereich für Lieferadresse ---------- +\textbf{Lieferanschrift:}\hfill\parbox[t]{0.7\textwidth}{ + \shiptoname \\ + \nonemptyline{}{\shiptodepartmentone} + \nonemptyline{}{\shiptodepartmenttwo} + \shiptostreet \\ + \shiptocountry{ }\shiptozipcode{ }\shiptocity\\[1mm] + \nonemptyline{Tel: }{\shiptophone} + \nonemptyline{Fax: }{\shiptofax} + }%ende parbox + }% ende parbox +}% ende ifthenelse +\vspace*{0.5em} +\parbox{\textwidth}{ +Sollten Sie Fragen zu unserem Angebot haben, steht Ihnen \employeename \ per Telefon (\employeetel) oder per E-Mail (\employeeemail) gerne zur Verfügung. +Wir hoffen, dass unser Angebot Ihre Zustimmung findet und würden uns freuen Ihren Auftrag zu erhalten.\par +\vspace{1.5\baselineskip} +Mit freundlichen Grüßen\\ \vfil +\employeename +}% Ende parbox +%\vspace{1.5\baselineskip} +\vfill +\textbf{Wollen Sie direkt bestellen?}\\[1.2em] +\small{Machen Sie durch Ihren Stempel und Ihre Unterschrift unser Angebot Nr. \quonumber \ zum Auftrag.}\\[1.2em] +\vspace{2.5\baselineskip}\\ +\rule{20em}{0.1pt}\\ +\hspace*{5em}Datum, Unterschrift \\ +\vfill +\footnotesize +Es gelten unsere Liefer- und Zahlungsbedingungen, die wir Ihnen auf Wunsch gerne zukommen lassen. \end{document} - diff --git a/templates/print/Standard/statement.html b/templates/print/Standard/statement.html deleted file mode 100644 index 37e612c3d..000000000 --- a/templates/print/Standard/statement.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - - - - - - - - - - - - -
-

- <%company%> -
<%address%> -

-
-

- Tel: <%tel%> -
Fax: <%fax%> -

-

S T A T E M E N T

<%statementdate%>
-
  - - - - -
<%name%> -
<%street%> -
<%zipcode%> -
<%city%> -
<%country%> -
-<%if customerphone%> -
Tel: <%customerphone%> -<%end customerphone%> -<%if customerfax%> -
Fax: <%customerfax%> -<%end customerfax%> -<%if email%> -
<%email%> -<%end email%> -
-
  - - - - - - - - - - -<%foreach invnumber%> - - - - - - - - - -<%end invnumber%> - - - - - - - - -
Invoice #DateDueCurrent306090+
<%invnumber%><%invdate%><%duedate%><%c0%><%c30%><%c60%><%c90%>

   <%c0total%> - <%c30total%> - <%c60total%> - <%c90total%> -
-
  - - - - - -
Total Outstanding<%total%>
-
 
 Please make check payable to <%company%>. -
- diff --git a/templates/print/Standard/zahlungserinnerung.tex b/templates/print/Standard/zahlungserinnerung.tex index 679f6bd6e..f98f1a557 100644 --- a/templates/print/Standard/zahlungserinnerung.tex +++ b/templates/print/Standard/zahlungserinnerung.tex @@ -1,62 +1,169 @@ -\documentclass[10pt, oneside]{scrartcl} -\usepackage[utf8]{inputenc} -\usepackage{german} -\usepackage{tabularx} -\usepackage{xspace} -\usepackage{ifthen} -\usepackage{eso-pic} -\usepackage{longtable} -\usepackage{eurosym} - -\setlength{\voffset}{-0.3cm} -\setlength{\hoffset}{-2.2cm} -\setlength{\topmargin}{0cm} -\setlength{\headheight}{0.5cm} -\setlength{\headsep}{1cm} -\setlength{\topskip}{0pt} -\setlength{\oddsidemargin}{2cm} -%\setlength{\evensidemargin}{2cm} -\setlength{\textwidth}{16.4cm} -% \setlength{\textwidth}{13.4cm} -\setlength{\textheight}{23.5cm} -\setlength{\footskip}{1cm} -\setlength{\parindent}{0pt} -\setlength{\tabcolsep}{0cm} - -\renewcommand{\baselinestretch}{1} +% zahlungserinnerung.tex +% Zahlungserinnerung Verkauf +% Überarbeitet von Norbert Simon, n.simon@linet-services.de +% Version 2.1 vom 21.Oktober 2011 +% Basiert auf der Arbeit von kmk@lilalaser.de / 2007 +% Diese Vorlage steht unter der GPL-Lizenz, Version 3 +% siehe http://www.gnu.de/licenses/gpl-3.0.html +% ---------- +% config: tag-style=$( )$ +% ---------- -\begin{document} -\pagestyle{empty} -\fontfamily{cmss}\fontsize{10pt}{10pt}\fontseries{m}\selectfont +\documentclass[twoside]{scrartcl} +\usepackage{fancyhdr} % Für den Seitenkopf und -Fuß +\usepackage{ifpdf} % Erlaubt eine Code-Weiche für PDF, oder DVI Ausgabe +\usepackage{xifthen} % Allgemeine Code-Weiche +\usepackage{graphicx} % Fuer die Einbindung der Logo-Graphik +\usepackage{german} % Deutsche Trenn-Tabelle +\usepackage[utf8]{inputenc} % Umlaute direkt eingeben +\usepackage{textcomp} % Sonderzeichen +\usepackage{lastpage} % Fuer die Angabe "Seite 2 von 5" +\usepackage{filecontents} % Um von latex aus eine Datei schreiben zu koennen +\usepackage{etex} % Damit Marken verwendet werden koennen +\usepackage{ltxtable} % Mehrseiten-Tabellen mit variabler Spaltenbreite +\usepackage{booktabs} % Striche in Tabellen +\usepackage{numprint} % Zahlen formatiert ausgeben +\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 +\usepackage{microtype,relsize} %Feinpositionierung, Sperren von Text +\newcommand*{\sperren}[1]{\normalsize\textls*[200]{#1}} %Sperrung Überrschriften + +% ---------- Report-Variablen zur Verwendung in kivitendobriefkopf.tex ---------- +% ---------- Die eigenen Daten ---------- +\newcommand{\employeename}{$(employee_name)$} +\newcommand{\employeecompany}{$(employee_company)$} +\newcommand{\employeeaddress}{$(employee_address)$} +\newcommand{\employeetel}{$(employee_tel)$} +\newcommand{\employeefax}{$(employee_fax)$} +\newcommand{\employeeemail}{$(employee_email)$} +\newcommand{\employeecoustid}{$(employee_co_ustid)$} +\newcommand{\employeetaxnumber}{$(employee_taxnumber)$} +\newcommand{\employeetable}{tabelle$(employee_login)$.tex} + +% ---------- Eigene Bankverbindung falls nicht im Briefkopf gesetzt ---------- +% \newcommand{\companybank}{$(company_bank)$} +% \newcommand{\companybankcode}{$(company_bank_code)$} +% \newcommand{\companyaccountnumber}{$(company_account_number)$} -% \vspace*{5cm} +% ---------- Adressat ---------- +\newcommand{\name}{$(name)$} +\newcommand{\departmentone}{$(department_1)$} +\newcommand{\departmenttwo}{$(department_2)$} +\newcommand{\cpgreeting}{$(cp_greeting)$} +\newcommand{\cptitle}{$(cp_title)$} +\newcommand{\cpgivenname}{$(cp_givenname)$} +\newcommand{\cpname}{$(cp_name)$} +\newcommand{\street}{$(street)$} +\newcommand{\country}{$(country)$} +\newcommand{\zipcode}{$(zipcode)$} +\newcommand{\city}{$(city)$} +\newcommand{\phone}{$(customerphone)$} +\newcommand{\fax}{$(customerfax)$} +\newcommand{\lettergreeting}{ + \ifthenelse{\equal{$(cp_gender)$}{f}} + {Sehr geehrte Frau $(cp_name)$,} + {\ifthenelse{\equal{$(cp_gender)$}{m}} + {Sehr geehrter Herr $(cp_name)$,} + {Sehr geehrte Damen und Herren,} + }\\[1\baselineskip] +} -<%name%> +% ---------- Rechnungsvariablen ---------- +\newcommand{\kundennummer}{$(customernumber)$} +\newcommand{\quonumber}{$(quonumber)$} % Angebotsnummer +\newcommand{\ordnumber}{$(ordnumber)$} % Auftragsnummer bei uns +\newcommand{\cusordnumber}{$(cusordnumber)$} % Auftragsnummer beim Kunden +\newcommand{\invnumber}{$(invnumber)$} % Rechnungsnummer +\newcommand{\docnumber}{Rechnungsnummer: \invnumber} +\newcommand{\quodate}{$(quodate)$} % Angebotsdatum +\newcommand{\orddate}{$(orddate)$} % Auftragsdatum +\newcommand{\reqdate}{$(reqdate)$} % gewuenschtes Lieferdatum +\newcommand{\deliverydate}{$(deliverydate)$} % Lieferdatum +\newcommand{\invdate}{$(invdate)$} % Rechnungsdatum +\newcommand{\terms}{$(terms)$} % Zahlungsfrist +\newcommand{\duedate}{$(duedate)$} % Fälligkeitsdatum +\newcommand{\invtotal}{$(invtotal)$} % Gesamtbetrag +\newcommand{\paid}{$(paid)$} % Schon bezahlt +\newcommand{\total}{$(total)$} % Restbetrag +\newcommand{\dunningid}{$(dunning_id)$} % ID Zahlungserinnerung +\newcommand{\dunningdate}{$(dunning_date)$} % Datum der Zahlungserinnerung -% \ifthenelse{\equal{<%cp_name%>}{}}{}{z.Hd. <%cp_name%>} +% ---------- Lieferadresse ---------- +\newcommand{\shiptoname}{$(shiptoname)$} +\newcommand{\shiptocontact}{$(shiptocontact)$} +\newcommand{\shiptodepartmentone}{$(shiptodepartment_1)$} +\newcommand{\shiptodepartmenttwo}{$(shiptodepartment_2)$} +\newcommand{\shiptostreet}{$(shiptostreet)$} +\newcommand{\shiptocity}{$(shiptocity)$} +\newcommand{\shiptocountry}{$(shiptocountry)$} +\newcommand{\shiptophone}{$(shiptophone)$} +\newcommand{\shiptozipcode}{$(shiptozipcode)$} +\newcommand{\shiptofax}{$(shiptofax)$} -<%street%> +% ---------- Währungszeichen ---------- +\newcommand{\currency}{$(currency)$} +\ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{} +\ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{} +\ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{} +\ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{} -<%zipcode%> <%city%> +% ---------- Ende Reportvariablen-Umsetzung ---------- + +% ---------- Briefkopf dazuladen ---------- +\input{kivitendobriefkopf} + +\begin{document} +% ---------- Schrift Hauptdokuments (Computermodern-sanserif) ---------- +% \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont +% ---------- Schrift Helvetica ------------------------ +\fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont -\begin{flushright}<%dunning_date%>\end{flushright} +% ---------- Firmenlogo nur erste Seite ---------- +\thispagestyle{briefkopf} -\vspace*{2.5cm} %\\ -\large -\textbf{Zahlungserinnerung} \\ \\ \\ +% ---------- Datum und Nummern ---------- +% Position unterhalb des Briefkopfs +\vspace*{\vlogospacing} +\renewcommand{\arraystretch}{0.9} +\begin{minipage}[b]{177mm} +\sperren{\textbf{Zahlungserinnerung}} + \hfill + \small + \begin{tabular}[b]{r@{\hspace{2mm}}p{\hlogospacing}} + \textbf{Seite} & {\thepage} von \pageref{LastPage}\\ + \textbf{Datum} & \dunningdate \\ + \textbf{Kunden Nr.} & \kundennummer\\ + \textbf{Rechnung Nr.} & \invnumber\\ + \textbf{Ansprechpartner} & \employeename\\ + \nonemptyline{\textbf{Durchwahl} &}{\employeetel} + \nonemptyline{\textbf{E-Mail} &}{\employeeemail} + \end{tabular}\\[10mm plus 20mm minus 10mm] +\end{minipage} +\renewcommand{\arraystretch}{1} \normalsize -Sehr geehrte Damen und Herren, \\ \\ \\ -man kann seine Augen nicht überall haben - offensichtlich haben Sie übersehen, die folgenden Rechnungen zu begleichen: \\ +% ---------- Begrüßung und Bemerkungen ---------- +\vspace{ 5mm} +\lettergreeting +man kann seine Augen nicht überall haben -- offensichtlich haben Sie übersehen, die folgenden Rechnungen zu begleichen: \\ \vspace{0.5cm} \\ -\begin{tabularx}{\textwidth}{l@{\hspace*{2cm}}X@{\hspace*{0.5cm}}r} +\setlength{\tabcolsep}{0mm} +%\begin{tabularx}{\textwidth}{l@{\hspace*{2cm}}X@{\hspace*{0.5cm}}r} +\begin{tabularx}{\textwidth}{l@{\extracolsep\fill}c@{\extracolsep\fill}r} \textbf{Rechnungsnummer} & \textbf{Rechnungsdatum} & \textbf{Rechnungsbetrag} \\ \hline && \\ - <%foreach dn_invnumber%> - <%dn_invnumber%> & <%dn_transdate%> & <%dn_amount%> \euro \\[0.1cm] - <%end dn_invnumber%> + $(foreach dn_invnumber)$ + $(dn_invnumber)$ & $(dn_transdate)$ & $(dn_amount)$ \euro \\[0.1cm] + $(end dn_invnumber)$ \end{tabularx} -\vspace*{0.5cm} \\ -Wir bitten Sie, diese bis zum <%dunning_duedate%> zu begleichen. \\ \\ \\ -Bitte beachten Sie, dass wir Zahlungseingänge nur bis zum <%dunning_date%> berücksichtigen konnten. Sollten Sie zwischenzeitlich bezahlt haben, betrachten Sie diese Zahlungserinnerung bitte als gegenstandslos. \\ \\ \\ -Mit freundlichen Grüßen, \\ \\ \\ \\ -<%employee_name%> +\vspace*{2em} \\ +Wir bitten Sie, diese bis zum $(dunning_duedate)$ zu begleichen.\\%[1em plus 3em minus 1em] +\vspace*{1em} \\ +Zahlungseingänge wurden bis zum $(dunning_date)$ berücksichtigt. +Sollten Sie zwischenzeitlich bezahlt haben, betrachten Sie diese +Zahlungserinnerung bitte als gegenstandslos.\\%[1em plus 3em minus 1em] +\vspace*{2em} \\ +Sollte es triftige Gründe für die Zahlungsverzögerung geben, setzen Sie sich +bitte mit uns in Verbindung, damit wir gemeinsam eine Lösung finden.\\ %[1em plus 3em minus 1em] +\vspace*{2em} \\ +Mit freundlichen Grüßen\\ %[1em plus 3em minus 1em] +\vspace*{1em} \\ +$(employee_name)$ \end{document} diff --git a/templates/print/Standard/zahlungserinnerung_invoice.tex b/templates/print/Standard/zahlungserinnerung_invoice.tex deleted file mode 100644 index bc5cfa67e..000000000 --- a/templates/print/Standard/zahlungserinnerung_invoice.tex +++ /dev/null @@ -1,75 +0,0 @@ -\documentclass[10pt, oneside]{scrartcl} -\usepackage[utf8]{inputenc} -\usepackage{german} -\usepackage{tabularx} -\usepackage{xspace} -\usepackage{ifthen} -\usepackage{eso-pic} -\usepackage{longtable} -\usepackage{eurosym} - -\setlength{\voffset}{-0.3cm} -\setlength{\hoffset}{-2.2cm} -\setlength{\topmargin}{0cm} -\setlength{\headheight}{0.5cm} -\setlength{\headsep}{1cm} -\setlength{\topskip}{0pt} -\setlength{\oddsidemargin}{2cm} -%\setlength{\evensidemargin}{2cm} -\setlength{\textwidth}{16.4cm} -% \setlength{\textwidth}{13.4cm} -\setlength{\textheight}{23.5cm} -\setlength{\footskip}{1cm} -\setlength{\parindent}{0pt} -\setlength{\tabcolsep}{0cm} - -\renewcommand{\baselinestretch}{1} - -\begin{document} -\pagestyle{empty} -\fontfamily{cmss}\fontsize{10pt}{10pt}\fontseries{m}\selectfont - -<%name%> - -<%street%> - -<%zipcode%> <%city%> - -\begin{flushright}<%invdate%>\end{flushright} - -\vspace*{2.5cm} - -\large -\textbf{Rechnung <%invnumber%>} - -\vspace*{1cm} - -\normalsize -Sehr geehrte Damen und Herren, - -\vspace*{1cm} -Hiermit stellen wir Ihnen zu Mahnung <%dunning_id%> die folgenden Posten in Rechnung: - -\vspace*{0.5cm} - -\begin{tabularx}{\textwidth}{Xr} - \textbf{Posten} & \multicolumn{1}{l}{\textbf{Betrag}}\\ - \hline - Mahngebühren & <%fee%> EUR \\ - Zinsen & <%interest%> EUR \\ - \cline{2-2} - Gesamtsumme & <%invamount%> EUR\\ -\end{tabularx} - -\vspace*{0.5cm} - -Bitte begleichen Sie diese Forderung bis zum <%duedate%>. - -\vspace*{0.5cm} - -Mit freundlichen Grüßen, - -\vspace*{2cm} -<%employee_name%> - -\end{document} diff --git a/templates/print/Standard/zwischensumme.sty b/templates/print/Standard/zwischensumme.sty new file mode 100644 index 000000000..b733fb3f8 --- /dev/null +++ b/templates/print/Standard/zwischensumme.sty @@ -0,0 +1,188 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Makros zur Berechnung und Ausgabe einer Zwischensumme bei langen Tabellen +% Der Hack der longtable Ausgabe ist von Heiko Oberdiek, das Paket zref auch. +% ---<(kaimartin)>---(August, 2007) +%Angepasst an 2.6.3 von n.simon@linet-services.de, 15. November 2011 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Diese Datei steht unter der GPL-Lizenz, Version 3 +% siehe http://www.gnu.de/licenses/gpl-3.0.html +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\usepackage{etex} % Damit Marken verwendet werden koennen +\usepackage[savepos,user]{zref} % Um die jeweils aktuelle Position zu merken +\usepackage{fltpoint} % Rechnen mit Komma-Zahlen +\usepackage{numprint} % Zahlen formatiert ausgeben +\usepackage{eurosym} % Das Euro-Zeichen +\usepackage{calc} % Fuer das Makro \widthof{} + +% Globale Einstellungen fuer numprint +\nprounddigits{2} % Zwei Nachkommasstellen +%% ",00" nicht durch ",--" ersetzen +\npprintnull + +\fpDecimalSign{.} + +\newcommand{\lxNumberFormatGermanInput}{\makeatletter\renewcommand*\nprt@ignorelist{.}\renewcommand*\nprt@dotlist{,}\makeatother} +\newcommand{\lxNumberFormatEnglishInput}{\makeatletter\renewcommand*\nprt@ignorelist{,}\renewcommand*\nprt@dotlist{.}\makeatother} + +\newcommand{\lxNumberFormatGerman}{\lxNumberFormatGermanInput\npthousandsep{.}\npdecimalsign{,}} +\newcommand{\lxNumberFormatGermanNoSeparator}{\lxNumberFormatGermanInput\npthousandsep{}\npdecimalsign{,}} + +\newcommand{\lxNumberFormatEnglish}{\lxNumberFormatEnglishInput\npthousandsep{,}\npdecimalsign{.}} +\newcommand{\lxNumberFormatEnglishNoSeparator}{\lxNumberFormatEnglishInput\npthousandsep{}\npdecimalsign{.}} + +\newcommand{\lxNumberFormatToUse}{\lxNumberFormatGerman} + +% Paketoptionen: Dezimaltrennzeichen und Tausendertrennzeichen +\DeclareOption{german}{\renewcommand{\lxNumberFormatToUse}{\lxNumberFormatGerman}} +\DeclareOption{germannosep}{\renewcommand{\lxNumberFormatToUse}{\lxNumberFormatGermanNoSeparator}} +\DeclareOption{english}{\renewcommand{\lxNumberFormatToUse}{\lxNumberFormatEnglish}} +\DeclareOption{englishnosep}{\renewcommand{\lxNumberFormatToUse}{\lxNumberFormatEnglishNoSeparator}} + +\ProcessOptions + +\lxNumberFormatToUse + +%%%%%%%%%%%%%%Befehle zur Berechnung der Zwischensumme%%%%%%%%%%%%%%%%%%%%%%% +\newcommand*\laufsumme{0} +\newcommand*\resetlaufsumme{\global\def\laufsumme{0}} +\newcommand*\addlaufsumme[1]{\fpAdd{\laufsumme}{\laufsumme}{#1}% + \global\let\laufsumme\laufsumme} +\newcommand*\printwert[1]{% +\lxNumberFormatToUse% +\lxNumberFormatEnglishInput% +\numprint{#1}% +\lxNumberFormatToUse} + +%%%%%%%%Plaintex-Hack fuer Positionierung der Zwischensummen%%%%%%%%%%%%%%%%%% + + +\makeatletter % Das at-Zeichen in Variablen zulassen + +% Variablen bereit stellen + \newdimen\drx + \newdimen\dry + + \newmarks\ltm@marks + \def\ltm@setmarks#1{% + \marks\ltm@marks{#1}% + } + \def\ltm@getmarks{% + \botmarks\ltm@marks + } + + +% Den aktuellen Wert der Laufsumme berechnen und merken +\newcommand*{\Wert}[1]{% + \addlaufsumme{#1}% Den uebergebenen Wert zur Laufsumme addieren + \expandafter\ltm@setmarks\expandafter{\laufsumme}% Die Laufsumme merken +} + +% Merken der aktuellen Position +\newcommand*{\MarkZwsumPos}{% + \leavevmode + \zsavepos{zwsumpos\thepage}% + \zrefused{zwsumpos\thepage}% +} + +\newcommand*{\MarkUebertrPos}{% + \leavevmode + \zsavepos{uebertrpos\thepage}% + \zrefused{uebertrpos\thepage}% +} + + +% Ausgabe der Zwischensumme +\def\ltm@insertfoot#1{% + \vbox to\z@{% + \vss + \hb@xt@\z@{% + \color@begingroup + \zsavepos{tabende\thepage}% % Die aktuelle Position merken + \drx=0sp + \dry=0sp + % Die aktuelle Position abziehen und die gemerkte addieren + \advance \drx by -\zposx{tabende\thepage}sp + \advance \drx by \zposx{zwsumpos\thepage}sp + \advance \dry by -\zposy{tabende\thepage}sp + \advance \dry by \zposy{zwsumpos\thepage}sp + \smash{\kern\drx\raise\dry% + \hbox{\makebox[0cm][r]{Zwischensumme:\hspace*{2em}\printwert{#1} \currency}}% + }% end smash + \color@endgroup + }% + }% +} + +% Ausgabe des Uebertrags +% Wie die Ausgabe der Zwischensumme, nur ohne neu gemerkte Position +\def\ltm@inserthead#1{% + \vbox to\z@{% + \vss + \hb@xt@\z@{% + \color@begingroup + \zsavepos{tabstart\thepage}% % Die aktuelle Position merken + \drx=0sp + \dry=0sp + % Die Position des Tabellenendes abziehen und zur gemerkten gehen + \advance \drx by -\zposx{tabstart\thepage}sp + \advance \drx by \zposx{uebertrpos\thepage}sp + \advance \dry by -\zposy{tabstart\thepage}sp + \advance \dry by \zposy{uebertrpos\thepage}sp + \smash{\kern\drx\raise\dry% + \hbox{\makebox[0cm][r]{Übertrag:\hspace*{2em}\printwert{#1} \currency}}% + }% end smash + \color@endgroup + }% + }% +} + +\def\ltm@lastfoot{} +\def\ltm@foot{\ltm@insertfoot{\ltm@getmarks}} +\def\ltm@head{\ltm@inserthead{\ltm@getmarks}} + + +% Ueberschreiben der Output-Routine von longtable +\def\LT@output{% + \ifnum\outputpenalty <-\@Mi + \ifnum\outputpenalty > -\LT@end@pen + \LT@err{floats and marginpars % + not allowed in a longtable}\@ehc + \else + \setbox\z@\vbox{\unvbox\@cclv}% + \ifdim \ht\LT@lastfoot>\ht\LT@foot + \dimen@\pagegoal + \advance\dimen@-\ht\LT@lastfoot + \ifdim\dimen@<\ht\z@ + \setbox\@cclv\vbox{% + \unvbox\z@\copy\LT@foot\ltm@foot\vss + }% + \@makecol + \@outputpage + \setbox\z@\vbox{\box\LT@head}% + \fi + \fi + \global\@colroom\@colht + \global\vsize\@colht + \vbox{% + \unvbox\z@ + \box\ifvoid\LT@lastfoot + \LT@foot\ltm@foot + \else + \LT@lastfoot\ltm@lastfoot + \fi + }% + \fi + \else + \setbox\@cclv\vbox{% + \unvbox\@cclv\copy\LT@foot\ltm@foot\vss + }% + \@makecol + \@outputpage + \global\vsize\@colroom + \copy\LT@head\ltm@head + \fi +} + +\makeatother % Das at-Zeichen in Variablen wieder verbieten +%%%%%%%%%%%%%%%%%%%%Ende plaintex-Hack%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -- 2.20.1