Inventory: with_objects cleanup
[kivitendo-erp.git] / doc / html / ch03.html
1 <html><head>
2       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3    <title>Kapitel 3. Features und Funktionen</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.5.6.1: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="kivitendo 3.5.6.1: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch02s21.html" title="2.21. kivitendo ERP verwenden"><link rel="next" href="ch03s02.html" title="3.2. Bankerweiterung"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Kapitel 3. Features und Funktionen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s21.html">Zurück</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch03s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 3. Features und Funktionen"><div class="titlepage"><div><div><h2 class="title"><a name="features"></a>Kapitel 3. Features und Funktionen</h2></div></div></div><div class="sect1" title="3.1. Wiederkehrende Rechnungen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="features.periodic-invoices"></a>3.1. Wiederkehrende Rechnungen</h2></div></div></div><div class="sect2" title="3.1.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.introduction"></a>3.1.1. Einführung</h3></div></div></div><p>Wiederkehrende Rechnungen werden als normale Aufträge definiert
4         und konfiguriert, mit allen dazugehörigen Kunden- und Artikelangaben.
5         Die konfigurierten Aufträge werden später automatisch in Rechnungen
6         umgewandelt, so als ob man den Workflow benutzen würde, und auch die
7         Auftragsnummer wird übernommen, sodass alle wiederkehrenden
8         Rechnungen, die aus einem Auftrag erstellt wurden, später leicht
9         wiederzufinden sind.</p></div><div class="sect2" title="3.1.2. Konfiguration"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.configuration"></a>3.1.2. Konfiguration</h3></div></div></div><p>Um einen Auftrag für wiederkehrende Rechnung zu konfigurieren,
10         findet sich beim Bearbeiten des Auftrags ein neuer Knopf
11         "Konfigurieren", der ein neues Fenster öffnet, in dem man die nötigen
12         Parameter einstellen kann. Hinter dem Knopf wird außerdem noch
13         angezeigt, ob der Auftrag als wiederkehrende Rechnung konfiguriert ist
14         oder nicht.</p><p>Folgende Parameter kann man konfigurieren:</p><div class="variablelist"><dl><dt><span class="term">Status</span></dt><dd><p>Bei aktiven Rechnungen wird automatisch eine Rechnung
15               erstellt, wenn die Periodizität erreicht ist (z.B. am Anfang
16               eines neuen Monats).</p><p>Ist ein Auftrag nicht aktiv, so werden für ihn auch keine
17               wiederkehrenden Rechnungen erzeugt. Stellt man nach längerer
18               nicht-aktiver Zeit einen Auftrag wieder auf aktiv, wird beim
19               nächsten Periodenwechsel für alle Perioden, seit der letzten
20               aktiven Periode, jeweils eine Rechnung erstellt. Möchte man dies
21               verhindern, muss man vorher das Startdatum neu setzen.</p><p>Für gekündigte Aufträge werden nie mehr Rechnungen
22               erstellt. Man kann sich diese Aufträge aber gesondert in den
23               Berichten anzeigen lassen.</p></dd><dt><span class="term">Periodizität</span></dt><dd><p>Ob monatlich, quartalsweise oder jährlich auf neue
24               Rechnungen überprüft werden soll. Für jede Periode seit dem
25               Startdatum wird überprüft, ob für die Periode (beginnend immer
26               mit dem ersten Tag der Periode) schon eine Rechnung erstellt
27               wurde. Unter Umständen können bei einem Startdatum in der
28               Vergangenheit gleich mehrere Rechnungen erstellt werden.</p></dd><dt><span class="term">Buchen auf</span></dt><dd><p>Das Forderungskonto, in der Regel "Forderungen aus
29               Lieferungen und Leistungen". Das Gegenkonto ergibt sich aus den
30               Buchungsgruppen der betreffenden Waren.</p></dd><dt><span class="term">Startdatum</span></dt><dd><p>ab welchem Datum auf Rechnungserstellung geprüft werden
31               soll</p></dd><dt><span class="term">Enddatum</span></dt><dd><p>ab wann keine Rechnungen mehr erstellt werden
32               sollen</p></dd><dt><span class="term">Automatische Verlängerung um x Monate</span></dt><dd><p>Sollen die wiederkehrenden Rechnungen bei Erreichen des
33               eingetragenen Enddatums weiterhin erstellt werden, so kann man
34               hier die Anzahl der Monate eingeben, um die das Enddatum
35               automatisch nach hinten geschoben wird.</p></dd><dt><span class="term">Drucken</span></dt><dd><p>Sind Drucker konfiguriert, so kann man sich die erstellten
36               Rechnungen auch gleich ausdrucken lassen.</p></dd></dl></div><p>Nach Erstellung der Rechnungen kann eine E-Mail mit
37         Informationen zu den erstellten Rechnungen verschickt werden.
38         Konfiguriert wird dies in der <a class="link" href="ch02s04.html#config.config-file.sections-parameters" title="2.4.2. Abschnitte und Parameter">Konfigurationsdatei</a>
39         
40                <code class="filename">config/kivitendo.conf</code> im Abschnitt
41         <code class="varname">[periodic_invoices]</code>.</p></div><div class="sect2" title="3.1.3. Spezielle Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.variables"></a>3.1.3. Spezielle Variablen</h3></div></div></div><p>Um die erzeugten Rechnungen individualisieren zu können, werden
42         beim Umwandeln des Auftrags in eine Rechnung einige speziell
43         formatierte Variablen durch für die jeweils aktuelle
44         Abrechnungsperiode gültigen Werte ersetzt. Damit ist es möglich, z.B.
45         den Abrechnungszeitraum explizit auszuweisen. Eine Variable hat dabei
46         die Syntax <code class="literal">&lt;%variablenname%&gt;</code>.</p><p>Sofern es sich um eine Datumsvariable handelt, kann das
47         Ausgabeformat weiter bestimmt werden, indem an den Variablennamen
48         Formatoptionen angehängt werden. Die Syntax sieht dabei wie folgt aus:
49         <code class="literal">&lt;%variablenname FORMAT=Formatinformation%&gt;</code>.
50         Die zur verfügung stehenden Formatinformationen werden unten genauer
51         beschrieben.</p><p>Diese Variablen können auch beim automatischen Versand der
52         erzeugten Rechnungen per E-Mail genutzt werden, indem sie in den
53         Feldern für den Betreff oder die Nachricht verwendet werden.</p><p>Diese Variablen werden in den folgenden Elementen des Auftrags
54         ersetzt:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Bemerkungen</p></li><li class="listitem"><p>Interne Bemerkungen</p></li><li class="listitem"><p>Vorgangsbezeichnung</p></li><li class="listitem"><p>In den Beschreibungs- und Langtextfeldern aller
55             Positionen</p></li></ul></div><p>Die zur Verfügung stehenden Variablen sind die Folgenden:</p><div class="variablelist"><dl><dt><span class="term">
56                      <code class="varname">&lt;%current_quarter%&gt;</code>,
57             <code class="varname">&lt;%previous_quarter%&gt;</code>,
58             <code class="varname">&lt;%next_quarter%&gt;</code>
59                   </span></dt><dd><p>Aktuelles, vorheriges und nächstes Quartal als Zahl
60               zwischen <code class="literal">1</code> und <code class="literal">4</code>.</p></dd><dt><span class="term">
61                      <code class="varname">&lt;%current_month%&gt;</code>,
62             <code class="varname">&lt;%previous_month%&gt;</code>,
63             <code class="varname">&lt;%next_month%&gt;</code>
64                   </span></dt><dd><p>Aktueller, vorheriger und nächster Monat als Zahl zwischen
65               <code class="literal">1</code> und <code class="literal">12</code>.</p></dd><dt><span class="term">
66                      <code class="varname">&lt;%current_month_long%&gt;</code>,
67             <code class="varname">&lt;%previous_month_long%&gt;</code>,
68             <code class="varname">&lt;%next_month_long%&gt;</code>
69                   </span></dt><dd><p>Aktueller, vorheriger und nächster Monat als Name
70               (<code class="literal">Januar</code>, <code class="literal">Februar</code>
71               etc.).</p></dd><dt><span class="term">
72                      <code class="varname">&lt;%current_year%&gt;</code>,
73             <code class="varname">&lt;%previous_year%&gt;</code>,
74             <code class="varname">&lt;%next_year%&gt;</code>
75                   </span></dt><dd><p>Aktuelles, vorheriges und nächstes Jahr als vierstellige
76               Jahreszahl (<code class="literal">2013</code> etc.).</p></dd><dt><span class="term">
77                      <code class="varname">&lt;%period_start_date%&gt;</code>,
78             <code class="varname">&lt;%period_end_date%&gt;</code>
79                   </span></dt><dd><p>Formatiertes Datum des ersten und letzten Tages im
80               Abrechnungszeitraum (z.B. bei quartalsweiser Abrechnung und im
81               ersten Quartal von 2013 wären dies der
82               <code class="literal">01.01.2013</code> und
83               <code class="literal">31.03.2013</code>).</p></dd></dl></div><p>Die invidiuellen Formatinformationen bestehen aus Paaren von
84         Prozentzeichen und einem Buchstaben, welche beide zusammen durch den
85         dazugehörigen Wert ersetzt werden. So wird z.B. <code class="literal">%Y</code>
86         durch das viertstellige Jahr ersetzt. Alle möglichen Platzhalter
87         sind:</p><div class="variablelist"><dl><dt><span class="term">
88                      <code class="varname">%a</code>
89                   </span></dt><dd><p>Der abgekürzte Wochentagsname.</p></dd><dt><span class="term">
90                      <code class="varname">%A</code>
91                   </span></dt><dd><p>Der ausgeschriebene Wochentagsname.</p></dd><dt><span class="term">
92                      <code class="varname">%b</code>
93                   </span></dt><dd><p>Der abgekürzte Monatsname.</p></dd><dt><span class="term">
94                      <code class="varname">%B</code>
95                   </span></dt><dd><p>Der ausgeschriebene Monatsname.</p></dd><dt><span class="term">
96                      <code class="varname">%C</code>
97                   </span></dt><dd><p>Das Jahrhundert (Jahr/100) als eine zweistellige
98               Zahl.</p></dd><dt><span class="term">
99                      <code class="varname">%d</code>
100                   </span></dt><dd><p>Der Monatstag als Zahl zwischen 01 und 31.</p></dd><dt><span class="term">
101                      <code class="varname">%D</code>
102                   </span></dt><dd><p>Entspricht %m/%d/%y (amerikanisches Datumsformat).</p></dd><dt><span class="term">
103                      <code class="varname">%e</code>
104                   </span></dt><dd><p>Wie %d (Monatstag als Zahl zwischen 1 und 31), allerdings
105               werden führende Nullen durch Leerzeichen ersetzt.</p></dd><dt><span class="term">
106                      <code class="varname">%F</code>
107                   </span></dt><dd><p>Entspricht %Y-%m-%d (das ISO-8601-Datumsformat).</p></dd><dt><span class="term">
108                      <code class="varname">%j</code>
109                   </span></dt><dd><p>Der Tag im Jahr als Zahl zwischen 001 und 366
110               inklusive.</p></dd><dt><span class="term">
111                      <code class="varname">%m</code>
112                   </span></dt><dd><p>Der Monat als Zahl zwischen 01 und 12 inklusive.</p></dd><dt><span class="term">
113                      <code class="varname">%u</code>
114                   </span></dt><dd><p>Der Wochentag als Zahl zwischen 1 und 7 inklusive, wobei
115               die 1 dem Montag entspricht.</p></dd><dt><span class="term">
116                      <code class="varname">%U</code>
117                   </span></dt><dd><p>Die Wochennummer als Zahl zwischen 00 und 53 inklusive,
118               wobei der erste Sonntag im Jahr das Startdatum von Woche 01
119               ist.</p></dd><dt><span class="term">
120                      <code class="varname">%V</code>
121                   </span></dt><dd><p>Die ISO-8601:1988-Wochennummer als Zahl zwischen 01 und 53
122               inklusive, wobei Woche 01 die erste Woche, von der mindestens
123               vier Tage im Jahr liegen; Montag ist erster Tag der
124               Woche.</p></dd><dt><span class="term">
125                      <code class="varname">%w</code>
126                   </span></dt><dd><p>Der Wochentag als Zahl zwischen 0 und 6 inklusive, wobei
127               die 0 dem Sonntag entspricht.</p></dd><dt><span class="term">
128                      <code class="varname">%W</code>
129                   </span></dt><dd><p>Die Wochennummer als Zahl zwischen 00 und 53 inklusive,
130               wobei der erste Montag im Jahr das Startdatum von Woche 01
131               ist.</p></dd><dt><span class="term">
132                      <code class="varname">%y</code>
133                   </span></dt><dd><p>Das Jahr als zweistellige Zahl zwischen 00 und 99
134               inklusive.</p></dd><dt><span class="term">
135                      <code class="varname">%Y</code>
136                   </span></dt><dd><p>Das Jahr als vierstellige Zahl.</p></dd><dt><span class="term">
137                      <code class="varname">%%</code>
138                   </span></dt><dd><p>Das Prozentzeichen selber.</p></dd></dl></div><p>Anwendungsbeispiel für die Ausgabe, von welchem Monat und Jahr
139         bis zu welchem Monat und Jahr die aktuelle Abrechnungsperiode dauert:
140         <code class="literal">Abrechnungszeitrum: &lt;%period_start_date FORMAT=%m/%Y%&gt;
141         bis &lt;%period_end_date FORMAT=%m/%Y%&gt;</code>
142             </p><p>Beim automatischen Versand der Rechnugen via E-Mail können neben diesen speziellen Variablen auch einige Eigenschaften der
143         Rechnung selber als Variablen im Betreff &amp; dem Text der E-Mails genutzt werden. Beispiele sind
144         <code class="varname">&lt;%invnumber%&gt;</code> für die Rechnungsnummber oder <code class="varname">&lt;transaction_description%&gt;</code> für die
145         Vorgangsbezeichnung. Diese Variablen stehen beim Erzeugen der Rechnung logischerweise noch nicht zur Verfügung.</p></div><div class="sect2" title="3.1.4. Auflisten"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.reports"></a>3.1.4. Auflisten</h3></div></div></div><p>Unter Verkauf-&gt;Berichte-&gt;Aufträge finden sich zwei neue
146         Checkboxen, "Wiederkehrende Rechnungen aktiv" und "Wiederkehrende
147         Rechnungen inaktiv", mit denen man sich einen Überglick über die
148         wiederkehrenden Rechnungen verschaffen kann.</p></div><div class="sect2" title="3.1.5. Erzeugung der eigentlichen Rechnungen"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.task-server"></a>3.1.5. Erzeugung der eigentlichen Rechnungen</h3></div></div></div><p>Die zeitliche und periodische Überprüfung, ob eine
149         wiederkehrende Rechnung automatisch erstellt werden soll, geschieht
150         durch den <a class="link" href="ch02s07.html" title="2.7. Der Task-Server">Task-Server</a>, einen
151         externen Dienst, der automatisch beim Start des Servers gestartet
152         werden sollte.</p></div><div class="sect2" title="3.1.6. Erste Rechnung für aktuellen Monat erstellen"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.create-for-current-month"></a>3.1.6. Erste Rechnung für aktuellen Monat erstellen</h3></div></div></div><p>Will man im laufenden Monat eine monatlich wiederkehrende
153         Rechnung inkl. des laufenden Monats starten, stellt man das Startdatum
154         auf den Monatsanfang und wartet ein paar Minuten, bis der Task-Server
155         den neu konfigurieren Auftrag erkennt und daraus eine Rechnung
156         generiert hat. Alternativ setzt man das Startdatum auf den
157         Monatsersten des Folgemonats und erstellt die erste Rechnung direkt
158         manuell über den Workflow.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s21.html">Zurück</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch03s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.21. kivitendo ERP verwenden&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;3.2. Bankerweiterung</td></tr></table></div></body></html>