<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<book id="kivitendo-documentation" lang="de">
- <title>kivitendo 3.4.1: Installation, Konfiguration, Entwicklung</title>
+ <title>kivitendo 3.5.0: Installation, Konfiguration, Entwicklung</title>
<chapter id="Aktuelle-Hinweise">
<title>Aktuelle Hinweise</title>
<para><literal>Email::MIME</literal></para>
</listitem>
- <listitem>
- <para><literal>MIME::Entity</literal></para>
- </listitem>
-
- <listitem>
- <para><literal>MIME::Parser</literal></para>
- </listitem>
-
<listitem>
<para><literal>FCGI</literal> (nicht Versionen 0.68 bis 0.71
inklusive; siehe <xref
</listitem>
<listitem>
- <para><literal>File::MimeInfo::Magic</literal></para>
+ <para><literal>File::MimeInfo</literal></para>
</listitem>
<listitem>
<para><literal>Text::Iconv</literal></para>
</listitem>
+ <listitem>
+ <para><literal>Text::Unidecode</literal></para>
+ </listitem>
+
<listitem>
<para><literal>URI</literal></para>
</listitem>
<para><literal>YAML</literal></para>
</listitem>
</itemizedlist>
+ <para>Seit Version größer v3.5.0 sind die folgenden Pakete hinzugekommen:
+ <literal>Text::Unidecode</literal></para>
<para>Seit Version v3.4.0 sind die folgenden Pakete hinzugekommen:
<literal>Algorithm::CheckDigits</literal><literal>PBKDF2::Tiny</literal></para>
libtext-iconv-perl liburi-perl libxml-writer-perl libyaml-perl \
libimage-info-perl libgd-gd2-perl libapache2-mod-fcgid \
libfile-copy-recursive-perl postgresql libalgorithm-checkdigits-perl \
- libcrypt-pbkdf2-perl git libcgi-pm-perl
+ libcrypt-pbkdf2-perl git libcgi-pm-perl libtext-unidecode-perl
</programlisting>
<para>Für das Paket HTML::Restrict gibt es kein Debian-Paket, dies
<para>Seit Version v3.4.0 wird für den Bankimport optional das Paket
'aqbanking-tools' benötigt.</para>
- <para>Ubuntu: <programlisting>apt install aqbanking-tools</programlisting></para>
+ <para>Debian und Ubuntu: <programlisting>apt install aqbanking-tools
+ </programlisting></para>
<para>OpenSuSE: <programlisting>zypper install aqbanking-tools</programlisting></para>
Seitenanzahl von PDF_Dokumenten 'pdfinfo' benötigt was im Paket
'poppler-utils' enthalten ist.</para>
- <para>Ubuntu: <programlisting>apt install poppler-utils</programlisting></para>
+ <para>Debian und Ubuntu: <programlisting>apt install poppler-utils
+ </programlisting></para>
<para>OpenSuSE: <programlisting>zypper install poppler-tools</programlisting></para>
</sect2>
<para>Wir empfehlen eine Installation mittels des Versionsmanagager
git. Hierfür muss ein git-Client installiert sein. Damit ist man sehr
viel flexibler für zukünftige Upgrades. Installations-Anleitung (bitte
- die Pfade anpassen) bspw. wie folgt: <programlisting>cd /usr/local/src/
+ die Pfade anpassen) bspw. wie folgt: <programlisting>cd /var/www/
git clone https://github.com/kivitendo/kivitendo-erp.git
cd kivitendo-erp/
git checkout `git tag -l | egrep -ve "(beta|rc)" | tail -1`</programlisting>
+ Erläuterung: Der Befehl wechselt zur letzten Stable-Version (git tag -l listet
+ alle Tags auf, das egrep schmeisst alle Einträge mit beta oder rc raus und
+ das tail gibt davon den obersten Treffer zurück).
+
Sehr sinnvoll ist es, direkt im Anschluss einen eigenen Branch zu
erzeugen, um bspw. seine eigenen Druckvorlagen-Anpassungen damit zu
verwalten. Hierfür reicht ein simples <programlisting> git checkout -b meine_eigenen_änderungen</programlisting>
nach dem letzten Kommando (weiterführende Informationen <ulink
- url="http://git-scm.com/book/en/v2/Getting-Started-Git-Basics">getting
- started with git</ulink>).</para>
+ url="http://www-cs-students.stanford.edu/~blynn/gitmagic/index.html">
+ Git Magic</ulink>).</para>
+
+<para>
+ Ein beispielhafter Workflow für Druckvorlagen-Anpassungen von 3.4.1 nach 3.5:
+ <programlisting>
+$ git clone https://github.com/kivitendo/kivitendo-erp.git
+$ cd kivitendo-erp/
+$ git checkout release-3.4.1 # das ist der aktuelle release, den wir wollen
+$ git add templates/fullhouse # das sind unsere druckvorlagen inkl. produktbilder
+$ git commit -m "juhu tolle ändernungen"
+[meine_aenderungen 1d89e41] juhu tolle ändernungen
+ 4 files changed, 380 insertions(+)
+ create mode 100644 templates/fullhouse/img/webdav/tesla.png
+ create mode 100644 templates/fullhouse/mahnung.tex
+ create mode 100644 templates/fullhouse/zahlungserinnerung_zwei.tex
+ create mode 100644 templates/fullhouse/zahlungserinnerung_zwei_invoice.tex
+
+# 5 Jahre später ...
+
+$ git fetch
+$ git rebase --onto release-3.5.0 release-3.4.1 meine_aenderungen
+Zunächst wird der Branch zurückgespult, um Ihre Änderungen
+darauf neu anzuwenden ...
+Wende an: juhu tolle ändernungen
+$ service apache2 restart
+</programlisting></para>
</note>
</sect1>
</Directory>
<Directory /var/www/kivitendo-erp/users>
- Order Deny,Allow
- Deny from All
+ Require all granted
</Directory></programlisting>
<para>Ersetzen Sie dabei die Pfade durch diejenigen, in die Sie vorher
Konfigurationsmöglichkeiten sprengen allerdings den Rahmen dieser
Anleitung, hier ein Hinweis auf einen entsprechenden <ulink
url="http://redmine.kivitendo-premium.de/boards/1/topics/142">Foreneintrag
- (Stand Sept. 2015)</ulink></para>
+ (Stand Sept. 2015)</ulink> und einen aktuellen (Stand Mai 2017)
+ <ulink url="https://mozilla.github.io/server-side-tls/ssl-config-generator/">
+ SSL-Konfigurations-Generator</ulink>.</para>
</sect2>
</sect1>
Servers integriert werden muss, damit er automatisch gestartet wird.
Dies kann kivitendo nicht für Sie erledigen.</para>
+ <para>Da der Taskserver als Perlscript läuft, wird Arbeitsspeicher,
+ der einmal benötigt wurde, nicht mehr an das Betriebssystem zurückgegeben,
+ solange der Taskserver läuft. Dies kann dazu führen, dass ein länger
+ laufender Taskserver mit der Zeit immer mehr Arbeitsspeicher für sich
+ beansprucht. Es ist deshalb sinnvoll, dass der Taskserver in regelmässigen
+ Abständen neu gestartet wird.</para>
+
<sect2 id="Konfiguration-des-Task-Servers">
<title>Verfügbare und notwendige Konfigurationsoptionen</title>
anstelle eines symbolischen Links verwendet werden können.</para>
<sect3>
- <title>SystemV-basierende Systeme (z.B. Debian, ältere OpenSUSE,
+ <title>SystemV-basierende Systeme (z.B. ältere Debian, ältere OpenSUSE,
ältere Fedora)</title>
<para>Kopieren Sie die Datei
<para>Debian-basierende Systeme:</para>
<programlisting>update-rc.d kivitendo-task-server defaults
-# Nur bei Debian Squeeze und neuer:
insserv kivitendo-task-server</programlisting>
</listitem>
<sect3>
<title>systemd-basierende Systeme (z.B. neure openSUSE, neuere
- Fedora, neuere Ubuntu und Debians)</title>
+ Fedora, neuere Ubuntu und neuere Debians)</title>
<para>Kopieren Sie die Datei <filename>scripts/boot/systemd/kivitendo-task-server.service</filename> nach
<filename>/etc/systemd/system/</filename>. Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeilen
und nicht nur Teile davon, da dies sonst oft zu einer odt-Datei führt,
die vom Parser nicht korrekt gelesen werden kann.</para>
+ <para>Mahnungen können unter folgenden Einschränkungen mit den odt-Vorlagen
+ im Vorlagensatz rev-odt erzeugt werden:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>als Druckoption steht nur 'PDF(OpenDocument/OASIS)' zur
+ Verfügung, das heisst, die Mahnungen werden als PDF-Datei ausgegeben.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>für jede Rechnung muss eine eigene Mahnung erzeugt werden
+ (auch wenn bei einzelnen KundInnen mehrere überfällige Rechnungen
+ vorhanden sind).</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Mehrere Mahnungen für eine Kundin / einen Kunden werden zu einer
+ PDF-Datei zusammengefasst</para>
+
+ <para>Die Vorlagen zahlungserinnerung.odt sowie mahnung.odt sind für das
+ Erstellen einer Zahlungserinnerung bzw. Mahnung selbst vorgesehen, die
+ Vorlage mahnung_invoice.odt für das Erstellen einer Rechnung über die
+ verrechneten Mahngebühren und Verzugszinsen.</para>
+
<para>Zur Zeit gibt es in kivitendo noch keine Möglichkeit,
- odt-Vorlagen bei Mahnungen, Briefen und Pflichtenheften einzusetzen.
+ odt-Vorlagen bei Briefen und Pflichtenheften einzusetzen.
Entsprechende Vorlagen sind deshalb nicht vorhanden.</para>
<para>Fehlermeldungen, Anregungen und Wünsche bitte senden an:
</sect2>
</sect1>
+ <sect1 id="nomenclature">
+ <title>Nomenklatur</title>
+
+ <sect2 id="booking.dates">
+ <title>Datum bei Buchungen</title>
+
+ <para>Seit der Version 3.5 werden für Buchungen in kivitendo einheitlich
+ folgende Bezeichnungen verwendet:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><option>Erfassungsdatum</option> (en: <option>Entry Date</option>,
+ code: <option>Gldate</option>)</para>
+
+ <para>bezeichnet das Datum, an dem die Buchung in kivitendo erfasst wurde.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><option>Buchungsdatum</option> (en: <option>Booking Date</option>,
+ code: <option>Transdate</option>)</para>
+
+ <para>bezeichnet das buchhaltungstechnisch für eine Buchung relevante
+ Datum</para>
+
+ <para>Das <option>Rechnungsdatum</option> bei Verkaufs- und
+ Einkaufsrechnungen entspricht dem Buchungsdatum. Das heisst, in
+ Berichten wie dem Buchungsjournal, in denen eine Spalte
+ <option>Buchungsdatum</option> angezeigt werden kann, erscheint hier
+ im Fall von Rechnungen das Rechnungsdatum.</para>
+ </listitem>
+
+ <listitem>
+ <para>Bezieht sich ein verbuchter Beleg auf einen Zeitpunkt, der nicht mit
+ dem Buchungsdatum übereinstimmt, so kann dieses Datum momentan in kivitendo
+ nur unter Bemerkungen erfasst werden.</para>
+
+ <para>Möglicherweise wird für solche Fälle in einer späteren Version von
+ kivitendo ein dritter Datumswert für Buchungen erstellt. (Beispiel:
+ Einkaufsbeleg stammt aus einem früheren Jahr, das bereits
+ buchhaltungstechnisch abgeschlossen wurde, und muss deshalb später
+ verbucht werden.)</para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+ </sect1>
+
<sect1 id="config.eur">
<title>Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
EUR</title>
<para><emphasis role="bold">Achtung:</emphasis> Werden Verkaufsbelege
in anderen Währungen als der Standardwährung erstellt, so muss in
- kivitendo 3.4.1 die Genauigkeit 0.01 verwendet werden.</para>
+ kivitendo ab Version 3.4.1 die Genauigkeit 0.01 verwendet werden.</para>
<para>Das heisst, Firmen in der Schweiz, die teilweise Verkaufsrechnungen
in Euro oder anderen Währungen erstellen wollen, müssen beim Erstellen
der Datenbank als Genauigkeit 0.01 wählen und können zur Zeit die
<sect1 id="features.swiss-charts-of-accounts">
<title>Schweizer Kontenpläne</title>
- <para>Seit der Version 3.4.1 stehen in kivitendo 2 Kontenpläne für
+ <para>Seit der Version 3.5 stehen in kivitendo 3 Kontenpläne für
den Einsatz in der Schweiz zur Verfügung, einer für Firmen und
- Organisationen, die nicht mehrwertsteuerpflichtig sind, und einer
- für Firmen, die mehrwertsteuerpflichtig sind.</para>
+ Organisationen, die nicht mehrwertsteuerpflichtig sind, einer
+ für Firmen, die mehrwertsteuerpflichtig sind und einer speziell
+ für Vereine.</para>
<para>Die Kontenpläne orientieren sich am in der Schweiz üblicherweise
verwendeten KMU-Kontenrahmen und sind mit der Revision des Schweizerischen
Obligationenrechts (OR) vom 1.1.2013 kompatibel, insbesondere
<literal>Art.957a Abs.2</literal>.</para>
+ <para>Beim Vereinskontenplan sind standardmässig nur die Konten 1100
+ (Debitoren CHF) und 1101 (Debitoren EUR) als Buchungskonten im Verkauf
+ sowie die Konten 2000 (Kreditoren CHF) und 2001 (Kreditoren EUR) als
+ Buchungskonten im Einkauf vorgesehen. Weitere Konten können bei Bedarf
+ in den Konto-Detaileinstellungen als Einkaufs- oder Verkaufskonten
+ konfiguriert werden.</para>
+
<para>Die Möglichkeit, Saldosteuersätze zu verwenden ist in der aktuellen
Version von kivitendo noch nicht integriert.</para>
<para>So werden bei Kreditorenbuchungen keine Vorsteuern verbucht.</para>
+ <para>Bezugssteuern für aus dem Ausland bezogene Dienstleistungen müssen
+ manuell verbucht werden.</para>
+
<para>Wünsche für Anpassungen an den Schweizer Kontenplänen sowie
Vorschläge für weitere (z.B. branchenspezifische) Kontenpläne
bitte an <literal>empfang@revamp-it.ch</literal> senden.</para>
</mediaobject>
</screenshot>
<para>Die einzelnen Backends sind einzeln einschaltbar. Spezifische Backend-Konfigurierungen sind hier
- noch ergänzbar. Für das Backend Dateisystem ist das Wurzelverzeichnis für den Mandanten einzugeben.</para>
+ noch ergänzbar.</para>
</sect4>
<sect4>
<title>Reiter "Allgemeine Dokumentenanhänge"</title>
direkt in der Datenbanktablle "user_preferences" einzurichten. Die "value" ist im JSON-Format
mit den jeweiligen Werten des Verzeichnisses und der Beschreibung der Quelle.</para>
<programlisting>
- id | login | namespace | version | key | value
+ id | login | namespace | version | key | value
----+-----------+--------------+---------+----------+---------------------------
1 | #default# | file_sources | 0.00000 | scanner1 |
{"dir":"/var/tmp/scanner1","desc":"Scanner Einkauf"}
<para>Es ist daran gedacht, statt dem default Eintrag später für bestimmte Benutzer ('login') bestimmte Quellen zuzulassen,
dies wird nach Bedarf implementiert.</para>
</sect3>
- </sect2>
+ <sect3 id="file_management.kiviconfig" xreflabel="kivitendo-Konfigurationsdatei">
+ <title>kivitendo-Konfigurationsdatei</title>
+ <para>Dort ist im Abschnitt [paths] der relative oder absolute Pfad zum Dokumentenwurzelverzeichnis einzutragen.
+ Dieser muss für den Webserver schreib- und lesbar sein, jedoch nicht ausführbar.</para>
+ <programlisting>
+[paths]
+document_path = /var/local/kivi_documents
+ </programlisting>
+ <para>Unter diesem Wurzelverzeichnis wird pro Mandant automatisch ein Unterverzeichnis mit der ID des Mandanten angelegt</para>
+ </sect3>
+ </sect2>
</sect1>
</chapter>
<literal>perl-URI-Find</literal>; openSUSE:
<literal>perl-URI-Find</literal>)</para>
</listitem>
+
+ <listitem>
+ <para><literal>Sys::CPU</literal> (Debian-Panetname: <literal>libsys-cpu-perl</literal>; Fedora und openSUSE: nicht
+ vorhanden)</para>
+ </listitem>
+
+ <listitem>
+ <para><literal>Thread::Pool::Simple</literal> (Debian-Panetname: <literal>libthread-pool-simple-perl</literal>; Fedora und
+ openSUSE: nicht vorhanden)</para>
+ </listitem>
</itemizedlist>
<para>Weitere Voraussetzung ist, dass die Testsuite ihre eigene