gnucash/bindings/python/example_scripts/Invoice_2.tex.tmpl
Steven Walter 5f721614ad Remove unneeded .decode() from Invoice*.tex.templ
These values are already str's, don't decode them
2021-08-03 15:59:54 -04:00

195 lines
7.9 KiB
Cheetah
Raw Blame History

%---------------------------------------------------------------------------
% Invoice_2.tex.tmpl 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 <juergen.fenn@gmx.de>
% 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{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() -}} \\
{{- invoice.GetOwner().GetAddr().GetAddr1() -}} \\
{{- invoice.GetOwner().GetAddr().GetAddr2() -}} \\
{{- invoice.GetOwner().GetAddr().GetAddr3() -}}
{# if Addr4 is declared put a linebreak here #}
{%- if invoice.GetOwner().GetAddr().GetAddr4() -%} \\ {%- endif -%}
{{- invoice.GetOwner().GetAddr().GetAddr4() -}} {%- 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() -}} &
\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 \EUR{\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 %}