From: Werner Hahn Date: Fri, 22 Sep 2017 00:09:46 +0000 (+0200) Subject: WebshopApi: Dokumentation X-Git-Tag: release-3.5.4~771 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=5a2fd111d9a16f380fe93100ed434c6392da2b7e;p=kivitendo-erp.git WebshopApi: Dokumentation --- diff --git a/doc/UPGRADE b/doc/UPGRADE index 8ca825360..4d8054dd3 100644 --- a/doc/UPGRADE +++ b/doc/UPGRADE @@ -4,6 +4,24 @@ Wichtige Hinweise zum Upgrade von älteren Versionen ** BITTE FERTIGEN SIE VOR DEM UPGRADE EIN BACKUP IHRER DATENBANK(EN) AN! ** +Upgrade auf v3.5.1 + +* Neue Perlabhängigkeiten + + * LWP::Authen::Digest für WebshopApi + * LWP::UserAgent für WebshopApi + +* Verwendung der WebshopApi + + * Bestehende Datenbanken, die die WebshopApi verwenden sollen benötigen die + Postgres Erweiterung pg_trgm + Diese kann wie folgt installiert werden: + + su - postgres + psql + CREATE EXTENSION IF NOT EXISTS pg_trgm; + \q + Upgrade auf v3.5.0 =========================== diff --git a/doc/changelog b/doc/changelog index 0cd94581d..ca960b482 100644 --- a/doc/changelog +++ b/doc/changelog @@ -4,6 +4,14 @@ 2017-XX-XX - Release 3.5.X +große Features + +- WebshopApi + + WebshopApi mit bisher einem Konnektor für Shopware. + Damit ist es möglich Bestellungen aus dem Shop abzuholen und Artikel + abzugleichen. + kleinere neue Features und Detailverbesserungen: - SEPA-XML: alle Sonderzeichen filtern diff --git a/doc/dokumentation.xml b/doc/dokumentation.xml index 1244963de..8e2be2b56 100644 --- a/doc/dokumentation.xml +++ b/doc/dokumentation.xml @@ -143,8 +143,9 @@ Benötigte Perl-Pakete installieren Zum Betrieb von kivitendo werden zwingend ein Webserver (meist - Apache) und ein Datenbankserver (PostgreSQL) in einer aktuellen Version - (s.a. Liste der unterstützten Betriebssysteme) benötigt. + Apache) und ein Datenbankserver (PostgreSQL) in einer aktuellen + Version (s.a. Liste der unterstützten Betriebssysteme) + benötigt. Zusätzlich benötigt kivitendo einige Perl-Pakete, die nicht Bestandteil einer Standard-Perl-Installation sind. Um zu überprüfen, @@ -303,7 +304,7 @@ Text::Iconv - + Text::Unidecode @@ -319,8 +320,9 @@ YAML - Seit Version größer v3.5.0 sind die folgenden Pakete hinzugekommen: - Text::Unidecode + + Seit Version größer v3.5.0 sind die folgenden Pakete + hinzugekommen: Text::Unidecode Seit Version v3.4.0 sind die folgenden Pakete hinzugekommen: Algorithm::CheckDigitsPBKDF2::Tiny @@ -428,6 +430,7 @@ cpan HTML::Restrict cpan Rose::Db::Object + Andere Pakete installieren @@ -448,7 +451,6 @@ cpan HTML::Restrict OpenSuSE: zypper install poppler-tools - git clone https://github.com/kivitendo/kivitendo-erp.git cd kivitendo-erp/ git checkout `git tag -l | egrep -ve "(beta|rc)" | tail -1` - 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). - + 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 git checkout -b meine_eigenen_änderungen @@ -523,9 +524,8 @@ git checkout `git tag -l | egrep -ve "(beta|rc)" | tail -1` url="http://www-cs-students.stanford.edu/~blynn/gitmagic/index.html"> Git Magic). - - Ein beispielhafter Workflow für Druckvorlagen-Anpassungen von 3.4.1 nach 3.5: - + Ein beispielhafter Workflow für Druckvorlagen-Anpassungen von + 3.4.1 nach 3.5: $ 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 @@ -682,29 +682,40 @@ password = [system] default_manager = german - Für kivitendo Installationen in der Schweiz sollte hier german - durch swiss ersetzt werden. - Die Einstellung default_manager = swiss bewirkt: - - - Beim Erstellen einer neuen Datenbank in der kivitendo Administration - werden automatisch die Standard-Werte für die Schweiz voreingestellt: - Währung CHF, 5er-Rundung, Schweizer KMU-Kontenplan, Sollversteuerung, - Aufwandsmethode, Bilanzierung (die Werte können aber manuell angepasst werden). - - - Einstellen der Standardkonten für Rundungserträge und -aufwendungen - (unter Mandantenkonfiguration → Standardkonten veränderbar) - - - das verwendete Zahlenformat wird auf 1'000.00 eingestellt - (unter Programm → Benutzereinstellungen veränderbar) - - - DATEV-Automatik und UStVA werden nicht angezeigt, Erfolgsrechnung - ersetzt GUV ( unter Mandantenkonfiguration → Features veränderbar) - - + Für kivitendo Installationen in der Schweiz sollte hier + german durch swiss ersetzt + werden. + + Die Einstellung default_manager = swiss + bewirkt: + + + + Beim Erstellen einer neuen Datenbank in der kivitendo + Administration werden automatisch die Standard-Werte für die + Schweiz voreingestellt: Währung CHF, 5er-Rundung, Schweizer + KMU-Kontenplan, Sollversteuerung, Aufwandsmethode, Bilanzierung + (die Werte können aber manuell angepasst werden). + + + + Einstellen der Standardkonten für Rundungserträge und + -aufwendungen (unter Mandantenkonfiguration → Standardkonten + veränderbar) + + + + das verwendete Zahlenformat wird auf + 1'000.00 eingestellt (unter Programm → + Benutzereinstellungen veränderbar) + + + + DATEV-Automatik und UStVA werden nicht angezeigt, + Erfolgsrechnung ersetzt GUV ( unter Mandantenkonfiguration → + Features veränderbar) + + Nutzt man wiederkehrende Rechnungen, kann man unter [periodic_invoices] den Login eines Benutzers @@ -1038,7 +1049,6 @@ Require all denied Order Deny,Allow Deny from All - Seit mod_fcgid-Version 2.3.6 gelten sehr kleine Grenzen für @@ -1098,8 +1108,8 @@ Alias /url/for/kivitendo-erp-fcgid/ /path/to/kivitendo-erp/Foreneintrag - (Stand Sept. 2015) und einen aktuellen (Stand Mai 2017) - + (Stand Sept. 2015) und einen aktuellen (Stand Mai 2017) SSL-Konfigurations-Generator. @@ -1121,12 +1131,12 @@ Alias /url/for/kivitendo-erp-fcgid/ /path/to/kivitendo-erp/ - Da der Taskserver als Perlscript läuft, wird Arbeitsspeicher, - der einmal benötigt wurde, nicht mehr an das Betriebssystem zurückgegeben, + 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. + beansprucht. Es ist deshalb sinnvoll, dass der Taskserver in + regelmässigen Abständen neu gestartet wird. Verfügbare und notwendige Konfigurationsoptionen @@ -1191,8 +1201,8 @@ Alias /url/for/kivitendo-erp-fcgid/ /path/to/kivitendo-erp/ - SystemV-basierende Systeme (z.B. ältere Debian, ältere OpenSUSE, - ältere Fedora) + SystemV-basierende Systeme (z.B. ältere Debian, ältere + OpenSUSE, ältere Fedora) Kopieren Sie die Datei scripts/boot/system-v/kivitendo-task-server @@ -1241,18 +1251,23 @@ insserv kivitendo-task-server systemd-basierende Systeme (z.B. neure openSUSE, neuere Fedora, neuere Ubuntu und neuere Debians) - Kopieren Sie die Datei scripts/boot/systemd/kivitendo-task-server.service nach - /etc/systemd/system/. Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeilen - ExecStart=.... und ExecStop=...). + Kopieren Sie die Datei + scripts/boot/systemd/kivitendo-task-server.service + nach /etc/systemd/system/. Passen Sie in der + kopierten Datei den Pfad zum Task-Server an (Zeilen + ExecStart=.... und + ExecStop=...). - Machen Sie anschließend das Script systemd bekannt, und binden Sie es in den Boot-Prozess ein. Dazu führen Sie die folgenden - Befehl aus: + Machen Sie anschließend das Script systemd bekannt, und binden + Sie es in den Boot-Prozess ein. Dazu führen Sie die folgenden Befehl + aus: systemctl daemon-reload systemctl enable kivitendo-task-server.service - Wenn Sie den Task-Server jetzt sofort starten möchten, anstatt den Server neu zu starten, so können Sie das mit dem - folgenden Befehl tun: + Wenn Sie den Task-Server jetzt sofort starten möchten, anstatt + den Server neu zu starten, so können Sie das mit dem folgenden + Befehl tun: systemctl start kivitendo-task-server.service @@ -2234,14 +2249,14 @@ systemctl enable kivitendo-task-server.service und nicht nur Teile davon, da dies sonst oft zu einer odt-Datei führt, die vom Parser nicht korrekt gelesen werden kann. - Mahnungen können unter folgenden Einschränkungen mit den odt-Vorlagen - im Vorlagensatz rev-odt erzeugt werden: + Mahnungen können unter folgenden Einschränkungen mit den + odt-Vorlagen im Vorlagensatz rev-odt erzeugt werden: als Druckoption steht nur 'PDF(OpenDocument/OASIS)' zur - Verfügung, das heisst, die Mahnungen werden als PDF-Datei ausgegeben. - + Verfügung, das heisst, die Mahnungen werden als PDF-Datei + ausgegeben. @@ -2254,10 +2269,10 @@ systemctl enable kivitendo-task-server.service Mehrere Mahnungen für eine Kundin / einen Kunden werden zu einer PDF-Datei zusammengefasst - 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. + 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. Zur Zeit gibt es in kivitendo noch keine Möglichkeit, odt-Vorlagen bei Briefen und Pflichtenheften einzusetzen. @@ -2358,9 +2373,9 @@ systemctl enable kivitendo-task-server.service OpenDocument-Vorlagen kivitendo unterstützt die Verwendung von Vorlagen im - OpenDocument-Format, wie es LibreOffice oder OpenOffice (ab Version 2) erzeugen. - kivitendo kann dabei sowohl neue OpenDocument-Dokumente als auch aus - diesen direkt PDF-Dateien erzeugen. Um die Unterstützung von + OpenDocument-Format, wie es LibreOffice oder OpenOffice (ab Version 2) + erzeugen. kivitendo kann dabei sowohl neue OpenDocument-Dokumente als + auch aus diesen direkt PDF-Dateien erzeugen. Um die Unterstützung von OpenDocument-Vorlagen zu aktivieren muss in der Datei config/kivitendo.conf die Variable opendocument im Abschnitt @@ -2369,42 +2384,47 @@ systemctl enable kivitendo-task-server.service Während die Erzeugung von reinen OpenDocument-Dateien keinerlei weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF - LibreOffice oder OpenOffice benötigt. Soll dieses Feature genutzt werden, so muss - neben LibreOffice oder OpenOffice auch der “X virtual frame buffer” - (xvfb) installiert werden. Bei Debian ist er im Paket “xvfb” enthalten. - Andere Distributionen enthalten ihn in anderen Paketen. + LibreOffice oder OpenOffice benötigt. Soll dieses Feature genutzt + werden, so muss neben LibreOffice oder OpenOffice auch der “X virtual + frame buffer” (xvfb) installiert werden. Bei Debian ist er im Paket + “xvfb” enthalten. Andere Distributionen enthalten ihn in anderen + Paketen. Nach der Installation müssen in der Datei config/kivitendo.conf im Abschnitt - applications zwei weitere Variablen - angepasst werden: - openofficeorg_writer muss den - vollständigen Pfad zu LibreOffice oder OpenOffice enthalten. - Dabei dürfen keine Anführungszeichen eingesetzt werden. + applications zwei weitere Variablen angepasst + werden: + + openofficeorg_writer muss den vollständigen + Pfad zu LibreOffice oder OpenOffice enthalten. Dabei dürfen keine + Anführungszeichen eingesetzt werden. + Beispiel für Debian oder Ubuntu: + openofficeorg_writer = /usr/bin/libreoffice + xvfb muss den Pfad zum “X virtual frame buffer” enthalten. Zusätzlich gibt es zwei verschiedene Arten, wie kivitendo mit - LibreOffice bzw. OpenOffice kommuniziert. Die erste Variante, die benutzt - wird, wenn die Variable $openofficeorg_daemon gesetzt - ist, startet ein LibreOffice oder OpenOffice, das auch nach der Umwandlung - des Dokumentes gestartet bleibt. Bei weiteren Umwandlungen wird dann diese - laufende Instanz benutzt. Der Vorteil ist, dass die Zeit zur Umwandlung - deutlich reduziert wird, weil nicht für jedes Dokument ein LibreOffice bzw. - OpenOffice gestartet werden muss. Der Nachteil ist, dass diese Methode - Python und die Python-UNO-Bindings benötigt, die Bestandteil von LibreOffice - bzw. OpenOffice sind. + LibreOffice bzw. OpenOffice kommuniziert. Die erste Variante, die + benutzt wird, wenn die Variable $openofficeorg_daemon + gesetzt ist, startet ein LibreOffice oder OpenOffice, das auch nach der + Umwandlung des Dokumentes gestartet bleibt. Bei weiteren Umwandlungen + wird dann diese laufende Instanz benutzt. Der Vorteil ist, dass die Zeit + zur Umwandlung deutlich reduziert wird, weil nicht für jedes Dokument + ein LibreOffice bzw. OpenOffice gestartet werden muss. Der Nachteil ist, + dass diese Methode Python und die Python-UNO-Bindings benötigt, die + Bestandteil von LibreOffice bzw. OpenOffice sind. Für die Verbindung zu LibreOffice bzw. OpenOffice wird normalerweise der Python-Interpreter - /usr/bin/python benutzt. - Sollte dies nicht der richtige sein, so kann man mit zwei - Konfigurationsvariablen entscheiden, welcher Python-Interpreter - genutzt wird. Mit der Option python_uno aus dem - Abschnitt applications wird der Interpreter selber + /usr/bin/python benutzt. Sollte dies nicht der + richtige sein, so kann man mit zwei Konfigurationsvariablen + entscheiden, welcher Python-Interpreter genutzt wird. Mit der Option + python_uno aus dem Abschnitt + applications wird der Interpreter selber festgelegt; sie steht standardmäßig auf dem eben erwähnten Wert /usr/bin/python. @@ -2421,27 +2441,26 @@ systemctl enable kivitendo-task-server.service Ist $openofficeorg_daemon nicht gesetzt, so - wird für jedes Dokument LibreOffice bzw. OpenOffice neu gestartet - und die Konvertierung mit Hilfe eines Makros durchgeführt. Dieses - Makro muss in der Dokumentenvorlage enthalten sein und + wird für jedes Dokument LibreOffice bzw. OpenOffice neu gestartet und + die Konvertierung mit Hilfe eines Makros durchgeführt. Dieses Makro muss + in der Dokumentenvorlage enthalten sein und “Standard.Conversion.ConvertSelfToPDF()” heißen. Die Beispielvorlage - ‘templates/print/rev-odt/invoice.odt’ - enthält ein solches Makro, das in jeder anderen Dokumentenvorlage - ebenfalls enthalten sein muss. + ‘templates/print/rev-odt/invoice.odt’ enthält ein + solches Makro, das in jeder anderen Dokumentenvorlage ebenfalls + enthalten sein muss. - Als letztes muss herausgefunden werden, welchen Namen - OpenOffice bzw. LibreOffice dem Verzeichnis mit den Benutzereinstellungen - gibt. Unter Debian ist dies momentan - ~/.config/libreoffice. kivitendo verwendet das - Verzeichnis users/.openoffice.org2. - Eventuell muss dieses Verzeichnis umbenannt werden. + Als letztes muss herausgefunden werden, welchen Namen OpenOffice + bzw. LibreOffice dem Verzeichnis mit den Benutzereinstellungen gibt. + Unter Debian ist dies momentan ~/.config/libreoffice. + kivitendo verwendet das Verzeichnis + users/.openoffice.org2. Eventuell muss dieses + Verzeichnis umbenannt werden. Dieses Verzeichnis, wie auch das komplette users-Verzeichnis, muss vom Webserver beschreibbar sein. Dieses wurde bereits erledigt (siehe ), kann aber - erneut überprüft werden, wenn die Konvertierung nach PDF - fehlschlägt. + linkend="Manuelle-Installation-des-Programmpaketes"/>), kann aber erneut + überprüft werden, wenn die Konvertierung nach PDF fehlschlägt. OpenDocument (odt) Druckvorlagen mit Makros @@ -2482,22 +2501,21 @@ systemctl enable kivitendo-task-server.service - Druckerbeschreibung → aussagekräftiger Text: wird in - der Auftrags- bzw. Rechnungsmaske als Auswahl angezeigt (z.B. - mit Einzahlungsschein Bank xy) + Druckerbeschreibung → aussagekräftiger Text: wird in der + Auftrags- bzw. Rechnungsmaske als Auswahl angezeigt (z.B. mit + Einzahlungsschein Bank xy) - Druckbefehl → beliebiger Text (hat für das Erzeugen - von Aufträgen oder Rechnungen als odt-Datei keine Bedeutung, - darf aber nicht leer sein) + Druckbefehl → beliebiger Text (hat für das Erzeugen von + Aufträgen oder Rechnungen als odt-Datei keine Bedeutung, darf + aber nicht leer sein) - Vorlagenkürzel → besr bzw. selbst gewähltes - Vorlagensuffix (muss genau der Zeichenfolge entsprechen, die - zwischen "invoice_" bzw. "sales_order_" und ".odt" - steht.) + Vorlagenkürzel → besr bzw. selbst gewähltes Vorlagensuffix + (muss genau der Zeichenfolge entsprechen, die zwischen + "invoice_" bzw. "sales_order_" und ".odt" steht.) @@ -2516,8 +2534,7 @@ systemctl enable kivitendo-task-server.service - Programm → Benutzereinstellungen → - Druckoptionen + Programm → Benutzereinstellungen → Druckoptionen @@ -2529,8 +2546,8 @@ systemctl enable kivitendo-task-server.service - Standarddrucker → gewünschte Druckerbeschreibung - auswählen (z.B. mit Einzahlungsschein Bank xy) + Standarddrucker → gewünschte Druckerbeschreibung auswählen + (z.B. mit Einzahlungsschein Bank xy) @@ -2606,8 +2623,8 @@ systemctl enable kivitendo-task-server.service - DDDEND: muss am Ende der Zeile vorhanden sein - + DDDEND: muss am Ende der Zeile vorhanden sein + @@ -2655,8 +2672,7 @@ systemctl enable kivitendo-task-server.service - Extras → Optionen → Sicherheit → - Makrosicherheit + Extras → Optionen → Sicherheit → Makrosicherheit @@ -2668,8 +2684,8 @@ systemctl enable kivitendo-task-server.service Beim Öffnen einer odt-Rechnung oder eines odt-Auftrags bei - der entsprechenden Nachfrage "Makros ausführen" auswählen. - + der entsprechenden Nachfrage "Makros ausführen" + auswählen. Wichtig: die Makros sind so eingestellt, dass sie beim Öffnen der Vorlagen selbst nicht @@ -2688,42 +2704,42 @@ systemctl enable kivitendo-task-server.service Datum bei Buchungen - Seit der Version 3.5 werden für Buchungen in kivitendo einheitlich - folgende Bezeichnungen verwendet: + Seit der Version 3.5 werden für Buchungen in kivitendo + einheitlich folgende Bezeichnungen verwendet: - (en: , - code: ) + (en: , code: ) - bezeichnet das Datum, an dem die Buchung in kivitendo erfasst wurde. - + bezeichnet das Datum, an dem die Buchung in kivitendo + erfasst wurde. - (en: , - code: ) + (en: , code: ) - bezeichnet das buchhaltungstechnisch für eine Buchung relevante - Datum + bezeichnet das buchhaltungstechnisch für eine Buchung + relevante Datum Das bei Verkaufs- und Einkaufsrechnungen entspricht dem Buchungsdatum. Das heisst, in Berichten wie dem Buchungsjournal, in denen eine Spalte - angezeigt werden kann, erscheint hier - im Fall von Rechnungen das Rechnungsdatum. + angezeigt werden kann, erscheint + hier im Fall von Rechnungen das Rechnungsdatum. - 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. + 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. - 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.) + 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.) @@ -2814,21 +2830,23 @@ systemctl enable kivitendo-task-server.service eingestellt werden. Für die Schweiz sind folgende Einstellungen üblich: - + + + Sollversteuerung + + - Sollversteuerung + Aufwandsmethode + - Aufwandsmethode - - - Bilanzierung - - - Diese Einstellungen werden automatisch beim Erstellen einer neuen - Datenbank vorausgewählt, wenn in config/kivitendo.conf unter - [system] default_manager = swiss eingestellt ist. - + Bilanzierung + + Diese Einstellungen werden automatisch beim + Erstellen einer neuen Datenbank vorausgewählt, wenn in + config/kivitendo.conf unter + [system] default_manager = swiss + eingestellt ist. Beim Upgrade bestehender Mandanten wird eur ausgelesen und die Variablen werden so gesetzt, daß sich an der Funktionalität nichts @@ -2907,9 +2925,8 @@ systemctl enable kivitendo-task-server.service Die folgenden Schritte sind notwendig, um das Konto manuell anzulegen und zu konfigurieren. Zuerst wird in - System → - Kontenübersicht → Konto - erfassen das Konto angelegt. + System → Kontenübersicht → + Konto erfassen das Konto angelegt. Konto 3804 erfassen @@ -2940,9 +2957,8 @@ systemctl enable kivitendo-task-server.service Als Drittes wird ein neuer Eintrag mit Steuerschlüssel 13 für Konto 3804 (19%) angelegt. Dazu unter System → - Steuern → - Erfassen auswählen und die Werte aus dem - Screenshot übernehmen. + Steuern → Erfassen + auswählen und die Werte aus dem Screenshot übernehmen. Steuerschlüssel 13 für 3804 (19%) anlegen @@ -3045,88 +3061,102 @@ systemctl enable kivitendo-task-server.service - Erfolgsrechnung - - Seit der Version 3.4.1 existiert in kivitendo der Bericht - Erfolgsrechnung. - - Die Erfolgsrechnung kann in der Mandantenkonfiguration unter Features - an- oder abgeschaltet werden. Mit der Einstellung default_manager = swiss - in der config/kivitendo.conf wird beim neu Erstellen - einer Datenbank automatisch die Anzeige der Erfolgsrechnung im Menü Berichte - ausgewählt und ersetzt dort die GUV. - - Im Gegensatz zur GUV werden bei der Erfolgsrechnung sämtliche Aufwands- und - Erlöskonten einzeln aufgelistet (analog zur Bilanz), sortiert nach ERTRAG und AUFWAND. - - Bei den Konteneinstellungen muss bei jedem Konto, das in der Erfolgsrechnung - erscheinen soll, unter Sonstige Einstellungen/Erfolgsrechnung - entweder 01.Ertrag oder 06.Aufwand ausgewählt - werden. - - Wird bei einem Erlöskonto 06.Aufwand ausgewählt, - so wird dieses Konto als Aufwandsminderung unter AUFWAND aufgelistet. - - Wird bei einem Aufwandskonto 01.Ertrag ausgewählt, - so wird dieses Konto als Ertragsminderung unter ERTRAG aufgelistet. - - Soll bei einer bereits bestehenden Buchhaltung in Zukunft zusätzlich - die Erfolgsrechnung als Bericht verwendet werden, so müssen die Einstellungen - zu allen Erlös- und Aufwandskonten unter Sonstige - Einstellungen/Erfolgsrechnung überprüft und allenfalls neu gesetzt werden. + Erfolgsrechnung + + Seit der Version 3.4.1 existiert in kivitendo der Bericht + Erfolgsrechnung. + + Die Erfolgsrechnung kann in der Mandantenkonfiguration unter + Features an- oder abgeschaltet werden. Mit der Einstellung + default_manager = swiss in der + config/kivitendo.conf wird beim neu Erstellen einer + Datenbank automatisch die Anzeige der Erfolgsrechnung im Menü + Berichte ausgewählt und ersetzt dort die GUV. + + Im Gegensatz zur GUV werden bei der Erfolgsrechnung sämtliche + Aufwands- und Erlöskonten einzeln aufgelistet (analog zur Bilanz), + sortiert nach ERTRAG und AUFWAND. + + Bei den Konteneinstellungen muss bei jedem Konto, das in der + Erfolgsrechnung erscheinen soll, unter Sonstige + Einstellungen/Erfolgsrechnung entweder + 01.Ertrag oder 06.Aufwand + ausgewählt werden. + + Wird bei einem Erlöskonto 06.Aufwand + ausgewählt, so wird dieses Konto als Aufwandsminderung unter AUFWAND + aufgelistet. + + Wird bei einem Aufwandskonto 01.Ertrag + ausgewählt, so wird dieses Konto als Ertragsminderung unter ERTRAG + aufgelistet. + + Soll bei einer bereits bestehenden Buchhaltung in Zukunft + zusätzlich die Erfolgsrechnung als Bericht verwendet werden, so müssen + die Einstellungen zu allen Erlös- und Aufwandskonten unter + Sonstige Einstellungen/Erfolgsrechnung überprüft und + allenfalls neu gesetzt werden. - Rundung in Verkaufsbelegen + Rundung in Verkaufsbelegen - In der Schweiz hat die kleinste aktuell benutzte Münze den Wert von 5 Rappen (0.05 CHF). + In der Schweiz hat die kleinste aktuell benutzte Münze den Wert + von 5 Rappen (0.05 CHF). - Auch wenn im elektronischen Zahlungsverkehr Beträge mit einer Genauigkeit - von 0.01 CHF verwendet werden können, ist es trotzdem nach wie vor üblich, - Rechnungen mit auf 0.05 CHF gerundeten Beträgen auszustellen. + Auch wenn im elektronischen Zahlungsverkehr Beträge mit einer + Genauigkeit von 0.01 CHF verwendet werden können, ist es trotzdem nach + wie vor üblich, Rechnungen mit auf 0.05 CHF gerundeten Beträgen + auszustellen. - In kivitendo kann seit der Version 3.4.1 die Einstellung für eine solche - Rundung pro Mandant / Datenbank festgelegt werden. + In kivitendo kann seit der Version 3.4.1 die Einstellung für eine + solche Rundung pro Mandant / Datenbank festgelegt werden. - Die Einstellung wird beim Erstellen der Datenbank bei Genauigkeit - festgelegt. Sie kann anschliessend über das Webinterface von kivitendo nicht mehr - verändert werden. + Die Einstellung wird beim Erstellen der Datenbank bei + Genauigkeit festgelegt. Sie kann anschliessend über + das Webinterface von kivitendo nicht mehr verändert werden. - Abhängig vom Wert für default_manager in - config/kivitendo.conf werden dabei folgende - Werte voreingestellt: - + Abhängig vom Wert für default_manager in + config/kivitendo.conf werden dabei folgende Werte + voreingestellt: + + 0.05 (default_manager = swiss) + 0.01 (default_manager = german) + Der Wert wird in der Datenbank in der Tabelle defaults in der Spalte precision gespeichert. In allen Verkaufsangeboten, Verkaufsaufträgen, Verkaufsrechnungen - und Verkaufsgutschriften wird der Endbetrag inkl. MWST gerundet, - wenn dieser nicht der eingestellten Genauigkeit entspricht. + und Verkaufsgutschriften wird der Endbetrag inkl. MWST gerundet, wenn + dieser nicht der eingestellten Genauigkeit entspricht. Beim Buchen einer Verkaufsrechnung wird der Rundungsbetrag automatisch auf die in der Mandantenkonfiguration festgelegten - Standardkonten für Rundungserträge bzw. Rundungsaufwendungen gebucht. + Standardkonten für Rundungserträge bzw. Rundungsaufwendungen + gebucht. - (Die berechnete MWST wird durch den Rundungsbetrag nicht mehr verändert.) + (Die berechnete MWST wird durch den Rundungsbetrag nicht mehr + verändert.) Die in den Druckvorlagen zur Verfügung stehenden Variablen quototal, ordtotal bzw. invtotal enthalten den gerundeten Betrag. - Achtung: Werden Verkaufsbelege - in anderen Währungen als der Standardwährung erstellt, so muss in - kivitendo ab Version 3.4.1 die Genauigkeit 0.01 verwendet werden. - 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 - 5er Rundung noch nicht nutzen. + Achtung: Werden Verkaufsbelege in + anderen Währungen als der Standardwährung erstellt, so muss in kivitendo + ab Version 3.4.1 die Genauigkeit 0.01 verwendet werden. + + 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 5er Rundung noch nicht nutzen. @@ -3642,8 +3672,8 @@ systemctl enable kivitendo-task-server.service linkend="dokumentenvorlagen-und-variablen.tag-style"/>). kivitendo unterstützt LaTeX-, HTML- und OpenDocument-Vorlagen. - Sofern es nicht ausdrücklich eingeschränkt wird, gilt das im - Folgenden gesagte für alle Vorlagenarten. + Sofern es nicht ausdrücklich eingeschränkt wird, gilt das im Folgenden + gesagte für alle Vorlagenarten. Insgesamt sind technisch gesehen eine ganze Menge mehr Variablen verfügbar als hier aufgelistet werden. Die meisten davon können @@ -4937,8 +4967,8 @@ systemctl enable kivitendo-task-server.service rounding - Betrag, um den invtotal gerundet wurde - (kann positiv oder negativ sein) + Betrag, um den invtotal gerundet + wurde (kann positiv oder negativ sein) @@ -5392,7 +5422,9 @@ systemctl enable kivitendo-task-server.service unter einem ähnlichen Namensschema zur Verfügung. Hier lautet der Präfix shiptocvar_. - Analog stehen die benutzerdefinierten Variablen für Ansprechpersonen mit dem Namenspräfix cp_cvar_ zur Verfügung. + Analog stehen die benutzerdefinierten Variablen für + Ansprechpersonen mit dem Namenspräfix cp_cvar_ + zur Verfügung. @@ -5415,18 +5447,21 @@ systemctl enable kivitendo-task-server.service Allgemeine Variablen in Mahnungen - Die Variablen des Bearbeiters, bzw. Verkäufers stehen wie gewohnt als - employee_... bzw. salesman_... zur Verfügung. - Werden mehrere Rechnungen in einer Mahnung zusammengefasst, so werden - die Metadaten (Bearbeiter, Abteilung, etc) der ersten angemahnten Rechnung - im Ausdruck genommen. - Die Adressdaten des Kunden stehen als Variablen name, - street, zipcode, - city, country, - department_1, department_2, - und email zur Verfügung. Der Ansprechpartner cp_... - steht auch zu Verfügung, wird allerdings auch nur von der ersten angemahnten Rechnung (s.o.) - genommen. + Die Variablen des Bearbeiters, bzw. Verkäufers stehen wie + gewohnt als employee_... bzw. + salesman_... zur Verfügung. Werden mehrere + Rechnungen in einer Mahnung zusammengefasst, so werden die Metadaten + (Bearbeiter, Abteilung, etc) der ersten angemahnten Rechnung im + Ausdruck genommen. + + Die Adressdaten des Kunden stehen als Variablen + name, street, + zipcode, city, + country, department_1, + department_2, und email zur + Verfügung. Der Ansprechpartner cp_... steht auch + zu Verfügung, wird allerdings auch nur von der ersten angemahnten + Rechnung (s.o.) genommen. Weitere Variablen beinhalten: @@ -6284,18 +6319,19 @@ Beschreibung: <%description%> - - Mandantenkonfiguration Lager - - Die Lagerverwaltung in kivitendo funktioniert standardmässig wie folgt: Wird ein Lager mit einem Lagerplatz angelegt, so gibt es die - Möglichkeit hier über den Menüpunkt Lager entsprechende Warenbewegungen durchzuführen. Ferner kann jede Position eines Lieferscheins - ein-, bzw. ausgelagert werden (Einkauf-, bzw. Verkauf). Es können beliebig viele Lager mit beliebig vielen Lagerplätzen abgebildet - werden. Die Lagerbewegungen über einen Lieferschein erfolgt durch Anklicken jeder Einzelposition und das Auswählen dieser Position zu - einem Lager mit Lagerplatz. Dieses Verfahren lässt sich schrittweise vereinfachen, je nachdem wie die Einstellungen in der - Mandatenkonfiguration gesetzt werden. - + Die Lagerverwaltung in kivitendo funktioniert standardmässig wie + folgt: Wird ein Lager mit einem Lagerplatz angelegt, so gibt es die + Möglichkeit hier über den Menüpunkt Lager entsprechende Warenbewegungen + durchzuführen. Ferner kann jede Position eines Lieferscheins ein-, bzw. + ausgelagert werden (Einkauf-, bzw. Verkauf). Es können beliebig viele + Lager mit beliebig vielen Lagerplätzen abgebildet werden. Die + Lagerbewegungen über einen Lieferschein erfolgt durch Anklicken jeder + Einzelposition und das Auswählen dieser Position zu einem Lager mit + Lagerplatz. Dieses Verfahren lässt sich schrittweise vereinfachen, je + nachdem wie die Einstellungen in der Mandatenkonfiguration gesetzt + werden. @@ -6315,9 +6351,7 @@ Beschreibung: <%description%> - - Zusätzliche Funktionshinweise: - + Zusätzliche Funktionshinweise: @@ -6334,48 +6368,47 @@ Beschreibung: <%description%> verwendet. - - - Schweizer Kontenpläne - - 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, einer - für Firmen, die mehrwertsteuerpflichtig sind und einer speziell - für Vereine. - - 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 - Art.957a Abs.2. - - 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. - - Die Möglichkeit, Saldosteuersätze zu verwenden ist in der aktuellen - Version von kivitendo noch nicht integriert. - - Trotzdem können auch Firmen, die per Saldosteuersatz mit der - Eidgenössischen Steuerverwaltung abrechnen, kivitendo bereits nutzen. - Dazu wird der Kontenplan mit MWST ausgewählt. Anschliessend müssen - alle Aufwandskonten editiert werden und dort der Steuersatz auf 0% - gesetzt werden. - - So werden bei Kreditorenbuchungen keine Vorsteuern verbucht. - - Bezugssteuern für aus dem Ausland bezogene Dienstleistungen müssen - manuell verbucht werden. - - Wünsche für Anpassungen an den Schweizer Kontenplänen sowie - Vorschläge für weitere (z.B. branchenspezifische) Kontenpläne - bitte an empfang@revamp-it.ch senden. + Schweizer Kontenpläne + + 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, einer für + Firmen, die mehrwertsteuerpflichtig sind und einer speziell für + Vereine. + + 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 Art.957a Abs.2. + + 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. + + Die Möglichkeit, Saldosteuersätze zu verwenden ist in der + aktuellen Version von kivitendo noch nicht integriert. + + Trotzdem können auch Firmen, die per Saldosteuersatz mit der + Eidgenössischen Steuerverwaltung abrechnen, kivitendo bereits nutzen. + Dazu wird der Kontenplan mit MWST ausgewählt. Anschliessend müssen alle + Aufwandskonten editiert werden und dort der Steuersatz auf 0% gesetzt + werden. + + So werden bei Kreditorenbuchungen keine Vorsteuern + verbucht. + + Bezugssteuern für aus dem Ausland bezogene Dienstleistungen müssen + manuell verbucht werden. + + Wünsche für Anpassungen an den Schweizer Kontenplänen sowie + Vorschläge für weitere (z.B. branchenspezifische) Kontenpläne bitte an + empfang@revamp-it.ch senden. @@ -6384,13 +6417,13 @@ Beschreibung: <%description%> Übersicht - Die Klassifizierung von Artikeln dient einer weiteren Gliederung, - um zum Beispiel den Einkauf vom Verkauf zu trennen, gekennzeichnet - durch eine Beschreibung (z.B. "Einkauf") und ein Kürzel (z.B. "E"). - Für jede Klassifizierung besteht eine Beschreibung und eine Abkürzung - die normalerweise aus einem Zeichen besteht, kann aber auf mehrere - Zeichen erweitert werden, falls zur Unterscheidung notwendig. Sinnvoll - sind jedoch nur maximal 2 Zeichen. + Die Klassifizierung von Artikeln dient einer weiteren + Gliederung, um zum Beispiel den Einkauf vom Verkauf zu trennen, + gekennzeichnet durch eine Beschreibung (z.B. "Einkauf") und ein Kürzel + (z.B. "E"). Für jede Klassifizierung besteht eine Beschreibung und + eine Abkürzung die normalerweise aus einem Zeichen besteht, kann aber + auf mehrere Zeichen erweitert werden, falls zur Unterscheidung + notwendig. Sinnvoll sind jedoch nur maximal 2 Zeichen. @@ -6459,13 +6492,13 @@ Beschreibung: <%description%> - Für das Attribut "separat ausweisen" stehen in den LaTeX-Vorlagen - die Variable <%non_separate_subtotal%> - zur Verfügung, die alle nicht separat auszuweisenden - Artikelkosten saldiert, sowie pro separat auszuweisenden - Klassifizierungen die Variable< - %separate_X_subtotal%>, wobei X das Kürzel der - Klassifizierung ist. + Für das Attribut "separat ausweisen" stehen in den + LaTeX-Vorlagen die Variable <%non_separate_subtotal%> zur Verfügung, + die alle nicht separat auszuweisenden Artikelkosten saldiert, sowie + pro separat auszuweisenden Klassifizierungen die Variable< %separate_X_subtotal%>, wobei X das + Kürzel der Klassifizierung ist. Im obigen Beispiel wäre das für Lieferkosten <%separate_L_subtotal%> und für @@ -6494,27 +6527,38 @@ Beschreibung: <%description%> Übersicht - Parallel zum alten WebDAV gibt es ein Datei-Management-System, das Dateien - verschiedenen Typs verwaltet. Dies können + + Parallel zum alten WebDAV gibt es ein Datei-Management-System, + das Dateien verschiedenen Typs verwaltet. Dies können + - aus ERP-Daten per LaTeX Template erzeugte PDF-Dokumente, + aus ERP-Daten per LaTeX Template erzeugte + PDF-Dokumente, + - zu bestimmten ERP-Daten gehörende Anhangdateien unterschiedlichen Formats, + zu bestimmten ERP-Daten gehörende Anhangdateien + unterschiedlichen Formats, + per Scanner eingelesene PDF-Dateien, + - per E-Mail empfangene Dateianhänge unterschiedlichen Formats, + per E-Mail empfangene Dateianhänge unterschiedlichen + Formats, + sowie speziel für Artikel hochgeladene Bilder sein. + Übersicht + @@ -6526,165 +6570,233 @@ Beschreibung: <%description%> Struktur - Über eine vom Speichermedium unabhängige Zwischenschicht werden die Dateien und ihre Versionen in der Datenbank verwaltet. Darunter können verschiedene Implementierungen (Backends) gleichzeitig existieren: - + Über eine vom Speichermedium unabhängige Zwischenschicht werden + die Dateien und ihre Versionen in der Datenbank verwaltet. Darunter + können verschiedene Implementierungen (Backends) gleichzeitig + existieren: + Dateisystem + WebDAV + - Schnittstelle zu externen Dokumenten-Management-Systemen + Schnittstelle zu externen + Dokumenten-Management-Systemen + andere Datenbank + etc ... - Es gibt unterschiedliche Typen von Dateien. Jedem Typ läßt sich in der - Mandantenkonfiguration ein bestimmtes Backend zuordnen. - + + Es gibt unterschiedliche Typen von Dateien. Jedem Typ läßt sich + in der Mandantenkonfiguration ein bestimmtes Backend zuordnen. + - "document": Das sind entweder generierte, eingescannte oder hochgeladene PDF-Dateien, - die zu bestimmten ERP-Daten (ERP-Objekte, wie z.B. Rechnung, Lieferschein) gehören. + "document": Das sind entweder generierte, eingescannte oder + hochgeladene PDF-Dateien, die zu bestimmten ERP-Daten + (ERP-Objekte, wie z.B. Rechnung, Lieferschein) gehören. + - "attachment": zusätzlich hochgeladene Dokumente, die an bestimmte ERP-Objekte angehängt werden, - z.B. technische Zeichnungen, Aufmaße. Diese können auch für Artikel, - Lieferanten und Kunden hinterlegt sein. + "attachment": zusätzlich hochgeladene Dokumente, die an + bestimmte ERP-Objekte angehängt werden, z.B. technische + Zeichnungen, Aufmaße. Diese können auch für Artikel, Lieferanten + und Kunden hinterlegt sein. + - "image": Bilder für Artikel. Diese können auch verkleinert in einer Vorschau (Thumbnail) - angezeigt werden. + "image": Bilder für Artikel. Diese können auch verkleinert + in einer Vorschau (Thumbnail) angezeigt werden. - Zusätzlich werden in der Datenbank zu den Dateien neben der Zuordnung zu ERP-Objekten, Dateityp - Dateinamen und Backend, in dem die Datei gespeichert ist, auch die Quelle der Datei notiert: - + + Zusätzlich werden in der Datenbank zu den Dateien neben der + Zuordnung zu ERP-Objekten, Dateityp Dateinamen und Backend, in dem die + Datei gespeichert ist, auch die Quelle der Datei notiert: + - "created": vom System erzeugte Dokumente" + "created": vom System erzeugte Dokumente" + - "uploaded": hochgeladene Dokumente + "uploaded": hochgeladene Dokumente + - "email": vom Mail-System empfangene Dateien + "email": vom Mail-System empfangene Dateien + - "scanner[1]": von einem oder mehreren Scannern erzeugte Dateien. Existieren mehrere Scanner, - so sind diese durch unterschiedliche Quellennamen zu definieren. + "scanner[1]": von einem oder mehreren Scannern erzeugte + Dateien. Existieren mehrere Scanner, so sind diese durch + unterschiedliche Quellennamen zu definieren. - Je nach Dateityp sind nur bestimmte Quellen zulässig. So gibt es für "attachment" und "image" nur - die Quelle "uploaded". Für "document" gibt es auf jeden Fall die Quelle "created". - Die Quellen "scanner" und "email" müssen derzeit in der Datenbank konfiguriert werden - (siehe ). + + Je nach Dateityp sind nur bestimmte Quellen zulässig. So gibt es + für "attachment" und "image" nur die Quelle "uploaded". Für "document" + gibt es auf jeden Fall die Quelle "created". Die Quellen "scanner" und + "email" müssen derzeit in der Datenbank konfiguriert werden (siehe + ). Anwendung - Die Daten werden bei den ERP-Objekten als extra Reiter dargestellt. - Eine Verkaufsrechnung z.B. hat die - Reiter "Dokumente" und "Dateianhänge". + + Die Daten werden bei den ERP-Objekten als extra Reiter + dargestellt. Eine Verkaufsrechnung z.B. hat die Reiter "Dokumente" und + "Dateianhänge". + Reiter "Dateianhänge" + - + - Bei den Dateianhängen wird immer nur die aktuelle Version einer Datei angezeigt. - Wird eine Datei mit gleichem Namen hochgeladen, so wird eine neue Version der Datei erstellt. - Vorher wird der Anwender durch einen Dialog gefragt, ob er eine neue Version anlegen will oder - ob er die Datei umbenennen will, falls es eine neue Datei sein soll. + + Bei den Dateianhängen wird immer nur die aktuelle Version einer + Datei angezeigt. Wird eine Datei mit gleichem Namen hochgeladen, so + wird eine neue Version der Datei erstellt. Vorher wird der Anwender + durch einen Dialog gefragt, ob er eine neue Version anlegen will oder + ob er die Datei umbenennen will, falls es eine neue Datei sein + soll. + Reiter "Dateianhänge" + - + + Es können mehrere Dateien gleichzeitig hochgeladen werden, - solange in Summe die maximale Größe nicht überschritten wird - (siehe ). + solange in Summe die maximale Größe nicht überschritten wird (siehe + ). + Reiter "Dokumente" + - + - Sind keine weiteren Quellen für Dokumente konfiguriert, so gibt es nur "erzeugte Dokumente". - Es werden alle Versionen der generierten Datei angezeigt. Für Verkaufsrechnungen kommen keine - anderen Quellen zur Geltung. Werden entsprechend der - zusätzliche Quellen konfiguriert, so sind diese z.B. bei - Einkaufsrechnungen sichtbar: + + Sind keine weiteren Quellen für Dokumente konfiguriert, so gibt + es nur "erzeugte Dokumente". Es werden alle Versionen der generierten + Datei angezeigt. Für Verkaufsrechnungen kommen keine anderen Quellen + zur Geltung. Werden entsprechend der zusätzliche Quellen konfiguriert, + so sind diese z.B. bei Einkaufsrechnungen sichtbar: + Reiter "Dokumente" + - + - Statt des Löschens wird hier die Datei zurück zur Quelle verschoben. Somit kann die Datei anschließend - an ein anderes ERP-Objekt angehängt werden. - Derzeit sind "Titel" und "Beschreibung" noch nicht genutzt. Sie sind bisher nur bei Bildern relevant. + + Statt des Löschens wird hier die Datei zurück zur Quelle + verschoben. Somit kann die Datei anschließend an ein anderes + ERP-Objekt angehängt werden. + + Derzeit sind "Titel" und "Beschreibung" noch nicht genutzt. Sie + sind bisher nur bei Bildern relevant. Konfigurierung - + + Mandantenkonfiguration + Reiter "Features" - Unter dem Reiter Features im Abschnitt Dateimanagement ist - neben dem "alten" WebDAV das Dateimangement generell zu- und abschaltbar, sowie die Zuordnung der - Dateitypen zu Backends. Die Löschbarkeit von Dateien, sowie die maximale Uploadgröße sind Backend-unabhängig - - Mandantenkonfig Reiter "Features" - - - - - - - Die einzelnen Backends sind einzeln einschaltbar. Spezifische Backend-Konfigurierungen sind hier - noch ergänzbar. - + + Unter dem Reiter Features + im Abschnitt Dateimanagement ist neben dem "alten" WebDAV das + Dateimangement generell zu- und abschaltbar, sowie die Zuordnung + der Dateitypen zu Backends. Die Löschbarkeit von Dateien, sowie + die maximale Uploadgröße sind Backend-unabhängig + + + Mandantenkonfig Reiter "Features" + + + + + + + + + Die einzelnen Backends sind einzeln einschaltbar. + Spezifische Backend-Konfigurierungen sind hier noch + ergänzbar. + + Reiter "Allgemeine Dokumentenanhänge" - Unter dem Reiter Allgemeine Dokumentenanhänge - kann für alle ERP-Dokumente ( Angebote, Aufträge, Lieferscheine, Rechnungen im Verkauf und Einkauf ) - allgemeingültige Anhänge hochgeladen werden. - - Mandantenkonfig Reiter "Allgemeine Dokumentenanhänge" - - - - - - - Diese Anhänge werden beim Generieren von PDF-Dateien an die ERP-Dokumente angehängt, - z.B. AGBs oder aktuelle Angebote. Es werden in dem Fall die Daten kopiert, sodass an den ERP-Dokumenten immer - die Anhänge zum Generierungszeitpunkt eingebettet sind. - - + + Unter dem Reiter Allgemeine + Dokumentenanhänge kann für alle ERP-Dokumente ( + Angebote, Aufträge, Lieferscheine, Rechnungen im Verkauf und + Einkauf ) allgemeingültige Anhänge hochgeladen werden. + + + Mandantenkonfig Reiter "Allgemeine + Dokumentenanhänge" + + + + + + + + + Diese Anhänge werden beim Generieren von PDF-Dateien an die + ERP-Dokumente angehängt, z.B. AGBs oder aktuelle Angebote. Es + werden in dem Fall die Daten kopiert, sodass an den ERP-Dokumenten + immer die Anhänge zum Generierungszeitpunkt eingebettet + sind. + - + + Datenbank-Konfigurierung - Die zusätzlichen Quellen für "email" oder ein oder mehrere Scanner sind derzeit vom Administrator - direkt in der Datenbanktabelle "user_preferences" einzurichten. Die "value" ist im JSON-Format - mit den jeweiligen Werten des Verzeichnisses und der Beschreibung der Quelle. + + Die zusätzlichen Quellen für "email" oder ein oder mehrere + Scanner sind derzeit vom Administrator direkt in der + Datenbanktabelle "user_preferences" einzurichten. Die "value" ist im + JSON-Format mit den jeweiligen Werten des Verzeichnisses und der + Beschreibung der Quelle. + id | login | namespace | version | key | value ----+-----------+--------------+---------+----------+--------------------------- @@ -6695,20 +6807,252 @@ Beschreibung: <%description%> 3 | #default# | file_sources | 0.00000 | emails | {"dir":"/var/tmp/emails","desc":"Empfangene Mails" } - Es ist daran gedacht, statt dem Default-Eintrag später für bestimmte Benutzer ('login') bestimmte Quellen zuzulassen. - Dies wird nach Bedarf implementiert. + + Es ist daran gedacht, statt dem Default-Eintrag später für + bestimmte Benutzer ('login') bestimmte Quellen zuzulassen. Dies wird + nach Bedarf implementiert. - + + kivitendo-Konfigurationsdatei - 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. + + 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. + [paths] document_path = /var/local/kivi_documents - Unter diesem Wurzelverzeichnis wird pro Mandant automatisch ein Unterverzeichnis mit der ID des Mandanten angelegt. + + Unter diesem Wurzelverzeichnis wird pro Mandant automatisch + ein Unterverzeichnis mit der ID des Mandanten angelegt. + + + + + + Webshop-Api + + Das Shopmodul bietet die Möglichkeit Onlineshopartikel und + Onlineshopbestellungen zu verwalten und zu bearbeiten. + + Es ist Multishopfähig, d.h. Artikel können mehreren oder + unterschiedlichen Shops zugeordnet werden. Bestellungen können aus + mehreren Shops geholt werden. + + Zur Zeit bietet das Modul nur einen Connector zur REST-Api von + Shopware. Weitere Connectoren können dazu programmiert und eingerichtet + werden. + + + Installationvorraussetzungen + + In der Datenbank template1 muss die + Unterstützung für die trigram-Extension eingerichet werden. Melden Sie + sich dafür als Benutzer “postgres” an der Datenbank an: + su - postgres +psql template1 + + führen Sie die folgenden Kommandos aus: + + CREATE EXTENSION IF NOT EXISTS pg_trgm; +\q + + + + Rechte für die Webshopapi + + In der Administration können folgende Rechte vergeben + werden + + + + Webshopartikel anlegen und bearbeiten + + + + Shopbestellungen holen und bearbeiten + + + + Shopbestellungen holen und bearbeiten + + + + + + Konfiguration + + Unter System->Webshops können Shops angelegt und konfiguriert + werden + + + + + + + + + + Webshopartikel + + + Shopvariablenreiter in Artikelstammdaten + + Mit dem Recht "Shopartikel anlegen und bearbeiten" öffnet sich + der Reiter "Shopvariablen" in den Artikelstammdaten. Hier können + jetzt die Artikel mit unterschiedlichen Beschreibung und/oder + Preisen für die konfigutierten Shops angelegt und bearbeitet werden. + An dieser Stelle können auch beliebig viele Bilder dem Shopartikel + zugeordnet werden. Artikelbilder gelten für alle Shops. + + + + + + + + Die Artikelgruppen werden direkt vom Shopsystem geholt somit + ist es möglich einen Artikel auch mehreren Gruppen + zuzuordenen + + + + Shopartikelliste + + Unter dem Menu Webshop->Webshop Artikel hat man nochmal + eine Gesamtübersicht. Von hier aus ist es möglich Artikel im Stapel + unter verschiedenen Kriterien <alles><nur Preis><nur + Bestand><Preis und Bestand> an die jeweiligen Shops + hochzuladen. + + + + + + - + + + + Bestellimport + + Unter dem Menupunkt Webshop->Webshop Import öffnet sich die + Bestellimportsliste. Hier ist sind Möglichkeiten gegeben Neue + Bestellungen vom Shop abzuholen, geholte Bestellungen im Stapel oder + einzeln als Auftrag zu transferieren. Die Liste kann nach + verschiedenen Kriterien gefiltert werden. + + + + + + + + Bei Einträgen in der Liste. + + + + keine Kundennummer: Es gibt ähnliche Kundendatensätze und + der Datensatz konnte nicht eindeutig zugewiesen werden. + + + + Kundennummer und Rechnungen rot hinterlegt: Der Kunde hat + offene Posten und kann deswegen nicht im Stapel übernommen + werden. + + + + Rechnungsadresse grün hinterlegt: Der Kunde konnte eindeutig + einem Datensatz zugeordnet werden. Die Shopbestellung kann im + Stapel mit dem Button "Anwenden" und wenn markiert als Auftrag + übernommen werden. + + + + Kundennummer vorhanden, aber die Checkbox "Auftrag + erstellen" fehlt. Der Kunde hat vermutlich eine + Shopauftragssperre. + + + + Lieferadresse grau hinterlegt: Optische Anzeige, dass es + sich um eine unterschiedliche Lieferadresse handelt. + Lieferadressen werden aber grundsätzlich beim Transferieren zu + Aufträgen mit übernommen. + + + + In der Spalte Positionen/Betrag/Versandkosten zeigt sich ein + tooltip zu den Positionen. + + + + Maske Auftrag erstellen + + Viele Shopsysteme haben drei verschieden Adresstypen Kunden-, + Rechnungs-, und Lieferadresse, die sich auch alle unterscheiden + können. Diese werden im oberen Bereich angezeigt. Es ist möglich jede + dieser Adresse einzeln in kivitendo als Kunde zu übernehmen. Es werden + die Werte Formulareingabe übernommen. Es wird bei einer Änderung + allerdings nur diese in die kivitendo Kundenstammdaten übernommen, die + Shopbestellung bleibt bestehen. + + Mit der mittleren Adresse(Rechnungsadresse) im oberen Bereich, + kann ich den ausgewählten kivitendodatensatz des mittleren Bereich + überschreiben. Das ist sinnvoll, wenn ich erkenne, das der Kunde z.B. + umgezogen ist. + + Im mittleren Bereich das Adresslisting zeigt: + + + + Rot hinterlegt: Kunde hat eine Shopauftragssperre, diese + muss zuerst deaktiviert werden bevor ich diesem Kunden eine + Shopbestellung zuordnen kann. + + + + Kundenname fett und rot: Hier hat der Kunde eine Bemerkung + in den Stammdaten. Ein Tooltip zeigt diese Bemerkung. Das kann dan + auch der Grund für die Auftragssperre sein. + + + + Die Buttons "Auftrag erstellen" und "Kunde mit + Rechnungsadresse überschreiben" zeigen sich erst, wenn ein Kunde + aus dem Listing ausgewählt ist. + + + + Es ist aber möglich die Shopbestellung zu löschen. + + + + Ist eine Bestellung schon übernommen, zeigen sich an dieser + Stelle, die dazugehörigen Belegverknüpfungen. + + + + + + Mapping der Daten + + Das Mapping der kivitendo Daten mit den Shopdaten geschieht in + der Datei SL/ShopConnector/<SHOPCONNECTORNAME>.pm + z.B.:SL/ShopConnector/Shopware.pm + + In dieser Datei gibt es einen Bereich wo die Bestellpostionen, + die Bestellkopfdaten und die Artikeldaten gemapt werden. In dieser + Datei kann ein individelles Mapping dann gemacht werden. Zu Shopware + gibt es hier eine sehr gute Dokumentation: https://developers.shopware.com/developers-guide/rest-api/ + @@ -6992,7 +7336,8 @@ document_path = /var/local/kivi_documents - Enthält unter anderem Datumsformat dateformat und Nummernformat numberformat + Enthält unter anderem Datumsformat dateformat und + Nummernformat numberformat @@ -7981,12 +8326,14 @@ $self->{more_texts} = { - Sys::CPU (Debian-Panetname: libsys-cpu-perl; Fedora und openSUSE: nicht + Sys::CPU (Debian-Panetname: + libsys-cpu-perl; Fedora und openSUSE: nicht vorhanden) - Thread::Pool::Simple (Debian-Panetname: libthread-pool-simple-perl; Fedora und + Thread::Pool::Simple (Debian-Panetname: + libthread-pool-simple-perl; Fedora und openSUSE: nicht vorhanden) diff --git a/doc/html/ch02s02.html b/doc/html/ch02s02.html index 984b4e657..14aa6120b 100644 --- a/doc/html/ch02s02.html +++ b/doc/html/ch02s02.html @@ -9,8 +9,9 @@ dass kivitendo auf ihnen läuft:

  • Debian

    • 7.0 "Wheezy"

    • 8.0 "Jessie"

  • Ubuntu 12.04 LTS "Precise Pangolin", 14.04 "Trusty Tahr" LTS, 15.10 "Wily Werewolf" und 16.04 "Xenial Xerus" LTS Alpha

  • openSUSE LEAP 42.1

  • Fedora 22

