Kapitel 3. Features und Funktionen

3.1. Wiederkehrende Rechnungen

3.1.1. Einführung

Wiederkehrende Rechnungen werden als normale Aufträge definiert und konfiguriert, mit allen dazugehörigen Kunden- und Artikelangaben. Die konfigurierten Aufträge werden später automatisch in Rechnungen umgewandelt, so als ob man den Workflow benutzen würde, und auch die Auftragsnummer wird übernommen, sodass alle wiederkehrenden Rechnungen, die aus einem Auftrag erstellt wurden, später leicht wiederzufinden sind.

3.1.2. Konfiguration

Um einen Auftrag für wiederkehrende Rechnung zu konfigurieren, findet sich beim Bearbeiten des Auftrags ein neuer Knopf "Konfigurieren", der ein neues Fenster öffnet, in dem man die nötigen Parameter einstellen kann. Hinter dem Knopf wird außerdem noch angezeigt, ob der Auftrag als wiederkehrende Rechnung konfiguriert ist oder nicht.

Folgende Parameter kann man konfigurieren:

Status

Bei aktiven Rechnungen wird automatisch eine Rechnung erstellt, wenn die Periodizität erreicht ist (z.B. am Anfang eines neuen Monats).

Ist ein Auftrag nicht aktiv, so werden für ihn auch keine wiederkehrenden Rechnungen erzeugt. Stellt man nach längerer nicht-aktiver Zeit einen Auftrag wieder auf aktiv, wird beim nächsten Periodenwechsel für alle Perioden, seit der letzten aktiven Periode, jeweils eine Rechnung erstellt. Möchte man dies verhindern, muss man vorher das Startdatum neu setzen.

Für gekündigte Aufträge werden nie mehr Rechnungen erstellt. Man kann sich diese Aufträge aber gesondert in den Berichten anzeigen lassen.

Periodizität

Ob monatlich, quartalsweise oder jährlich auf neue Rechnungen überprüft werden soll. Für jede Periode seit dem Startdatum wird überprüft, ob für die Periode (beginnend immer mit dem ersten Tag der Periode) schon eine Rechnung erstellt wurde. Unter Umständen können bei einem Startdatum in der Vergangenheit gleich mehrere Rechnungen erstellt werden.

Buchen auf

Das Forderungskonto, in der Regel "Forderungen aus Lieferungen und Leistungen". Das Gegenkonto ergibt sich aus den Buchungsgruppen der betreffenden Waren.

Startdatum

ab welchem Datum auf Rechnungserstellung geprüft werden soll

Enddatum

ab wann keine Rechnungen mehr erstellt werden sollen

Automatische Verlängerung um x Monate

Sollen die wiederkehrenden Rechnungen bei Erreichen des eingetragenen Enddatums weiterhin erstellt werden, so kann man hier die Anzahl der Monate eingeben, um die das Enddatum automatisch nach hinten geschoben wird.

Drucken

Sind Drucker konfiguriert, so kann man sich die erstellten Rechnungen auch gleich ausdrucken lassen.

Nach Erstellung der Rechnungen kann eine E-Mail mit Informationen zu den erstellten Rechnungen verschickt werden. Konfiguriert wird dies in der Konfigurationsdatei config/kivitendo.conf im Abschnitt [periodic_invoices].

3.1.3. Spezielle Variablen

Um die erzeugten Rechnungen individualisieren zu können, werden beim Umwandeln des Auftrags in eine Rechnung einige speziell formatierte Variablen durch für die jeweils aktuelle Abrechnungsperiode gültigen Werte ersetzt. Damit ist es möglich, z.B. den Abrechnungszeitraum explizit auszuweisen. Eine Variable hat dabei die Syntax <%variablenname%>.

Sofern es sich um eine Datumsvariable handelt, kann das Ausgabeformat weiter bestimmt werden, indem an den Variablennamen Formatoptionen angehängt werden. Die Syntax sieht dabei wie folgt aus: <%variablenname FORMAT=Formatinformation%>. Die zur verfügung stehenden Formatinformationen werden unten genauer beschrieben.

Diese Variablen können auch beim automatischen Versand der erzeugten Rechnungen per E-Mail genutzt werden, indem sie in den Feldern für den Betreff oder die Nachricht verwendet werden.

Diese Variablen werden in den folgenden Elementen des Auftrags ersetzt:

  • Bemerkungen

  • Interne Bemerkungen

  • Vorgangsbezeichnung

  • In den Beschreibungs- und Langtextfeldern aller Positionen

Die zur Verfügung stehenden Variablen sind die Folgenden:

<%current_quarter%>, <%previous_quarter%>, <%next_quarter%>

Aktuelles, vorheriges und nächstes Quartal als Zahl zwischen 1 und 4.

