Revision ab064135
Von Marei Peischl vor 11 Monaten hinzugefügt
templates/print/marei/invoice.tex | ||
---|---|---|
7 | 7 |
}]{foreground} |
8 | 8 |
\AddLayersToPageStyle{kivitendo.letter.first}{foreground}%Hintergrund für die erste Seite aktivieren |
9 | 9 |
\AddLayersToPageStyle{kivitendo.letter}{foreground}%Hintergrund für die erste Seite aktivieren |
10 |
<%end if%>
|
|
10 |
<%end template_meta.formname == "invoice_copy"%>
|
|
11 | 11 |
|
12 | 12 |
|
13 | 13 |
|
... | ... | |
23 | 23 |
|
24 | 24 |
<%if template_meta.formname == "invoice_for_advance_payment"%> |
25 | 25 |
\renewcommand{\rechnung}{\anzahlungsrechnung} |
26 |
<%end if%>
|
|
26 |
<%end template_meta.formname == "invoice_for_advance_payment"%>
|
|
27 | 27 |
|
28 | 28 |
<%if template_meta.formname == "final_invoice"%> |
29 | 29 |
\renewcommand{\rechnung}{\schlussrechnung} |
30 |
<%end if%>
|
|
30 |
<%end template_meta.formname == "final_invoice"%>
|
|
31 | 31 |
|
32 | 32 |
% laufende Kopfzeile: |
33 | 33 |
\ourhead{\kundennummer}{<%customernumber%>}{\rechnung}{<%invnumber%>}{<%invdate%>} |
... | ... | |
44 | 44 |
<%if ordnumber%>% |
45 | 45 |
\setkomavar*{myref}{\auftragsnummer} |
46 | 46 |
\setkomavar{myref}{<%ordnumber%>} |
47 |
<%end if%>%
|
|
47 |
<%end ordnumber%>%
|
|
48 | 48 |
<%if tax_point%>% |
49 | 49 |
\setkomavar*{taxpoint}{\leistungsdatum} |
50 | 50 |
\setkomavar{taxpoint}{<%tax_point%>} |
51 |
<%end if%>%
|
|
51 |
<%end tax_point%>%
|
|
52 | 52 |
<%if cusordnumber%>% |
53 | 53 |
\setkomavar*{yourref}{\ihreBestellnummer} |
54 | 54 |
\setkomavar{yourref}{<%cusordnumber%>} |
55 |
<%end if%>%
|
|
55 |
<%end cusordnumber%>%
|
|
56 | 56 |
<%if donumber%>% |
57 | 57 |
\setkomavar{delivery}{<%donumber%>} |
58 |
<%end if%>%
|
|
58 |
<%end donumber%>%
|
|
59 | 59 |
|
60 | 60 |
<%if quonumber%>% |
61 | 61 |
\setkomavar{quote}{<%quonumber%>} |
62 |
<%end if%>%
|
|
62 |
<%end quonumber%>%
|
|
63 | 63 |
|
64 | 64 |
\setkomavar{transaction}{<%transaction_description%>} |
65 | 65 |
<%if shiptoname%>% |
... | ... | |
82 | 82 |
} |
83 | 83 |
\end{lrbox} |
84 | 84 |
\makeatother |
85 |
<%end if%>%
|
|
85 |
<%end shiptoname%>%
|
|
86 | 86 |
|
87 | 87 |
\begin{document} |
88 | 88 |
|
89 | 89 |
\begin{letter}{% |
90 |
<%if billing_address_id%>% |
|
91 |
<%billing_address_name%> \strut\\%
|
|
92 |
<%if department_1%><%billing_address_department_1%>\\<%end if%>%
|
|
93 |
<%if department_2%><%billing_address_department_2%>\\<%end if%>%
|
|
94 |
<%cp_title%> <%cp_givenname%> <%cp_name%>\strut\\%me%>\strut\\%me%>\strut\\%me%>\strut\\%
|
|
95 |
<%billing_address_street%>\strut\\%
|
|
96 |
<%billing_address_zipcode%> <%billing_address_city%> \strut\\%
|
|
97 |
<%billing_address_country%>\strut\\%
|
|
98 |
<%else%>% |
|
99 |
<%name%>\strut\\%
|
|
100 |
<%if department_1%><%department_1%>\\<%end if%>%
|
|
101 |
<%if department_2%><%department_2%>\\<%end if%>%
|
|
102 |
<%cp_title%> <%cp_givenname%> <%cp_name%>\strut\\%
|
|
103 |
<%street%>\strut\\%
|
|
104 |
<%zipcode%> <%city%>\strut\\%
|
|
105 |
<%country%>\strut%
|
|
106 |
<%end if%>%
|
|
107 |
} |
|
90 |
<%if billing_address_id%>%
|
|
91 |
<%billing_address_name%> \strut\\%
|
|
92 |
<%if department_1%><%billing_address_department_1%>\\<%end if%>%
|
|
93 |
<%if department_2%><%billing_address_department_2%>\\<%end if%>%
|
|
94 |
<%cp_title%> <%cp_givenname%> <%cp_name%>\strut\\%me%>\strut\\%me%>\strut\\%me%>\strut\\%
|
|
95 |
<%billing_address_street%>\strut\\%
|
|
96 |
<%billing_address_zipcode%> <%billing_address_city%> \strut\\%
|
|
97 |
<%billing_address_country%>\strut\\%
|
|
98 |
<%else%>%
|
|
99 |
<%name%>\strut\\%
|
|
100 |
<%if department_1%><%department_1%>\\<%end if%>%
|
|
101 |
<%if department_2%><%department_2%>\\<%end if%>%
|
|
102 |
<%cp_title%> <%cp_givenname%> <%cp_name%>\strut\\%
|
|
103 |
<%street%>\strut\\%
|
|
104 |
<%zipcode%> <%city%>\strut\\%
|
|
105 |
<%country%>\strut%
|
|
106 |
<%end billing_address_id%>%
|
|
107 |
}
|
|
108 | 108 |
|
109 |
% Bei Kontaktperson Anrede nach Geschlecht unterscheiden. |
|
110 |
% Bei natürlichen Personen persönliche Anrede, sonst allgemeine Anrede. |
|
111 |
\opening{ |
|
112 |
\Ifstr{<%cp_name%>}{} |
|
113 |
{<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
|
|
114 |
{ |
|
115 |
\Ifstr{<%cp_gender%>}{f} |
|
116 |
{\anredefrau}
|
|
117 |
{\anredeherr}
|
|
109 |
% Bei Kontaktperson Anrede nach Geschlecht unterscheiden.
|
|
110 |
% Bei natürlichen Personen persönliche Anrede, sonst allgemeine Anrede.
|
|
111 |
\opening{
|
|
112 |
\Ifstr{<%cp_name%>}{}
|
|
113 |
{<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede}<%end if%>
|
|
114 |
{
|
|
115 |
\Ifstr{<%cp_gender%>}{f}
|
|
116 |
{\anredefrau} |
|
117 |
{\anredeherr} |
|
118 | 118 |
<%cp_title%> <%cp_name%>, |
119 | 119 |
} |
120 | 120 |
} |
121 |
\thispagestyle{kivitendo.letter.first} |
|
122 |
|
|
123 |
<%if notes%>% |
|
124 |
<%notes%>% |
|
125 |
\vspace{0.5cm} |
|
126 |
<%end if%>%
|
|
127 |
|
|
128 |
|
|
129 |
%PricingTabular* kann automatisch spalten ignorieren |
|
130 |
% \begin{PricingTabular*}[id=false] |
|
131 |
% deaktiviert damit die Spalte der Produktnummer |
|
132 |
% analog ist dies für pos, amount, price, pricetotal möglich. |
|
133 |
% Die Spalte der Bezeichnung ist nicht deaktivierbar |
|
134 |
% |
|
135 |
% Darüber hinaus kann die Reihenfolge verändert werden, die Voreinstellung entspricht: |
|
136 |
% \begin{PricingTabular*[columns={pos, id, desc, amount, price, pricetotal}] |
|
137 |
% Auf diese Art ist auch möglich mehrSpalten anzulegen als definiert sind. Für jede Spalte kann die Breite über weitere Optionen angepasst werden, die Einträge der columns-Liste entspricht den Spaltennamen. |
|
138 |
% |
|
139 |
% id = false, % deaktiviert die Spalte der Artikelnummer |
|
140 |
% amount = 1cm, % Setzt die Breite der Mengenspalte auf 1cm |
|
141 |
% desc/header = Artikelbeschreibung, %Ändert die Überschrift der Bezeichnunsspalte in „Artikelbeschreibung” |
|
142 |
\begin{PricingTabular*}% |
|
143 |
% eigentliche Tabelle |
|
144 |
\FakeTable{% |
|
145 |
<%foreach number%>% |
|
146 |
<%runningnumber%> &% |
|
147 |
<%number%> &% |
|
148 |
\textbf{<%description%>}% |
|
149 |
<%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>% |
|
150 |
<%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>% |
|
151 |
<%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>% |
|
152 |
<%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>% |
|
153 |
&% |
|
154 |
<%qty%> <%unit%> &% |
|
155 |
<%sellprice%>&% |
|
156 |
\Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}% |
|
157 |
<%linetotal%>\tabularnewline% |
|
121 |
\thispagestyle{kivitendo.letter.first}
|
|
122 |
|
|
123 |
<%if notes%>%
|
|
124 |
<%notes%>%
|
|
125 |
\vspace{0.5cm}
|
|
126 |
<%end notes%>%
|
|
127 |
|
|
128 |
|
|
129 |
%PricingTabular* kann automatisch spalten ignorieren
|
|
130 |
% \begin{PricingTabular*}[id=false]
|
|
131 |
% deaktiviert damit die Spalte der Produktnummer
|
|
132 |
% analog ist dies für pos, amount, price, pricetotal möglich.
|
|
133 |
% Die Spalte der Bezeichnung ist nicht deaktivierbar
|
|
134 |
%
|
|
135 |
% Darüber hinaus kann die Reihenfolge verändert werden, die Voreinstellung entspricht:
|
|
136 |
% \begin{PricingTabular*[columns={pos, id, desc, amount, price, pricetotal}]
|
|
137 |
% Auf diese Art ist auch möglich mehrSpalten anzulegen als definiert sind. Für jede Spalte kann die Breite über weitere Optionen angepasst werden, die Einträge der columns-Liste entspricht den Spaltennamen.
|
|
138 |
%
|
|
139 |
% id = false, % deaktiviert die Spalte der Artikelnummer
|
|
140 |
% amount = 1cm, % Setzt die Breite der Mengenspalte auf 1cm
|
|
141 |
% desc/header = Artikelbeschreibung, %Ändert die Überschrift der Bezeichnunsspalte in „Artikelbeschreibung”
|
|
142 |
\begin{PricingTabular*}%
|
|
143 |
% eigentliche Tabelle
|
|
144 |
\FakeTable{%
|
|
145 |
<%foreach number%>%
|
|
146 |
<%runningnumber%> &%
|
|
147 |
<%number%> &%
|
|
148 |
\textbf{<%description%>}%
|
|
149 |
<%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
|
|
150 |
<%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
|
|
151 |
<%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
|
|
152 |
<%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
|
|
153 |
&%
|
|
154 |
<%qty%> <%unit%> &%
|
|
155 |
<%sellprice%>&%
|
|
156 |
\Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
|
|
157 |
<%linetotal%>\tabularnewline%
|
|
158 | 158 |
<%end number%>% |
159 |
}% |
|
160 |
\begin{PricingTotal}% |
|
161 |
% Tabellenende letzte Seite |
|
162 |
\nettobetrag & <%subtotal%>\\% |
|
163 |
<%foreach tax%>% |
|
164 |
<%taxdescription%> & <%tax%>\\% |
|
165 |
<%end tax%>% |
|
166 |
\bfseries\schlussbetrag & \bfseries <%invtotal%>\\% |
|
167 |
\end{PricingTotal}% |
|
168 |
\end{PricingTabular*} |
|
169 |
|
|
170 |
\vspace{0.2cm} |
|
171 |
|
|
172 |
<%if template_meta.formname == "final_invoice"%> |
|
159 |
}%
|
|
160 |
\begin{PricingTotal}%
|
|
161 |
% Tabellenende letzte Seite
|
|
162 |
\nettobetrag & <%subtotal%>\\%
|
|
163 |
<%foreach tax%>%
|
|
164 |
<%taxdescription%> & <%tax%>\\%
|
|
165 |
<%end tax%>%
|
|
166 |
\bfseries\schlussbetrag & \bfseries <%invtotal%>\\%
|
|
167 |
\end{PricingTotal}%
|
|
168 |
\end{PricingTabular*}
|
|
169 |
|
|
170 |
\vspace{0.2cm}
|
|
171 |
|
|
172 |
<%if template_meta.formname == "final_invoice"%>
|
|
173 | 173 |
<%if iap_existing%> |
174 | 174 |
\abzueglichAnzahlungsrechnungen:\\ |
175 | 175 |
\begin{SimpleTabular}[colspec=llr<{\tabcurrency}r<{\tabcurrency},headline={\bfseries\nr& \bfseries\date& \bfseries\betrag & \bfseries\ust}]% |
... | ... | |
177 | 177 |
<%iap_invnumber%> & <%iap_transdate_as_date%> & <%iap_amount%> & <%iap_taxamount%>\\% |
178 | 178 |
<%end iap_invnumber%>% |
179 | 179 |
\end{SimpleTabular}% |
180 |
\bfseries\rechnungsbetrag: <%iap_final_amount%> \currency\\%
|
|
180 |
\bfseries\rechnungsbetrag: <%iap_final_amount%> \currency\\% |
|
181 | 181 |
<%end iap_existing%> |
182 |
<%end%>% |
|
182 |
<%end%>%
|
|
183 | 183 |
|
184 |
\Ifstr{<%deliverydate%>}{}{% |
|
185 |
\leistungsdatumGleichRechnungsdatum% |
|
186 |
}{ |
|
187 |
\lieferungErfolgtAm ~<%deliverydate%>. |
|
188 |
}\\ |
|
184 |
\Ifstr{<%deliverydate%>}{}{%
|
|
185 |
\leistungsdatumGleichRechnungsdatum%
|
|
186 |
}{
|
|
187 |
\lieferungErfolgtAm ~<%deliverydate%>.
|
|
188 |
}\\
|
|
189 | 189 |
|
190 |
<%if payment_terms%>% |
|
191 |
\zahlung ~<%payment_terms%>\\ |
|
192 |
<%end payment_terms%>% |
|
190 |
<%if payment_terms%>%
|
|
191 |
\zahlung ~<%payment_terms%>\\
|
|
192 |
<%end payment_terms%>%
|
|
193 | 193 |
|
194 |
<%if delivery_term%>% |
|
195 |
\lieferung ~<%delivery_term.description_long%>\\ |
|
196 |
<%end delivery_term%>% |
|
194 |
<%if delivery_term%>%
|
|
195 |
\lieferung ~<%delivery_term.description_long%>\\
|
|
196 |
<%end delivery_term%>%
|
|
197 | 197 |
|
198 |
<%if ustid%>\ihreustid ~<%ustid%>.\\<%end if%>% |
|
198 |
<%if ustid%>\ihreustid ~<%ustid%>.\\<%end if%>%
|
|
199 | 199 |
|
200 |
\ifnum<%taxzone_id%>=1 |
|
201 |
\steuerfreiEU\\ % EU mit USt-ID Nummer |
|
202 |
\else |
|
203 |
\ifnum<%taxzone_id%>=3 |
|
204 |
\steuerfreiAUS\\ % Außerhalb EU |
|
205 |
\fi |
|
206 |
\fi |
|
200 |
\ifnum<%taxzone_id%>=1
|
|
201 |
\steuerfreiEU\\ % EU mit USt-ID Nummer
|
|
202 |
\else
|
|
203 |
\ifnum<%taxzone_id%>=3
|
|
204 |
\steuerfreiAUS\\ % Außerhalb EU
|
|
205 |
\fi
|
|
206 |
\fi
|
|
207 | 207 |
|
208 |
\closing{\gruesse} |
|
208 |
\closing{\gruesse}
|
|
209 | 209 |
|
210 | 210 |
\end{letter} |
211 | 211 |
|
Auch abrufbar als: Unified diff
unify identation