2.2.2. Benötigte Perl-Pakete installieren

Zum Betrieb von kivitendo werden zwingend ein Webserver (meist - Apache) und ein Datenbankserver (PostgreSQL) in einer aktuellen Version - (s.a. Liste der unterstützten Betriebssysteme) benötigt.

Zusätzlich benötigt kivitendo einige Perl-Pakete, die nicht + Apache) und ein Datenbankserver (PostgreSQL) in einer aktuellen + Version (s.a. Liste der unterstützten Betriebssysteme) + benötigt.

Zusätzlich benötigt kivitendo einige Perl-Pakete, die nicht Bestandteil einer Standard-Perl-Installation sind. Um zu überprüfen, ob die erforderlichen Pakete installiert und aktuell genug sind, wird ein Script mitgeliefert, das wie folgt aufgerufen wird:

./scripts/installation_check.pl

Die vollständige Liste der benötigten Perl-Module lautet:

  • @@ -90,8 +91,8 @@ XML::Writer

  • YAML -

Seit Version größer v3.5.0 sind die folgenden Pakete hinzugekommen: - Text::Unidecode +

Seit Version größer v3.5.0 sind die folgenden Pakete + hinzugekommen: Text::Unidecode

Seit Version v3.4.0 sind die folgenden Pakete hinzugekommen: Algorithm::CheckDigits PBKDF2::Tiny diff --git a/doc/html/ch02s03.html b/doc/html/ch02s03.html index dcdc56156..642cb4cda 100644 --- a/doc/html/ch02s03.html +++ b/doc/html/ch02s03.html @@ -29,17 +29,15 @@ tar xvzf kivitendo-erp-3.4.1.tgz