<%current_month%>, <%previous_month%>, <%next_month%>

Aktueller, vorheriger und nächster Monat als Zahl zwischen 1 und 12.

<%current_month_long%>, <%previous_month_long%>, <%next_month_long%>

Aktueller, vorheriger und nächster Monat als Name (Januar, Februar etc.).

<%current_year%>, <%previous_year%>, <%next_year%>

Aktuelles, vorheriges und nächstes Jahr als vierstellige Jahreszahl (2013 etc.).

<%period_start_date%>, <%period_end_date%>

Formatiertes Datum des ersten und letzten Tages im Abrechnungszeitraum (z.B. bei quartalsweiser Abrechnung und im ersten Quartal von 2013 wären dies der 01.01.2013 und 31.03.2013).

Die invidiuellen Formatinformationen bestehen aus Paaren von Prozentzeichen und einem Buchstaben, welche beide zusammen durch den dazugehörigen Wert ersetzt werden. So wird z.B. %Y durch das viertstellige Jahr ersetzt. Alle möglichen Platzhalter sind:

%a

Der abgekürzte Wochentagsname.

%A

Der ausgeschriebene Wochentagsname.

%b

Der abgekürzte Monatsname.

%B

Der ausgeschriebene Monatsname.

%C

Das Jahrhundert (Jahr/100) als eine zweistellige Zahl.

%d

Der Monatstag als Zahl zwischen 01 und 31.

%D

Entspricht %m/%d/%y (amerikanisches Datumsformat).

%e

Wie %d (Monatstag als Zahl zwischen 1 und 31), allerdings werden führende Nullen durch Leerzeichen ersetzt.

%F

Entspricht %Y-%m-%d (das ISO-8601-Datumsformat).

%j

Der Tag im Jahr als Zahl zwischen 001 und 366 inklusive.

%m

Der Monat als Zahl zwischen 01 und 12 inklusive.

%u

Der Wochentag als Zahl zwischen 1 und 7 inklusive, wobei die 1 dem Montag entspricht.

%U

Die Wochennummer als Zahl zwischen 00 und 53 inklusive, wobei der erste Sonntag im Jahr das Startdatum von Woche 01 ist.

%V

Die ISO-8601:1988-Wochennummer als Zahl zwischen 01 und 53 inklusive, wobei Woche 01 die erste Woche, von der mindestens vier Tage im Jahr liegen; Montag ist erster Tag der Woche.

%w

Der Wochentag als Zahl zwischen 0 und 6 inklusive, wobei die 0 dem Sonntag entspricht.

%W

Die Wochennummer als Zahl zwischen 00 und 53 inklusive, wobei der erste Montag im Jahr das Startdatum von Woche 01 ist.

%y

Das Jahr als zweistellige Zahl zwischen 00 und 99 inklusive.

%Y

Das Jahr als vierstellige Zahl.

%%

Das Prozentzeichen selber.

Anwendungsbeispiel für die Ausgabe, von welchem Monat und Jahr bis zu welchem Monat und Jahr die aktuelle Abrechnungsperiode dauert: Abrechnungszeitrum: <%period_start_date FORMAT=%m/%Y%> bis <%period_end_date FORMAT=%m/%Y%>

Beim automatischen Versand der Rechnugen via E-Mail können neben diesen speziellen Variablen auch einige Eigenschaften der Rechnung selber als Variablen im Betreff & dem Text der E-Mails genutzt werden. Beispiele sind <%invnumber%> für die Rechnungsnummber oder <transaction_description%> für die Vorgangsbezeichnung. Diese Variablen stehen beim Erzeugen der Rechnung logischerweise noch nicht zur Verfügung.

3.1.4. Auflisten

Unter Verkauf->Berichte->Aufträge finden sich zwei neue Checkboxen, "Wiederkehrende Rechnungen aktiv" und "Wiederkehrende Rechnungen inaktiv", mit denen man sich einen Überglick über die wiederkehrenden Rechnungen verschaffen kann.

3.1.5. Erzeugung der eigentlichen Rechnungen

Die zeitliche und periodische Überprüfung, ob eine wiederkehrende Rechnung automatisch erstellt werden soll, geschieht durch den Task-Server, einen externen Dienst, der automatisch beim Start des Servers gestartet werden sollte.

3.1.6. Erste Rechnung für aktuellen Monat erstellen

Will man im laufenden Monat eine monatlich wiederkehrende Rechnung inkl. des laufenden Monats starten, stellt man das Startdatum auf den Monatsanfang und wartet ein paar Minuten, bis der Task-Server den neu konfigurieren Auftrag erkennt und daraus eine Rechnung generiert hat. Alternativ setzt man das Startdatum auf den Monatsersten des Folgemonats und erstellt die erste Rechnung direkt manuell über den Workflow.