diff --git a/src/optional/python-bindings/example_scripts/Invoice.tex b/src/optional/python-bindings/example_scripts/Invoice.tex new file mode 100644 index 0000000000..1c0701f22a --- /dev/null +++ b/src/optional/python-bindings/example_scripts/Invoice.tex @@ -0,0 +1,154 @@ +%--------------------------------------------------------------------------- +% Invoice.tex v0.1 by Christoph Holtermann (c.holtermann@gmx.de) +% +% modified from +% scrlttr2.tex v0.3. (c) by Juergen Fenn +% Template for a letter to be typeset with scrlttr2.cls from KOMA-Script. +% Latest version of the LaTeX Project Public License is applicable. +% File may not be modified and redistributed under the same name +% without the author's prior consent. +%--------------------------------------------------------------------------- +\documentclass%% +%--------------------------------------------------------------------------- + [fontsize=12pt,%% Schriftgroesse +%--------------------------------------------------------------------------- +% Satzspiegel + paper=a4,%% Papierformat + enlargefirstpage=off,%% Erste Seite anders + pagenumber=headright,%% Seitenzahl oben mittig +%--------------------------------------------------------------------------- +% Layout + headsepline=on,%% Linie unter der Seitenzahl + parskip=half,%% Abstand zwischen Absaetzen +%--------------------------------------------------------------------------- +% Briefkopf und Anschrift + fromalign=right,%% Platzierung des Briefkopfs + fromphone=on,%% Telefonnummer im Absender + fromrule=off,%% Linie im Absender (aftername, afteraddress) + fromfax=on,%% Faxnummer + fromemail=on,%% Emailadresse + fromurl=off,%% Homepage + fromlogo=off,%% Firmenlogo + addrfield=on,%% Adressfeld fuer Fensterkuverts + backaddress=on,%% ...und Absender im Fenster + subject=beforeopening,%% Plazierung der Betreffzeile + locfield=narrow,%% zusaetzliches Feld fuer Absender + foldmarks=on,%% Faltmarken setzen + numericaldate=off,%% Datum numerisch ausgeben + refline=narrow,%% Geschaeftszeile im Satzspiegel +%--------------------------------------------------------------------------- +% Formatierung + draft=off,%% Entwurfsmodus + version=last, + data%% data.lco ist die Datei aus der die Rechnungsdaten gelesen werden ( invoice-data to be read from data.lco ) +]{scrlttr2} +%--------------------------------------------------------------------------- +\usepackage[ngerman]{babel} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{url} +\usepackage{eurosym} +\usepackage{rechnung} +\usepackage{textcomp} +%--------------------------------------------------------------------------- +% Fonts +\setkomafont{fromname}{\sffamily \LARGE} +\setkomafont{fromaddress}{\sffamily}%% statt \small +\setkomafont{pagenumber}{\sffamily} +\setkomafont{subject}{\mdseries} +\setkomafont{backaddress}{\mdseries} +\usepackage{mathptmx}%% Schrift Times +%\usepackage{mathpazo}%% Schrift Palatino +%\setkomafont{fromname}{\LARGE} +%--------------------------------------------------------------------------- +\begin{document} +%--------------------------------------------------------------------------- +% Briefstil und Position des Briefkopfs +\LoadLetterOption{DIN} %% oder: DINmtext, SN, SNleft, KOMAold. +\makeatletter +\@setplength{firstheadvpos}{20mm} +\@setplength{firstheadwidth}{\paperwidth} +\ifdim \useplength{toaddrhpos}>\z@ + \@addtoplength[-2]{firstheadwidth}{\useplength{toaddrhpos}} +\else + \@addtoplength[2]{firstheadwidth}{\useplength{toaddrhpos}} +\fi +\@setplength{foldmarkhpos}{6.5mm} +%\setlength{\footskip}{1cm} +\makeatother +%--------------------------------------------------------------------------- +% Absender +\setkomavar{fromname}{fromname} +\setkomavar{fromaddress}{fromaddress} +\setkomavar{fromphone}{fromphone} +\renewcommand{\phonename}{Telefon} +\setkomavar{fromfax}{fromfax} +\setkomavar{fromemail}{fromemail} +\setkomavar{backaddressseparator}{. } +\setkomavar{signature}{(signature)} +\setkomavar{frombank}{---NAME --- BANK ACCOUNT --- BANK NUMBER --- BANK NAME ---} +\setkomavar{location}{\\[8ex]\raggedleft{\footnotesize{\usekomavar{fromaddress}\\ + Telefon: \usekomavar{fromphone}\\Mobil: mobile-number\\Fax: \usekomavar{fromfax}\\\usekomavar{fromemail}}}}%% Neben dem Adressfenster +%--------------------------------------------------------------------------- +\firsthead{} +%--------------------------------------------------------------------------- +% Fußzeile +\firstfoot{% + \parbox[b]{\linewidth}{% + \centering\def\\{, }\footnotesize\usekomavar{frombank}% + }% +}% +%--------------------------------------------------------------------------- +% Geschaeftszeilenfelder +%\setkomavar{place}{Stadel} +%\setkomavar{placeseparator}{, den } +%\setkomavar{date}{\today} +%\setkomavar{yourmail}{1. 1. 2003}%% 'Ihr Schreiben...' +%\setkomavar{yourref} {abcdefg}%% 'Ihr Zeichen...' +%\setkomavar{myref}{}%% Unser Zeichen +\setkomavar{invoice}{\usekomavar{rechnungsnummer}}%% Rechnungsnummer +%\setkomavar{phoneseparator}{} + +%--------------------------------------------------------------------------- +% Versendungsart +%\setkomavar{specialmail}{Einschreiben mit R�ckschein} +%--------------------------------------------------------------------------- +% Anlage neu definieren +\renewcommand{\enclname}{Anlage} +\setkomavar{enclseparator}{: } +%--------------------------------------------------------------------------- +% Seitenstil +\pagestyle{plain}%% keine Header in der Kopfzeile +%--------------------------------------------------------------------------- +% Rechnungsoptionen +\Euro +%--------------------------------------------------------------------------- +\begin{letter}{\usekomavar{toaddress2}} +%--------------------------------------------------------------------------- +% Weitere Optionen +\KOMAoptions{%% +} +%--------------------------------------------------------------------------- +%\setkomavar{subject}{Rechnungsnummer \usekomavar{rechnungsnummer}} +%--------------------------------------------------------------------------- +\opening{Sehr geehrte Damen und Herren,} + +Ich erlaube mir, Ihnen folgende Beträge in Rechnung zu stellen: + +\begin{Rechnung}[N] %oder [N] +\Steuersatz{0}{0} +\usekomavar{entries} +\end{Rechnung} + +Bitte zahlen Sie den Betrag von \Gesamtsumme \, bis zum \usekomavar{date_due} auf mein unten angegebenes Konto. + +\closing{Mit bestem Dank und freundlichen Grüßen,} +%--------------------------------------------------------------------------- +%\ps{PS:} +%\encl{} +%\cc{} +%--------------------------------------------------------------------------- +\end{letter} +%--------------------------------------------------------------------------- +\end{document} +%--------------------------------------------------------------------------- diff --git a/src/optional/python-bindings/example_scripts/Invoice.tex.tmpl b/src/optional/python-bindings/example_scripts/Invoice.tex.tmpl new file mode 100644 index 0000000000..b69f3f8135 --- /dev/null +++ b/src/optional/python-bindings/example_scripts/Invoice.tex.tmpl @@ -0,0 +1,178 @@ +%--------------------------------------------------------------------------- +% Invoice.tex v0.1 by Christoph Holtermann (c.holtermann@gmx.de) +% modified for use with jinja2 templating system to export from gnucash +% +% modified from +% scrlttr2.tex v0.3. (c) by Juergen Fenn +% Template for a letter to be typeset with scrlttr2.cls from KOMA-Script. +% Latest version of the LaTeX Project Public License is applicable. +% File may not be modified and redistributed under the same name +% without the author's prior consent. +%--------------------------------------------------------------------------- +% {% raw %} + +\documentclass%% +%--------------------------------------------------------------------------- + [fontsize=12pt,%% Schriftgroesse +%--------------------------------------------------------------------------- +% Satzspiegel + paper=a4,%% Papierformat + enlargefirstpage=off,%% Erste Seite anders + pagenumber=headright,%% Seitenzahl oben mittig +%--------------------------------------------------------------------------- +% Layout + headsepline=on,%% Linie unter der Seitenzahl + parskip=half,%% Abstand zwischen Absaetzen +%--------------------------------------------------------------------------- +% Briefkopf und Anschrift + fromalign=right,%% Platzierung des Briefkopfs + fromphone=on,%% Telefonnummer im Absender + fromrule=off,%% Linie im Absender (aftername, afteraddress) + fromfax=on,%% Faxnummer + fromemail=on,%% Emailadresse + fromurl=off,%% Homepage + fromlogo=off,%% Firmenlogo + addrfield=on,%% Adressfeld fuer Fensterkuverts + backaddress=on,%% ...und Absender im Fenster + subject=beforeopening,%% Plazierung der Betreffzeile + locfield=narrow,%% zusaetzliches Feld fuer Absender + foldmarks=on,%% Faltmarken setzen + numericaldate=off,%% Datum numerisch ausgeben + refline=narrow,%% Geschaeftszeile im Satzspiegel +%--------------------------------------------------------------------------- +% Formatierung + draft=off,%% Entwurfsmodus + version=last +]{scrlttr2} +%--------------------------------------------------------------------------- +\usepackage[ngerman]{babel} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{url} +\usepackage{eurosym} +\usepackage{rechnung} +\usepackage{textcomp} +%--------------------------------------------------------------------------- +% Fonts +\setkomafont{fromname}{\sffamily \LARGE} +\setkomafont{fromaddress}{\sffamily}%% statt \small +\setkomafont{pagenumber}{\sffamily} +\setkomafont{subject}{\mdseries} +\setkomafont{backaddress}{\mdseries} +\usepackage{mathptmx}%% Schrift Times +%\usepackage{mathpazo}%% Schrift Palatino +%\setkomafont{fromname}{\LARGE} +%--------------------------------------------------------------------------- +\begin{document} +%--------------------------------------------------------------------------- +% Briefstil und Position des Briefkopfs +\LoadLetterOption{DIN} %% oder: DINmtext, SN, SNleft, KOMAold. +\makeatletter +\@setplength{firstheadvpos}{20mm} +\@setplength{firstheadwidth}{\paperwidth} +\ifdim \useplength{toaddrhpos}>\z@ + \@addtoplength[-2]{firstheadwidth}{\useplength{toaddrhpos}} +\else + \@addtoplength[2]{firstheadwidth}{\useplength{toaddrhpos}} +\fi +\@setplength{foldmarkhpos}{6.5mm} +%\setlength{\footskip}{1cm} +\makeatother +%--------------------------------------------------------------------------- +% Absender +\setkomavar{fromname}{fromname} +\setkomavar{fromaddress}{fromaddress} +\setkomavar{fromphone}{fromphone} +\renewcommand{\phonename}{Telefon} +\setkomavar{fromfax}{fromfax} +\setkomavar{fromemail}{fromemail} +\setkomavar{backaddressseparator}{. } +\setkomavar{signature}{(signature)} +\setkomavar{frombank}{---NAME --- BANK ACCOUNT --- BANK NUMBER --- BANK NAME ---} +\setkomavar{location}{\\[8ex]\raggedleft{\footnotesize{\usekomavar{fromaddress}\\ + Telefon: \usekomavar{fromphone}\\Mobil: mobile-number\\Fax: \usekomavar{fromfax} +%--------------------------------------------------------------------------- +\firsthead{} +%--------------------------------------------------------------------------- +% Fußzeile +\firstfoot{% + \parbox[b]{\linewidth}{% + \centering\def\\{, }\footnotesize\usekomavar{frombank}% + }% +}% +%--------------------------------------------------------------------------- +% Geschaeftszeilenfelder +%\setkomavar{place}{Stadel} +%\setkomavar{placeseparator}{, den } +%\setkomavar{date}{\today} +%\setkomavar{yourmail}{1. 1. 2003}%% 'Ihr Schreiben...' +%\setkomavar{yourref} {abcdefg}%% 'Ihr Zeichen...' +%\setkomavar{myref}{}%% Unser Zeichen +\setkomavar{invoice}{ + {% endraw %} + {{ invoice.GetID() }} + {% raw %} +}%% Rechnungsnummer +%\setkomavar{phoneseparator}{} + +%--------------------------------------------------------------------------- +% Versendungsart +%\setkomavar{specialmail}{Einschreiben mit R�ckschein} +%--------------------------------------------------------------------------- +% Anlage neu definieren +\renewcommand{\enclname}{Anlage} +\setkomavar{enclseparator}{: } +%--------------------------------------------------------------------------- +% Seitenstil +\pagestyle{plain}%% keine Header in der Kopfzeile +%--------------------------------------------------------------------------- +% Rechnungsoptionen +\Euro +%--------------------------------------------------------------------------- +\begin{letter}{% {% endraw %} +{{ invoice.GetOwner().GetName().decode("UTF-8") }} \\ +{{ invoice.GetOwner().GetAddr().GetAddr1().decode("UTF-8") }} \\ +{{ invoice.GetOwner().GetAddr().GetAddr2().decode("UTF-8") }} \\ +{{ invoice.GetOwner().GetAddr().GetAddr3().decode("UTF-8") }} +{# if Addr4 is declared put a linebreak here #} +{% if invoice.GetOwner().GetAddr().GetAddr4() %} \\ {% endif %} +{{ invoice.GetOwner().GetAddr().GetAddr4().decode("UTF-8") }} {% raw %} +} +%--------------------------------------------------------------------------- +% Weitere Optionen +\KOMAoptions{%% +} +%--------------------------------------------------------------------------- +%\setkomavar{subject}{Rechnungsnummer \usekomavar{rechnungsnummer}} +%--------------------------------------------------------------------------- +\opening{Sehr geehrte Damen und Herren,} + +Ich erlaube mir, Ihnen folgende Beträge in Rechnung zu stellen: + +\begin{Rechnung}[N] %oder [N] +\Steuersatz{0}{0} +{%- endraw -%} +{#- **************** JINJA2 Entries BEGIN ********************** -#} +{%- for ent in invoice.GetEntries() -%} + {{- '\Artikel' -}} + {{- '{' -}} {{- ent.GetQuantity() -}} {{- '}' -}} + {{- '{' -}} {{- ent.GetDescription().decode("UTF-8") -}} {{- '}' -}} + {{- '{' -}} {{- ent.GetInvPrice().to_double() -}} {{- '}' -}} +{%- endfor -%} +{#- **************** JINJA2 Entries END ********************** -#} +{%- raw -%} +\end{Rechnung} + +Bitte zahlen Sie den Betrag von \Gesamtsumme \, bis zum \usekomavar{date_due} auf mein unten angegebenes Konto. + +\closing{Mit bestem Dank und freundlichen Grüßen,} +%--------------------------------------------------------------------------- +%\ps{PS:} +%\encl{} +%\cc{} +%--------------------------------------------------------------------------- +\end{letter} +%--------------------------------------------------------------------------- +\end{document} +%--------------------------------------------------------------------------- +%{% endraw %} diff --git a/src/optional/python-bindings/example_scripts/Invoice_2.tex.tmpl b/src/optional/python-bindings/example_scripts/Invoice_2.tex.tmpl new file mode 100644 index 0000000000..3131ec0f40 --- /dev/null +++ b/src/optional/python-bindings/example_scripts/Invoice_2.tex.tmpl @@ -0,0 +1,195 @@ +%--------------------------------------------------------------------------- +% Invoice_2.tex v0.1 by Christoph Holtermann (c.holtermann@gmx.de) +% modified for use with jinja2 templating system to export from gnucash +% Version without rechnung.sty +% +% modified from +% scrlttr2.tex v0.3. (c) by Juergen Fenn +% Template for a letter to be typeset with scrlttr2.cls from KOMA-Script. +% Latest version of the LaTeX Project Public License is applicable. +% File may not be modified and redistributed under the same name +% without the author's prior consent. +%--------------------------------------------------------------------------- +% +% Issues: +% - Internationalization (currencies) + +{%- raw %} + +\documentclass%% +%--------------------------------------------------------------------------- + [fontsize=12pt,%% Schriftgroesse +%--------------------------------------------------------------------------- +% Satzspiegel + paper=a4,%% Papierformat + enlargefirstpage=off,%% Erste Seite anders + pagenumber=headright,%% Seitenzahl oben mittig +%--------------------------------------------------------------------------- +% Layout + headsepline=on,%% Linie unter der Seitenzahl + parskip=half,%% Abstand zwischen Absaetzen +%--------------------------------------------------------------------------- +% Briefkopf und Anschrift + fromalign=right,%% Platzierung des Briefkopfs + fromphone=on,%% Telefonnummer im Absender + fromrule=off,%% Linie im Absender (aftername, afteraddress) + fromfax=on,%% Faxnummer + fromemail=on,%% Emailadresse + fromurl=off,%% Homepage + fromlogo=off,%% Firmenlogo + addrfield=on,%% Adressfeld fuer Fensterkuverts + backaddress=on,%% ...und Absender im Fenster + subject=beforeopening,%% Plazierung der Betreffzeile + locfield=narrow,%% zusaetzliches Feld fuer Absender + foldmarks=on,%% Faltmarken setzen + numericaldate=off,%% Datum numerisch ausgeben + refline=narrow,%% Geschaeftszeile im Satzspiegel +%--------------------------------------------------------------------------- +% Formatierung + draft=off,%% Entwurfsmodus + version=last +]{scrlttr2} +%--------------------------------------------------------------------------- +\usepackage[ngerman]{babel} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{url} +\usepackage{eurosym} +\usepackage{rechnung} +\usepackage{textcomp} +%--------------------------------------------------------------------------- +% Fonts +\setkomafont{fromname}{\sffamily \LARGE} +\setkomafont{fromaddress}{\sffamily}%% statt \small +\setkomafont{pagenumber}{\sffamily} +\setkomafont{subject}{\mdseries} +\setkomafont{backaddress}{\mdseries} +\usepackage{mathptmx}%% Schrift Times +%\usepackage{mathpazo}%% Schrift Palatino +%\setkomafont{fromname}{\LARGE} +%--------------------------------------------------------------------------- +\begin{document} +%--------------------------------------------------------------------------- +% Briefstil und Position des Briefkopfs +\LoadLetterOption{DIN} %% oder: DINmtext, SN, SNleft, KOMAold. +\makeatletter +\@setplength{firstheadvpos}{20mm} +\@setplength{firstheadwidth}{\paperwidth} +\ifdim \useplength{toaddrhpos}>\z@ + \@addtoplength[-2]{firstheadwidth}{\useplength{toaddrhpos}} +\else + \@addtoplength[2]{firstheadwidth}{\useplength{toaddrhpos}} +\fi +\@setplength{foldmarkhpos}{6.5mm} +%\setlength{\footskip}{1cm} +\makeatother +%--------------------------------------------------------------------------- +% Absender +\setkomavar{fromname}{fromname} +\setkomavar{fromaddress}{fromaddress} +\setkomavar{fromphone}{fromphone} +\renewcommand{\phonename}{Telefon} +\setkomavar{fromfax}{fromfax} +\setkomavar{fromemail}{fromemail} +\setkomavar{backaddressseparator}{. } +\setkomavar{signature}{(signature)} +\setkomavar{frombank}{---NAME --- BANK ACCOUNT --- BANK NUMBER --- BANK NAME ---} +\setkomavar{location}{\\[8ex]\raggedleft{\footnotesize{\usekomavar{fromaddress}\\ + Telefon: \usekomavar{fromphone}\\Mobil: mobile-number\\Fax: \usekomavar{fromfax}\\\usekomavar{fromemail}}}}%% Neben dem Adressfenster +%--------------------------------------------------------------------------- +\firsthead{} +%--------------------------------------------------------------------------- +% Fußzeile +\firstfoot{% + \parbox[b]{\linewidth}{ + \centering\def\\{, }\footnotesize\usekomavar{frombank}% + }% +}% +%--------------------------------------------------------------------------- +% Geschaeftszeilenfelder +%\setkomavar{place}{Stadel} +%\setkomavar{placeseparator}{, den } +%\setkomavar{date}{\today} +%\setkomavar{yourmail}{1. 1. 2003}%% 'Ihr Schreiben...' +%\setkomavar{yourref} {abcdefg}%% 'Ihr Zeichen...' +%\setkomavar{myref}{}%% Unser Zeichen +\setkomavar{invoice}{ + {% endraw %} + {{ invoice.GetID() }} + {% raw %} +}%% Rechnungsnummer +%\setkomavar{phoneseparator}{} + +%--------------------------------------------------------------------------- +% Versendungsart +%\setkomavar{specialmail}{Einschreiben mit R�ckschein} +%--------------------------------------------------------------------------- +% Anlage neu definieren +\renewcommand{\enclname}{Anlage} +\setkomavar{enclseparator}{: } +%--------------------------------------------------------------------------- +% Seitenstil +\pagestyle{plain}%% keine Header in der Kopfzeile +%--------------------------------------------------------------------------- +% Rechnungsoptionen +\Euro +%--------------------------------------------------------------------------- +\begin{letter}{ {%- endraw -%} +{{- invoice.GetOwner().GetName().decode("UTF-8") -}} \\ +{{- invoice.GetOwner().GetAddr().GetAddr1().decode("UTF-8") -}} \\ +{{- invoice.GetOwner().GetAddr().GetAddr2().decode("UTF-8") -}} \\ +{{- invoice.GetOwner().GetAddr().GetAddr3().decode("UTF-8") -}} +{# if Addr4 is declared put a linebreak here #} +{%- if invoice.GetOwner().GetAddr().GetAddr4() -%} \\ {%- endif -%} +{{- invoice.GetOwner().GetAddr().GetAddr4().decode("UTF-8") -}} {%- raw -%} +} +%--------------------------------------------------------------------------- +% Weitere Optionen +\KOMAoptions{%% +} +%--------------------------------------------------------------------------- +%\setkomavar{subject}{Rechnungsnummer \usekomavar{rechnungsnummer}} +%--------------------------------------------------------------------------- +\opening{Sehr geehrte Damen und Herren,} + +{%- endraw -%} + +Ich erlaube mir, Ihnen folgende Beträge in Rechnung zu stellen: + +\newcommand{\GesamtSumme}{ {{- locale.format("%.2f", invoice.GetTotal().to_double()) -}} } + +\renewcommand{\arraystretch}{1.3} +\begin{tabular}{|c|c|p{0.48\textwidth}|r|r|} + \hline + \textbf{Pos} & \textbf{Menge} & \textbf{Bezeichnung} & \textbf{Einzelpreis} & \textbf{Gesamtpreis} \\ + \hline +% 1 & 1 & Musterdienstleistung \newline vom 11.02.2012 bis 14.03.2012 & \EUR{49,94} & \EUR{49,94} \\ \hline + {#- **************** JINJA2 Entries BEGIN ********************** -#} + {%- for ent in invoice.GetEntries() %} + {{ loop.index }} & + {{- locale.format("%.2f", ent.GetQuantity().to_double()) -}} & + {{- ent.GetDescription().decode("UTF-8") -}} & + \EUR{ {{- locale.format("%.2f", ent.GetInvPrice().to_double()) -}} } & + \EUR{ {{- locale.format("%.2f", ent.GetInvPrice().to_double() * ent.GetQuantity().to_double()) -}} } \\ \hline + {%- endfor -%} + {#- **************** JINJA2 Entries END ********************** -#} + + {%- raw %} + + \multicolumn{4}{r}{\textbf{Gesamtbetrag(brutto)} } & \multicolumn{1}{r}{\EUR{\GesamtSumme{}}}\\ + \end{tabular} +\\[\baselineskip] + +Bitte zahlen Sie den Betrag von \Gesamtsumme \, bis zum {% endraw %} {{ invoice.GetDateDue().strftime("%d.%m.%Y") }} {% raw %} auf mein unten angegebenes Konto. + +\closing{Mit bestem Dank und freundlichen Grüßen,} +%--------------------------------------------------------------------------- +%\ps{PS:} +%\encl{} +%\cc{} +%--------------------------------------------------------------------------- +\end{letter} +%--------------------------------------------------------------------------- +\end{document} +%--------------------------------------------------------------------------- +%{% endraw %}