Wechseln Sie in das entpackte Verzeichn git clone https://github.com/kivitendo/kivitendo-erp.git cd kivitendo-erp/ git checkout `git tag -l | egrep -ve "(beta|rc)" | tail -1`

- 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). - + 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

  git checkout -b meine_eigenen_änderungen

nach dem letzten Kommando (weiterführende Informationen - Git Magic).

- Ein beispielhafter Workflow für Druckvorlagen-Anpassungen von 3.4.1 nach 3.5: -

+        Git Magic).

Ein beispielhafter Workflow für Druckvorlagen-Anpassungen von + 3.4.1 nach 3.5:

 $ 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
diff --git a/doc/html/ch02s04.html b/doc/html/ch02s04.html
index 602342f6c..de56c6511 100644
--- a/doc/html/ch02s04.html
+++ b/doc/html/ch02s04.html
@@ -61,14 +61,20 @@ user     = postgres
 password =
 
 [system]
-default_manager = german

Für kivitendo Installationen in der Schweiz sollte hier german - durch swiss ersetzt werden.

Die Einstellung default_manager = swiss bewirkt:

  • Beim Erstellen einer neuen Datenbank in der kivitendo Administration - werden automatisch die Standard-Werte für die Schweiz voreingestellt: - Währung CHF, 5er-Rundung, Schweizer KMU-Kontenplan, Sollversteuerung, - Aufwandsmethode, Bilanzierung (die Werte können aber manuell angepasst werden).

  • Einstellen der Standardkonten für Rundungserträge und -aufwendungen - (unter Mandantenkonfiguration → Standardkonten veränderbar)

  • das verwendete Zahlenformat wird auf 1'000.00 eingestellt - (unter Programm → Benutzereinstellungen veränderbar)

  • DATEV-Automatik und UStVA werden nicht angezeigt, Erfolgsrechnung - ersetzt GUV ( unter Mandantenkonfiguration → Features veränderbar)

