diff --git a/draft/latex/netzbiotop-rechnung.tex b/draft/latex/netzbiotop-rechnung.tex index a542cdff8..bc91c35dd 100644 --- a/draft/latex/netzbiotop-rechnung.tex +++ b/draft/latex/netzbiotop-rechnung.tex @@ -1,37 +1,13 @@ -%todo: -% + abgleich mit anderen briefen -% * datenspuren/Teilnahme.tex -% * serienbrief -% + umgebungsvariable(n) für (zwecks Automatisierung aus einer Buchhaltung) -% * PoC: https://gitlab.com/8fragezeichen/8fragezeichen/blob/master/doc/praeamble.tex u. https://gitlab.com/8fragezeichen/8fragezeichen/blob/master/doc/MAN/convert.sh -% * Kunde, Anschrift etc. -% * Rechnungsnummer -% * Zahlungsbedingungen -% * Textpart -% + Footer -% * wie bei üblichen Firmen mit Bankverbindung, Homepage und Kontaktdaten -% + Logo -% * s.a. datenspuren/Teilnahme.tex -% + ZUGFeRD -% * https://de.wikipedia.org/wiki/ZUGFeRD -\documentclass[ - 10pt, - a4paper, - addrfield=on, - fromalign=right, - fromphone=off, - fromemail=on]{scrlttr2} +\documentclass{scrlttr2} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage[ngerman]{babel} -\usepackage{csquotes} \usepackage[right]{eurosym} -\usepackage{tabularx} +\usepackage{tabularx,booktabs} \usepackage{spreadtab} +\usepackage{filecontents} \STautoround*{2} -\usepackage{pgfplotstable} -%\usepackage{calc} %ermöglicht rechnen mit real, ausgabe bleibt aber ganzzahlig -%\usepackage{tabularcalc} %Tebellenkalkulation mit LaTeX, s. http://www.namsu.de/Extra/pakete/Tabularcalc.html +\usepackage{csvsimple} %\begin{filecontents*}{test.csv} %name,steuersatz,anzahl,betrag,artikelnr,konfektionierung,beschreibung @@ -40,91 +16,105 @@ %Vortrag,0,100,13.37,0001,schön laut,, %\end{filecontents*} -%variablen einlesen -\input{netzbiotop-definition.tex} -\newcommand{\ReNr}{XXXXXX} +\begin{filecontents*}{data.csv} +ArtID,Desc,Amount,PriceBrut,PriceNett,Tax +1,T-Shirt,1,-1,15,19 +2,Hackerpass,1,-1,5,19 +3,c3d2-Pin,1,-1,3,19 +4,Vortragsstunde,2,-1,60,0 +\end{filecontents*} + \newcommand{\Tax}{19} -\usepackage{hyperref} -\hypersetup{ - %linkbordercolor={1 0 0}, - %citebordercolor={0 1 0}, - %urlbordercolor={0 1 1}, - filecolor=red, - citecolor=green, - colorlinks=true, % farbige Links, nicht umrandet - %hidelinks, - linkcolor=blue, % Farbe fuer dokumentinterne Links - urlcolor=magenta, % Farbe fuer dokumentexterne Links - linktoc=all, % (none,section,page,all) in Verzeichnissen Zahlen und Texte verlinken - unicode, % Umlaute in PDF-Strings - pdfnewwindow=true, - pdftitle={Rechnung vom \Verein{}}, - pdfsubject={Rechnungsnummer \ReNr{}}, - pdfauthor={\Verein{}}, - pdfkeywords={Verein \Verein{}, Chaos Computer Club \Ort{}, Erfa, Rechnung}, - pdfstartview={FitH} -} - \begin{document} -\makeatletter -\date{\today} -\setkomavar{fromname}{\Verein{}} -\setkomavar{fromaddress}{\VereinAdresse{}} -\setkomavar{fromemail}{\VereinEmail{}} -\setkomavar{subject}{Rechnung Nr. \ReNr{}} -\setkomavar{place}{\Ort{}} -\begin{letter}{ - Max Mustermann\\ - Musterstraße 1\\ - 01001 Musterhausen -} - \opening{} - - %\begin{tabular}{rr} - % \csvloop{file={test.csv},command={\name & \betrag \\}} - %\end{tabular} +\par \textbf{SpreadTab} - \begin{spreadtab}{{tabularx}{\textwidth}{|l|X|l|l|l|r|r|}} - \hline - :={}Artikelnr. & :={}Bezeichnung & :={}Anzahl & :={}Steuersatz & :={}Stückpreis & :={}Netto & :={}Brutto\\ - \hline - %\pgfplotstabletypeset[% - % multicolumn names,% - % col sep = comma,% - % columns={artikelnr, name, anzahl, steuersatz, betrag, betrag, betrag}% - %]{test.csv} - %\csvreader[late after line={\\\hline}]% - % {test.csv}{artikelnr=\nr,name=\nm,anzahl=\az,steuersatz=\st,betrag=\br}{ - % :={}\nr & - % :={}\nm & - % :={\az} & - % :={\st}\% & - % \EUR{:={[1,0]/(100+[-1,0])*100}} & - % \EUR{:={\br}} & - % :={[-1,0]*[-4,0]}}% - :={}1337 & :={}Bla & 1 & :={19} & \EUR{:={[1,0]/(100+[-1,0])*100}} & \EUR{:={10}} & :={[-1,0]*[-4,0]} \\ - \hline - :={}\multicolumn{6}{|r|}{Gesamtsumme:} & \EUR{:={sum(g2:[0,-1])}}\\ - \hline - :={}\multicolumn{5}{|r|}{Umsatzsteuer:} & :={\Tax}\% & \EUR{:={[-1,0]/100*[0,-1]}}\\ - \hline - :={}\multicolumn{6}{|r|}{\textbf{Rechungsbetrag:}} & \EUR{:={[0,-2]+[0,-1] tag(RB)}}\\ - \hline - \end{spreadtab} + \begin{spreadtab}{{tabularx}{\textwidth}{|l|X|l|l|l|r|r|}} + \hline + :={}Artikelnr. & + :={}Bezeichnung & + :={}Anzahl & + :={}Steuersatz & + :={}Netto & + :={}Brutto & + :={}Gesamt \\ + \hline\hline + :={}1337 & + :={}Bla & + 1 & + :={19} & + \EUR{:={[1,0]/(100+[-1,0])*100}} & + \EUR{:={10}} & + \EUR{:={[-1,0]*[-4,0]}} \\ + \hline + :={}\multicolumn{6}{|r|}{Gesamtsumme:} & + \EUR{:={sum(g2:[0,-1])}} \\ + \hline + :={}\multicolumn{5}{|r|}{Enthaltene Umsatzsteuer:} & + :={\Tax}\% & + \EUR{:={[-1,0]/100*[0,-1]}} \\ + \hline + :={}\multicolumn{6}{|r|}{\textbf{Rechungsbetrag:}} & + \EUR{:={[0,-2]+[0,-1]tag(RB)}} \\ + \hline + \end{spreadtab} - \bigskip +\par \textbf{CSVReader} - %Bitte begleichen Sie den Rechungsbetrag von \EUR{\STtag{RB}} innerhalb von 14 Tagen an folgendes Konto:\\ + \csvreader[ + tabular=|r|l|r|r|r|r|r|r|, + table head=\hline \textbf{\#} & \textbf{Artikel} & \textbf{Anzahl} & \textbf{USt} & \textbf{Netto} & \textbf{Brutto} & \textbf{berechnet!} \\ \hline\hline, + late after line={\\\hline} + ]{data.csv}{ + ArtID=\nr, + Desc=\name, + Amount=\anz, + Tax=\st, + PriceNett=\ne, + PriceBrut=\br + }{ + \nr & + \name & + \anz & + \st\,\% & + \br & + \ne & + :={[-1,0]/100*[0,-1]} + } - \begin{tabular}{ll} - Kontoinhaber: & \Verein{}\\ - IBAN: & \VereinKontoIBAN{}\\ - BIC: & \VereinKontoBIC{}\\ - \end{tabular} - \closing{\vspace{1.5cm}\\Mit freundlichen Grüßen,} +\par \textbf{!Integration || Transition} + +\FPeval\summe{0} + \csvreader[ + tabular=|r|l|r|r|r|r|r|r|, + table head=\hline \textbf{\#} & \textbf{Artikel} & \textbf{Anzahl} & +\textbf{USt} & \textbf{Netto} & \textbf{Brutto} & \textbf{berechnet!} \\ + \hline\hline, + late after line={\\\hline}, + table foot=\multicolumn{7}{|r|}{Summe: \FPeval\result{round(summe:2)}\EUR{\result}}\\\hline + ]{data.csv}{ + ArtID=\nr, + Desc=\name, + Amount=\anz, + Tax=\st, + PriceNett=\ne, + PriceBrut=\br + }{ + \nr & + \name & + \anz & + \st\,\% & + %\br + \FPeval\result{round(ne/(1+st/100):2)}\EUR{\result} + & + % \ne + \FPeval\result{round(ne:2)}\EUR{\result} + & + % :={[-1,0]/100*[0,-1]} + \FPeval\result{round(ne*anz:2)}\EUR{\result}% + \FPeval\summe{summe+result}\xdef\summe{\summe}% + } -\end{letter} \end{document}