Nutzt man wiederkehrende Rechnungen, kann man unter +default_manager = german

Für kivitendo Installationen in der Schweiz sollte hier + german durch swiss ersetzt + werden.

Die Einstellung default_manager = swiss + bewirkt:

  • Beim Erstellen einer neuen Datenbank in der kivitendo + Administration werden automatisch die Standard-Werte für die + Schweiz voreingestellt: Währung CHF, 5er-Rundung, Schweizer + KMU-Kontenplan, Sollversteuerung, Aufwandsmethode, Bilanzierung + (die Werte können aber manuell angepasst werden).

  • Einstellen der Standardkonten für Rundungserträge und + -aufwendungen (unter Mandantenkonfiguration → Standardkonten + veränderbar)

  • das verwendete Zahlenformat wird auf + 1'000.00 eingestellt (unter Programm → + Benutzereinstellungen veränderbar)

  • DATEV-Automatik und UStVA werden nicht angezeigt, + Erfolgsrechnung ersetzt GUV ( unter Mandantenkonfiguration → + Features veränderbar)

Nutzt man wiederkehrende Rechnungen, kann man unter [periodic_invoices] den Login eines Benutzers angeben, der nach Erstellung der Rechnungen eine entsprechende E-Mail mit Informationen über die erstellten Rechnungen bekommt.

kivitendo bringt eine eigene Komponente zur zeitgesteuerten diff --git a/doc/html/ch02s06.html b/doc/html/ch02s06.html index 1a7a2e11c..8f2edd744 100644 --- a/doc/html/ch02s06.html +++ b/doc/html/ch02s06.html @@ -113,6 +113,5 @@ Alias /url/for/kivitendo-erp-fcgid/ /path/to/kivitendo-erp/ weiteren Zusatzmassnahmen, wie beispielsweise Basic Authenticate. Die Konfigurationsmöglichkeiten sprengen allerdings den Rahmen dieser Anleitung, hier ein Hinweis auf einen entsprechenden Foreneintrag - (Stand Sept. 2015) und einen aktuellen (Stand Mai 2017) - + (Stand Sept. 2015) und einen aktuellen (Stand Mai 2017) SSL-Konfigurations-Generator.

\ No newline at end of file diff --git a/doc/html/ch02s07.html b/doc/html/ch02s07.html index d87d7baeb..7b421fd7d 100644 --- a/doc/html/ch02s07.html +++ b/doc/html/ch02s07.html @@ -8,12 +8,12 @@ konfiguriert werden. Danach wird er für jeden Mandanten, für den er laufen soll, in der Adminsitrationsmaske eingeschaltet.

Beachten Sie, dass der Task-Server in den Boot-Vorgang Ihres Servers integriert werden muss, damit er automatisch gestartet wird. - Dies kann kivitendo nicht für Sie erledigen.

Da der Taskserver als Perlscript läuft, wird Arbeitsspeicher, - der einmal benötigt wurde, nicht mehr an das Betriebssystem zurückgegeben, + Dies kann kivitendo nicht für Sie erledigen.

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.

2.7.1. Verfügbare und notwendige Konfigurationsoptionen

Die Konfiguration erfolgt über den Abschnitt + beansprucht. Es ist deshalb sinnvoll, dass der Taskserver in + regelmässigen Abständen neu gestartet wird.

2.7.1. Verfügbare und notwendige Konfigurationsoptionen

Die Konfiguration erfolgt über den Abschnitt [task_server] in der Datei config/kivitendo.conf. Die dort verfügbaren Optionen sind:

@@ -39,8 +39,8 @@ Links aus einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess einzubinden. Da das bei neueren Linux-Distributionen aber nicht zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die - anstelle eines symbolischen Links verwendet werden können.

2.7.3.1. SystemV-basierende Systeme (z.B. ältere Debian, ältere OpenSUSE, - ältere Fedora)

Kopieren Sie die Datei + anstelle eines symbolischen Links verwendet werden können.

2.7.3.1. SystemV-basierende Systeme (z.B. ältere Debian, ältere + OpenSUSE, ältere Fedora)

Kopieren Sie die Datei scripts/boot/system-v/kivitendo-task-server nach /etc/init.d/kivitendo-task-server. Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile @@ -53,12 +53,17 @@ insserv kivitendo-task-server

  • Ältere OpenSUSE Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile exec ....).

    Danach kann der Task-Server mit dem folgenden Befehl gestartet werden:

    service kivitendo-task-server start
  • 2.7.3.3. systemd-basierende Systeme (z.B. neure openSUSE, neuere - Fedora, neuere Ubuntu und neuere Debians)

    Kopieren Sie die Datei scripts/boot/systemd/kivitendo-task-server.service nach - /etc/systemd/system/. Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeilen - ExecStart=.... und ExecStop=...).

    Machen Sie anschließend das Script systemd bekannt, und binden Sie es in den Boot-Prozess ein. Dazu führen Sie die folgenden - Befehl aus:

    systemctl daemon-reload
    -systemctl enable kivitendo-task-server.service

    Wenn Sie den Task-Server jetzt sofort starten möchten, anstatt den Server neu zu starten, so können Sie das mit dem - folgenden Befehl tun:

    systemctl start kivitendo-task-server.service

    2.7.4. Wie der Task-Server gestartet und beendet wird

    Der Task-Server wird wie folgt kontrolliert:

    ./scripts/task_server.pl Befehl

    + Fedora, neuere Ubuntu und neuere Debians)

    Kopieren Sie die Datei + scripts/boot/systemd/kivitendo-task-server.service + nach /etc/systemd/system/. Passen Sie in der + kopierten Datei den Pfad zum Task-Server an (Zeilen + ExecStart=.... und + ExecStop=...).

    Machen Sie anschließend das Script systemd bekannt, und binden + Sie es in den Boot-Prozess ein. Dazu führen Sie die folgenden Befehl + aus:

    systemctl daemon-reload
    +systemctl enable kivitendo-task-server.service

    Wenn Sie den Task-Server jetzt sofort starten möchten, anstatt + den Server neu zu starten, so können Sie das mit dem folgenden + Befehl tun:

    systemctl start kivitendo-task-server.service

    2.7.4. Wie der Task-Server gestartet und beendet wird

    Der Task-Server wird wie folgt kontrolliert:

    ./scripts/task_server.pl Befehl

    Befehl ist dabei eine der folgenden Optionen:

    • start startet eine neue Instanz des diff --git a/doc/html/ch02s12.html b/doc/html/ch02s12.html index cf0d975b9..2a74ae39f 100644 --- a/doc/html/ch02s12.html +++ b/doc/html/ch02s12.html @@ -154,16 +154,16 @@ den eigenen Bedürfnissen angepasst werden. Wichtig beim Editieren von if-Blöcken ist, dass immer der gesamte Block überschrieben werden muss und nicht nur Teile davon, da dies sonst oft zu einer odt-Datei führt, - die vom Parser nicht korrekt gelesen werden kann.

      Mahnungen können unter folgenden Einschränkungen mit den odt-Vorlagen - im Vorlagensatz rev-odt erzeugt werden:

      • als Druckoption steht nur 'PDF(OpenDocument/OASIS)' zur - Verfügung, das heisst, die Mahnungen werden als PDF-Datei ausgegeben. -

      • für jede Rechnung muss eine eigene Mahnung erzeugt werden + die vom Parser nicht korrekt gelesen werden kann.

        Mahnungen können unter folgenden Einschränkungen mit den + odt-Vorlagen im Vorlagensatz rev-odt erzeugt werden:

        • als Druckoption steht nur 'PDF(OpenDocument/OASIS)' zur + Verfügung, das heisst, die Mahnungen werden als PDF-Datei + ausgegeben.

        • für jede Rechnung muss eine eigene Mahnung erzeugt werden (auch wenn bei einzelnen KundInnen mehrere überfällige Rechnungen vorhanden sind).

        Mehrere Mahnungen für eine Kundin / einen Kunden werden zu einer - PDF-Datei zusammengefasst

        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.

        Zur Zeit gibt es in kivitendo noch keine Möglichkeit, + PDF-Datei zusammengefasst

        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.

        Zur Zeit gibt es in kivitendo noch keine Möglichkeit, odt-Vorlagen bei Briefen und Pflichtenheften einzusetzen. Entsprechende Vorlagen sind deshalb nicht vorhanden.

        Fehlermeldungen, Anregungen und Wünsche bitte senden an: empfang@revamp-it.ch

      2.12.5. Allgemeine Hinweise zu LaTeX Vorlagen

      In den allermeisten Installationen sollte das Drucken jetzt diff --git a/doc/html/ch02s13.html b/doc/html/ch02s13.html index 2e4d9c625..a4c217b9c 100644 --- a/doc/html/ch02s13.html +++ b/doc/html/ch02s13.html @@ -1,42 +1,43 @@ 2.13. OpenDocument-Vorlagen

      2.13. OpenDocument-Vorlagen

      kivitendo unterstützt die Verwendung von Vorlagen im - OpenDocument-Format, wie es LibreOffice oder OpenOffice (ab Version 2) erzeugen. - kivitendo kann dabei sowohl neue OpenDocument-Dokumente als auch aus - diesen direkt PDF-Dateien erzeugen. Um die Unterstützung von + OpenDocument-Format, wie es LibreOffice oder OpenOffice (ab Version 2) + erzeugen. kivitendo kann dabei sowohl neue OpenDocument-Dokumente als + auch aus diesen direkt PDF-Dateien erzeugen. Um die Unterstützung von OpenDocument-Vorlagen zu aktivieren muss in der Datei config/kivitendo.conf die Variable opendocument im Abschnitt print_templates auf ‘1’ stehen. Dieses ist die Standardeinstellung.

      Während die Erzeugung von reinen OpenDocument-Dateien keinerlei weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF - LibreOffice oder OpenOffice benötigt. Soll dieses Feature genutzt werden, so muss - neben LibreOffice oder OpenOffice auch der “X virtual frame buffer” - (xvfb) installiert werden. Bei Debian ist er im Paket “xvfb” enthalten. - Andere Distributionen enthalten ihn in anderen Paketen.

      Nach der Installation müssen in der Datei + LibreOffice oder OpenOffice benötigt. Soll dieses Feature genutzt + werden, so muss neben LibreOffice oder OpenOffice auch der “X virtual + frame buffer” (xvfb) installiert werden. Bei Debian ist er im Paket + “xvfb” enthalten. Andere Distributionen enthalten ihn in anderen + Paketen.

      Nach der Installation müssen in der Datei config/kivitendo.conf im Abschnitt - applications zwei weitere Variablen - angepasst werden:

      - openofficeorg_writer muss den - vollständigen Pfad zu LibreOffice oder OpenOffice enthalten. - Dabei dürfen keine Anführungszeichen eingesetzt werden.

      Beispiel für Debian oder Ubuntu:

      openofficeorg_writer = /usr/bin/libreoffice

      + applications zwei weitere Variablen angepasst + werden:

      + openofficeorg_writer muss den vollständigen + Pfad zu LibreOffice oder OpenOffice enthalten. Dabei dürfen keine + Anführungszeichen eingesetzt werden.

      Beispiel für Debian oder Ubuntu:

      openofficeorg_writer = /usr/bin/libreoffice

      xvfb muss den Pfad zum “X virtual frame buffer” enthalten.

      Zusätzlich gibt es zwei verschiedene Arten, wie kivitendo mit - LibreOffice bzw. OpenOffice kommuniziert. Die erste Variante, die benutzt - wird, wenn die Variable $openofficeorg_daemon gesetzt - ist, startet ein LibreOffice oder OpenOffice, das auch nach der Umwandlung - des Dokumentes gestartet bleibt. Bei weiteren Umwandlungen wird dann diese - laufende Instanz benutzt. Der Vorteil ist, dass die Zeit zur Umwandlung - deutlich reduziert wird, weil nicht für jedes Dokument ein LibreOffice bzw. - OpenOffice gestartet werden muss. Der Nachteil ist, dass diese Methode - Python und die Python-UNO-Bindings benötigt, die Bestandteil von LibreOffice - bzw. OpenOffice sind.

      [Anmerkung]Anmerkung

      Für die Verbindung zu LibreOffice bzw. OpenOffice wird + LibreOffice bzw. OpenOffice kommuniziert. Die erste Variante, die + benutzt wird, wenn die Variable $openofficeorg_daemon + gesetzt ist, startet ein LibreOffice oder OpenOffice, das auch nach der + Umwandlung des Dokumentes gestartet bleibt. Bei weiteren Umwandlungen + wird dann diese laufende Instanz benutzt. Der Vorteil ist, dass die Zeit + zur Umwandlung deutlich reduziert wird, weil nicht für jedes Dokument + ein LibreOffice bzw. OpenOffice gestartet werden muss. Der Nachteil ist, + dass diese Methode Python und die Python-UNO-Bindings benötigt, die + Bestandteil von LibreOffice bzw. OpenOffice sind.

      [Anmerkung]Anmerkung

      Für die Verbindung zu LibreOffice bzw. OpenOffice wird normalerweise der Python-Interpreter - /usr/bin/python benutzt. - Sollte dies nicht der richtige sein, so kann man mit zwei - Konfigurationsvariablen entscheiden, welcher Python-Interpreter - genutzt wird. Mit der Option python_uno aus dem - Abschnitt applications wird der Interpreter selber + /usr/bin/python benutzt. Sollte dies nicht der + richtige sein, so kann man mit zwei Konfigurationsvariablen + entscheiden, welcher Python-Interpreter genutzt wird. Mit der Option + python_uno aus dem Abschnitt + applications wird der Interpreter selber festgelegt; sie steht standardmäßig auf dem eben erwähnten Wert /usr/bin/python.

      Zusätzlich ist es möglich, Pfade anzugeben, in denen Python neben seinen normalen Suchpfaden ebenfalls nach Modulen gesucht wird, @@ -48,22 +49,21 @@ voneinander getrennt werden. Der Inhalt wird an den Python-Interpreter über die Umgebungsvariable PYTHONPATH übergeben.

      Ist $openofficeorg_daemon nicht gesetzt, so - wird für jedes Dokument LibreOffice bzw. OpenOffice neu gestartet - und die Konvertierung mit Hilfe eines Makros durchgeführt. Dieses - Makro muss in der Dokumentenvorlage enthalten sein und + wird für jedes Dokument LibreOffice bzw. OpenOffice neu gestartet und + die Konvertierung mit Hilfe eines Makros durchgeführt. Dieses Makro muss + in der Dokumentenvorlage enthalten sein und “Standard.Conversion.ConvertSelfToPDF()” heißen. Die Beispielvorlage - ‘templates/print/rev-odt/invoice.odt’ - enthält ein solches Makro, das in jeder anderen Dokumentenvorlage - ebenfalls enthalten sein muss.

      Als letztes muss herausgefunden werden, welchen Namen - OpenOffice bzw. LibreOffice dem Verzeichnis mit den Benutzereinstellungen - gibt. Unter Debian ist dies momentan - ~/.config/libreoffice. kivitendo verwendet das - Verzeichnis users/.openoffice.org2. - Eventuell muss dieses Verzeichnis umbenannt werden.

      Dieses Verzeichnis, wie auch das komplette + ‘templates/print/rev-odt/invoice.odt’ enthält ein + solches Makro, das in jeder anderen Dokumentenvorlage ebenfalls + enthalten sein muss.

      Als letztes muss herausgefunden werden, welchen Namen OpenOffice + bzw. LibreOffice dem Verzeichnis mit den Benutzereinstellungen gibt. + Unter Debian ist dies momentan ~/.config/libreoffice. + kivitendo verwendet das Verzeichnis + users/.openoffice.org2. Eventuell muss dieses + Verzeichnis umbenannt werden.

      Dieses Verzeichnis, wie auch das komplette users-Verzeichnis, muss vom Webserver beschreibbar - sein. Dieses wurde bereits erledigt (siehe Manuelle Installation des Programmpaketes), kann aber - erneut überprüft werden, wenn die Konvertierung nach PDF - fehlschlägt.

      2.13.1. OpenDocument (odt) Druckvorlagen mit Makros

      OpenDocument Vorlagen können Makros enthalten, welche komplexere + sein. Dieses wurde bereits erledigt (siehe Manuelle Installation des Programmpaketes), kann aber erneut + überprüft werden, wenn die Konvertierung nach PDF fehlschlägt.

      2.13.1. OpenDocument (odt) Druckvorlagen mit Makros

      OpenDocument Vorlagen können Makros enthalten, welche komplexere Aufgaben erfüllen.

      Der Vorlagensatz "rev-odt" enthält solche Vorlagen mit Schweizer Bank-Einzahlungsscheinen (BESR). Diese Makros haben die Aufgabe, die in den Einzahlungsscheinen benötigte Referenznummer und Kodierzeile zu erzeugen. Hier eine kurze @@ -73,19 +73,17 @@ sales_order_besr.odt

      2.13.1.2. Vorbereitungen im Adminbereich

      Damit beim Erstellen von Rechnungen und Aufträgen neben der Standardvorlage ohne Einzahlungsschein weitere Vorlagen (z.B. mit Einzahlungsschein) auswählbar sind, muss für jedes Vorlagen-Suffix - ein Drucker eingerichtet werden:

      • Druckeradministration → Drucker hinzufügen

      • Mandant wählen

      • Druckerbeschreibung → aussagekräftiger Text: wird in - der Auftrags- bzw. Rechnungsmaske als Auswahl angezeigt (z.B. - mit Einzahlungsschein Bank xy)

      • Druckbefehl → beliebiger Text (hat für das Erzeugen - von Aufträgen oder Rechnungen als odt-Datei keine Bedeutung, - darf aber nicht leer sein)

      • Vorlagenkürzel → besr bzw. selbst gewähltes - Vorlagensuffix (muss genau der Zeichenfolge entsprechen, die - zwischen "invoice_" bzw. "sales_order_" und ".odt" - steht.)

      • speichern

      2.13.1.3. Benutzereinstellungen

      Wer den Ausdruck mit Einzahlungsschein als Standardeinstellung + ein Drucker eingerichtet werden:

      • Druckeradministration → Drucker hinzufügen

      • Mandant wählen

      • Druckerbeschreibung → aussagekräftiger Text: wird in der + Auftrags- bzw. Rechnungsmaske als Auswahl angezeigt (z.B. mit + Einzahlungsschein Bank xy)

      • Druckbefehl → beliebiger Text (hat für das Erzeugen von + Aufträgen oder Rechnungen als odt-Datei keine Bedeutung, darf + aber nicht leer sein)

      • Vorlagenkürzel → besr bzw. selbst gewähltes Vorlagensuffix + (muss genau der Zeichenfolge entsprechen, die zwischen + "invoice_" bzw. "sales_order_" und ".odt" steht.)

      • speichern

      2.13.1.3. Benutzereinstellungen

      Wer den Ausdruck mit Einzahlungsschein als Standardeinstellung im Rechnungs- bzw. Auftragsformular angezeigt haben möchte, kann dies persönlich für sich bei den Benutzereinstellungen - konfigurieren:

      • Programm → Benutzereinstellungen → - Druckoptionen

      • Standardvorlagenformat → OpenDocument/OASIS

      • Standardausgabekanal → Bildschirm

      • Standarddrucker → gewünschte Druckerbeschreibung - auswählen (z.B. mit Einzahlungsschein Bank xy)

      • Anzahl Kopien → leer

      • speichern

      2.13.1.4. Aufbau und nötige Anpassungen der Vorlagen

      In der Vorlage sind als Modul "BESR" 4 Makros gespeichert, die + konfigurieren:

      • Programm → Benutzereinstellungen → Druckoptionen

      • Standardvorlagenformat → OpenDocument/OASIS

      • Standardausgabekanal → Bildschirm

      • Standarddrucker → gewünschte Druckerbeschreibung auswählen + (z.B. mit Einzahlungsschein Bank xy)

      • Anzahl Kopien → leer

      • speichern

      2.13.1.4. Aufbau und nötige Anpassungen der Vorlagen

      In der Vorlage sind als Modul "BESR" 4 Makros gespeichert, die aus dem von kivitendo erzeugten odt-Dokument die korrekte Referenznummer inklusive Prüfziffer sowie die Kodierzeile in OCRB-Schrift erzeugen und am richtigen Ort ins Dokument @@ -122,13 +120,12 @@ wurde.

      2.13.1.6. Makroeinstellungen in LibreOffice anpassen

      Falls beim Öffnen einer von kivitendo erzeugten odt-Rechnung die Meldung kommt, dass Makros aus Sicherheitsgründen nicht ausgeführt werden, so müssen folgende Einstellungen in LibreOffice - angepasst werden:

      • Extras → Optionen → Sicherheit → - Makrosicherheit

      • Sicherheitslevel auf "Mittel" einstellen (Diese + angepasst werden:

        • Extras → Optionen → Sicherheit → Makrosicherheit

        • Sicherheitslevel auf "Mittel" einstellen (Diese Einstellung muss auf jedem Computer durchgeführt werden, mit dem von kivitendo erzeugte odt-Rechnungen oder Aufträge geöffnet werden.)

        • Beim Öffnen einer odt-Rechnung oder eines odt-Auftrags bei - der entsprechenden Nachfrage "Makros ausführen" auswählen. -

          + der entsprechenden Nachfrage "Makros ausführen" + auswählen.

          Wichtig: die Makros sind so eingestellt, dass sie beim Öffnen der Vorlagen selbst nicht ausgeführt werden. Das heisst für das Ansehen und Bearbeiten der diff --git a/doc/html/ch02s14.html b/doc/html/ch02s14.html index b70edc8e0..e27af3111 100644 --- a/doc/html/ch02s14.html +++ b/doc/html/ch02s14.html @@ -1,21 +1,21 @@ - 2.14. Nomenklatur

          2.14. Nomenklatur

          2.14.1. Datum bei Buchungen

          Seit der Version 3.5 werden für Buchungen in kivitendo einheitlich - folgende Bezeichnungen verwendet:

          • - Erfassungsdatum (en: Entry Date, - code: Gldate)

            bezeichnet das Datum, an dem die Buchung in kivitendo erfasst wurde. -

          • - Buchungsdatum (en: Booking Date, - code: Transdate)

            bezeichnet das buchhaltungstechnisch für eine Buchung relevante - Datum

            Das Rechnungsdatum bei Verkaufs- und + 2.14. Nomenklatur

            2.14. Nomenklatur

            2.14.1. Datum bei Buchungen

            Seit der Version 3.5 werden für Buchungen in kivitendo + einheitlich folgende Bezeichnungen verwendet:

            • + Erfassungsdatum (en: Entry + Date, code: Gldate)

              bezeichnet das Datum, an dem die Buchung in kivitendo + erfasst wurde.

            • + Buchungsdatum (en: Booking + Date, code: Transdate)

              bezeichnet das buchhaltungstechnisch für eine Buchung + relevante Datum

              Das Rechnungsdatum bei Verkaufs- und Einkaufsrechnungen entspricht dem Buchungsdatum. Das heisst, in Berichten wie dem Buchungsjournal, in denen eine Spalte - Buchungsdatum angezeigt werden kann, erscheint hier - im Fall von Rechnungen das Rechnungsdatum.

            • 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.

              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.)

          4.1.3.7. $::instance_conf

          • Objekt der Klasse "SL::InstanceConfiguration"

          • wird pro Request neu erstellt

          Funktioniert wie $::lx_office_conf, speichert aber Daten die von der Instanz abhängig sind. Eine Instanz ist hier eine Mandantendatenbank. Beispielsweise überprüft

          $::instance_conf->get_inventory_system eq 'perpetual'

          - ob die berüchtigte Bestandsmethode zur Anwendung kommt.

          4.1.3.8. $::dispatcher

          • Objekt der Klasse + ob die berüchtigte Bestandsmethode zur Anwendung kommt.

          4.1.3.8. $::dispatcher

          • Objekt der Klasse "SL::Dispatcher"

          • wird pro Serverprozess erstellt.

          • enthält Informationen über die technische Verbindung zum Server

          Der dritte Punkt ist auch der einzige Grund warum das Objekt global gespeichert wird. Wird vermutlich irgendwann in einem anderen - Objekt untergebracht.

          4.1.3.9. $::request

          • Hashref (evtl später Objekt)

          • Wird pro Request neu initialisiert.

          • Keine Unterstruktur garantiert.

          + Objekt untergebracht.

          4.1.3.9. $::request

          • Hashref (evtl später Objekt)

          • Wird pro Request neu initialisiert.

          • Keine Unterstruktur garantiert.

          $::request ist ein generischer Platz um Daten "für den aktuellen Request" abzulegen. Sollte nicht für action at a distance benutzt werden, sondern um lokales memoizing zu @@ -175,20 +176,20 @@ file_name = /tmp/kivitendo-debug.log

          ist der Key f $::request

        • Muss ich von anderen Teilen des Programms lesend drauf zugreifen? Dann $::request, aber Zugriff über - Wrappermethode

      4.1.4. Ehemalige globale Variablen

      Die folgenden Variablen waren einmal im Programm, und wurden - entfernt.

      4.1.4.1. $::cgi

      • war nötig, weil cookie Methoden nicht als + Wrappermethode

      4.1.4. Ehemalige globale Variablen

      Die folgenden Variablen waren einmal im Programm, und wurden + entfernt.

      4.1.4.1. $::cgi

      • war nötig, weil cookie Methoden nicht als Klassenfunktionen funktionieren

      • Aufruf als Klasse erzeugt Dummyobjekt was im Klassennamespace gehalten wird und über Requestgrenzen leaked

      • liegt jetzt unter $::request->{cgi} -

      4.1.4.2. $::all_units

      • war nötig, weil einige Funktionen in Schleifen zum Teil +

      4.1.4.2. $::all_units

      • war nötig, weil einige Funktionen in Schleifen zum Teil ein paar hundert mal pro Request eine Liste der Einheiten brauchen, und de als Parameter durch einen Riesenstack von Funktionen geschleift werden müssten.

      • Liegt jetzt unter $::request->{cache}{all_units}

      • Wird nur in AM->retrieve_all_units() gesetzt oder - gelesen.

      4.1.4.3. %::called_subs

      • wurde benutzt um callsub deep recursions + gelesen.

      4.1.4.3. %::called_subs

      • wurde benutzt um callsub deep recursions abzufangen.

      • Wurde entfernt, weil callsub nur einen Bruchteil der möglichen Rekursioenen darstellt, und da nie welche - auftreten.

      • komplette recursion protection wurde entfernt.

      \ No newline at end of file + auftreten.

    • komplette recursion protection wurde entfernt.

    • \ No newline at end of file diff --git a/doc/html/ch04s05.html b/doc/html/ch04s05.html index 18da9b142..1b3da56cc 100644 --- a/doc/html/ch04s05.html +++ b/doc/html/ch04s05.html @@ -34,9 +34,11 @@ liburi-find-perl; Fedora: perl-URI-Find; openSUSE: perl-URI-Find)

    • - Sys::CPU (Debian-Panetname: libsys-cpu-perl; Fedora und openSUSE: nicht + Sys::CPU (Debian-Panetname: + libsys-cpu-perl; Fedora und openSUSE: nicht vorhanden)

    • - Thread::Pool::Simple (Debian-Panetname: libthread-pool-simple-perl; Fedora und + Thread::Pool::Simple (Debian-Panetname: + libthread-pool-simple-perl; Fedora und openSUSE: nicht vorhanden)

    • Weitere Voraussetzung ist, dass die Testsuite ihre eigene Datenbank anlegen kann, um Produktivdaten nicht zu gefährden. Dazu müssen in der Konfigurationsdatei im Abschnit diff --git a/doc/html/images/Shop_Artikel.png b/doc/html/images/Shop_Artikel.png new file mode 100644 index 000000000..f669ec9ba Binary files /dev/null and b/doc/html/images/Shop_Artikel.png differ diff --git a/doc/html/images/Shop_Artikel_Listing.png b/doc/html/images/Shop_Artikel_Listing.png new file mode 100644 index 000000000..b56da6f7f Binary files /dev/null and b/doc/html/images/Shop_Artikel_Listing.png differ diff --git a/doc/html/images/Shop_Bestell.png b/doc/html/images/Shop_Bestell.png new file mode 100644 index 000000000..ea36a3b42 Binary files /dev/null and b/doc/html/images/Shop_Bestell.png differ diff --git a/doc/html/images/Shop_Config.png b/doc/html/images/Shop_Config.png new file mode 100644 index 000000000..47f10fb7e Binary files /dev/null and b/doc/html/images/Shop_Config.png differ diff --git a/doc/html/images/Shop_Listing.png b/doc/html/images/Shop_Listing.png new file mode 100644 index 000000000..a33078d8e Binary files /dev/null and b/doc/html/images/Shop_Listing.png differ diff --git a/doc/html/index.html b/doc/html/index.html index 6250fc020..240e58b26 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -3,5 +3,5 @@ kivitendo 3.5.0: Installation, Konfiguration, Entwicklung

      kivitendo 3.5.0: Installation, Konfiguration, Entwicklung


      Inhaltsverzeichnis

      1. Aktuelle Hinweise
      2. Installation und Grundkonfiguration
      2.1. Übersicht
      2.2. Benötigte Software und Pakete
      2.2.1. Betriebssystem
      2.2.2. Benötigte Perl-Pakete installieren
      2.2.3. Andere Pakete installieren
      2.3. Manuelle Installation des Programmpaketes
      2.4. kivitendo-Konfigurationsdatei
      2.4.1. Einführung
      2.4.2. Abschnitte und Parameter
      2.4.3. Versionen vor 2.6.3
      2.5. Anpassung der PostgreSQL-Konfiguration
      2.5.1. Zeichensätze/die Verwendung von Unicode/UTF-8
      2.5.2. Änderungen an Konfigurationsdateien
      2.5.3. Erweiterung für servergespeicherte Prozeduren
      2.5.4. Datenbankbenutzer anlegen
      2.6. Webserver-Konfiguration
      2.6.1. Grundkonfiguration mittels CGI
      2.6.2. Konfiguration für FastCGI/FCGI
      2.6.3. Weitergehende Konfiguration
      2.7. Der Task-Server
      2.7.1. Verfügbare und notwendige Konfigurationsoptionen
      2.7.2. Konfiguration der Mandanten für den Task-Server
      2.7.3. Automatisches Starten des Task-Servers beim Booten
      2.7.4. Wie der Task-Server gestartet und beendet wird
      2.8. Benutzerauthentifizierung und Administratorpasswort
      2.8.1. Grundlagen zur Benutzerauthentifizierung
      2.8.2. Administratorpasswort
      2.8.3. Authentifizierungsdatenbank
      2.8.4. Passwortüberprüfung
      2.8.5. Name des Session-Cookies
      2.8.6. Anlegen der Authentifizierungsdatenbank
      2.9. Mandanten-, Benutzer- und Gruppenverwaltung
      2.9.1. Zusammenhänge
      2.9.2. Mandanten, Benutzer und Gruppen
      2.9.3. Datenbanken anlegen
      2.9.4. Gruppen anlegen
      2.9.5. Benutzer anlegen
      2.9.6. Mandanten anlegen
      2.10. Drucker- und Systemverwaltung
      2.10.1. Druckeradministration
      2.10.2. System sperren / entsperren
      2.11. E-Mail-Versand aus kivitendo heraus
      2.11.1. Versand über lokalen E-Mail-Server
      2.11.2. Versand über einen SMTP-Server
      2.12. Drucken mit kivitendo
      2.12.1. Vorlagenverzeichnis anlegen
      2.12.2. Der Druckvorlagensatz RB
      2.12.3. f-tex
      2.12.4. Der Druckvorlagensatz rev-odt
      2.12.5. Allgemeine Hinweise zu LaTeX Vorlagen
      2.13. OpenDocument-Vorlagen
      2.13.1. OpenDocument (odt) Druckvorlagen mit Makros
      2.14. Nomenklatur
      2.14.1. Datum bei Buchungen
      2.15. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR
      2.15.1. Einführung
      2.15.2. Konfigurationsparameter
      2.15.3. Festlegen der Parameter
      2.15.4. Bemerkungen zur Bestandsmethode
      2.15.5. Bekannte Probleme
      2.16. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb
      2.16.1. Einführung
      2.16.2. Konto 3804 manuell anlegen
      2.17. Verhalten des Bilanzberichts
      2.18. Erfolgsrechnung
      2.19. Rundung in Verkaufsbelegen
      2.20. Einstellungen pro Mandant
      2.21. kivitendo ERP verwenden
      3. Features und Funktionen
      3.1. Wiederkehrende Rechnungen
      3.1.1. Einführung
      3.1.2. Konfiguration
      3.1.3. Spezielle Variablen
      3.1.4. Auflisten
      3.1.5. Erzeugung der eigentlichen Rechnungen
      3.1.6. Erste Rechnung für aktuellen Monat erstellen
      3.2. Bankerweiterung
      3.2.1. Einführung
      3.3. Dokumentenvorlagen und verfügbare Variablen
      3.3.1. Einführung
      3.3.2. Variablen ausgeben
      3.3.3. Verwendung in Druckbefehlen
      3.3.4. Anfang und Ende der Tags verändern
      3.3.5. Zuordnung von den Dateinamen zu den Funktionen
      3.3.6. Sprache, Drucker und E-Mail
      3.3.7. Allgemeine Variablen, die in allen Vorlagen vorhanden sind
      3.3.8. Variablen in Rechnungen
      3.3.9. Variablen in Mahnungen und Rechnungen über Mahngebühren
      3.3.10. Variablen in anderen Vorlagen
      3.3.11. Blöcke, bedingte Anweisungen und Schleifen
      3.3.12. Markup-Code zur Textformatierung innerhalb von - Formularen
      3.4. Excel-Vorlagen
      3.4.1. Zusammenfassung
      3.4.2. Bedienung
      3.4.3. Variablensyntax
      3.4.4. Einschränkungen
      3.5. Mandantenkonfiguration Lager
      3.6. Schweizer Kontenpläne
      3.7. Artikelklassifizierung
      3.7.1. Übersicht
      3.7.2. Basisklassifizierung
      3.7.3. Attribute
      3.7.4. Zwei-Zeichen Abkürzung
      3.8. Dateiverwaltung (Mini-DMS)
      3.8.1. Übersicht
      3.8.2. Struktur
      3.8.3. Anwendung
      3.8.4. Konfigurierung
      4. Entwicklerdokumentation
      4.1. Globale Variablen
      4.1.1. Wie sehen globale Variablen in Perl aus?
      4.1.2. Warum sind globale Variablen ein Problem?
      4.1.3. Kanonische globale Variablen
      4.1.4. Ehemalige globale Variablen
      4.2. Entwicklung unter FastCGI
      4.2.1. Allgemeines
      4.2.2. Programmende und Ausnahmen
      4.2.3. Globale Variablen
      4.2.4. Performance und Statistiken
      4.3. SQL-Upgradedateien
      4.3.1. Einführung
      4.3.2. Format der Kontrollinformationen
      4.3.3. Format von in Perl geschriebenen + Formularen
      3.4. Excel-Vorlagen
      3.4.1. Zusammenfassung
      3.4.2. Bedienung
      3.4.3. Variablensyntax
      3.4.4. Einschränkungen
      3.5. Mandantenkonfiguration Lager
      3.6. Schweizer Kontenpläne
      3.7. Artikelklassifizierung
      3.7.1. Übersicht
      3.7.2. Basisklassifizierung
      3.7.3. Attribute
      3.7.4. Zwei-Zeichen Abkürzung
      3.8. Dateiverwaltung (Mini-DMS)
      3.8.1. Übersicht
      3.8.2. Struktur
      3.8.3. Anwendung
      3.8.4. Konfigurierung
      3.9. Webshop-Api
      3.9.1. Installationvorraussetzungen
      3.9.2. Rechte für die Webshopapi
      3.9.3. Konfiguration
      3.9.4. Webshopartikel
      3.9.5. Bestellimport
      3.9.6. Mapping der Daten
      4. Entwicklerdokumentation
      4.1. Globale Variablen
      4.1.1. Wie sehen globale Variablen in Perl aus?
      4.1.2. Warum sind globale Variablen ein Problem?
      4.1.3. Kanonische globale Variablen
      4.1.4. Ehemalige globale Variablen
      4.2. Entwicklung unter FastCGI
      4.2.1. Allgemeines
      4.2.2. Programmende und Ausnahmen
      4.2.3. Globale Variablen
      4.2.4. Performance und Statistiken
      4.3. SQL-Upgradedateien
      4.3.1. Einführung
      4.3.2. Format der Kontrollinformationen
      4.3.3. Format von in Perl geschriebenen Datenbankupgradescripten
      4.3.4. Hilfsscript dbupgrade2_tool.pl
      4.4. Translations and languages
      4.4.1. Introduction
      4.4.2. Character set
      4.4.3. File structure
      4.5. Die kivitendo-Test-Suite
      4.5.1. Einführung
      4.5.2. Voraussetzungen
      4.5.3. Existierende Tests ausführen
      4.5.4. Bedeutung der verschiedenen Test-Scripte
      4.5.5. Neue Test-Scripte erstellen
      4.6. Stil-Richtlinien
      4.7. Dokumentation erstellen
      4.7.1. Einführung
      4.7.2. Benötigte Software
      4.7.3. PDFs und HTML-Seiten erstellen
      4.7.4. Einchecken in das Git-Repository
      \ No newline at end of file diff --git a/doc/images/Shop_Artikel.png b/doc/images/Shop_Artikel.png new file mode 100644 index 000000000..f669ec9ba Binary files /dev/null and b/doc/images/Shop_Artikel.png differ diff --git a/doc/images/Shop_Artikel_Listing.png b/doc/images/Shop_Artikel_Listing.png new file mode 100644 index 000000000..b56da6f7f Binary files /dev/null and b/doc/images/Shop_Artikel_Listing.png differ diff --git a/doc/images/Shop_Bestell.png b/doc/images/Shop_Bestell.png new file mode 100644 index 000000000..ea36a3b42 Binary files /dev/null and b/doc/images/Shop_Bestell.png differ diff --git a/doc/images/Shop_Config.png b/doc/images/Shop_Config.png new file mode 100644 index 000000000..47f10fb7e Binary files /dev/null and b/doc/images/Shop_Config.png differ diff --git a/doc/images/Shop_Listing.png b/doc/images/Shop_Listing.png new file mode 100644 index 000000000..a33078d8e Binary files /dev/null and b/doc/images/Shop_Listing.png differ diff --git a/doc/kivitendo-Dokumentation.pdf b/doc/kivitendo-Dokumentation.pdf index 54d4804f1..c6da0fa52 100644 Binary files a/doc/kivitendo-Dokumentation.pdf and b/doc/kivitendo-Dokumentation.pdf differ