Dokumentation: Neue Perl-Module für 3.5.6. Features (Postgres 12 + MwSt) ergänzt
[kivitendo-erp.git] / doc / dokumentation.xml
index 14d809b..06d393c 100644 (file)
@@ -13,7 +13,7 @@
     <itemizedlist>
       <listitem>
         <para>im Community-Forum: <ulink
-        url="https://forum.kivitendo.de:32443">https://forum.kivitendo.de:32443</ulink></para>
+        url="https://forum.kivitendo.de">https://forum.kivitendo.de</ulink></para>
       </listitem>
 
       <listitem>
         ohne große Probleme auf den derzeit aktuellen verbreiteten
         Distributionen läuft.</para>
 
-        <para>Anfang 2019 sind das folgende Systeme, von denen bekannt ist,
-        dass kivitendo auf ihnen läuft:</para>
+        <para>Mitte 2020 (ab Version 3.5.6) empfehlen wir:</para>
 
         <itemizedlist>
           <listitem>
 
             <itemizedlist>
               <listitem>
-                <para>8.0 "Jessie"</para>
+                <para>10.0 "Buster"</para>
               </listitem>
               <listitem>
-                <para>9.0 "Stretch"</para>
-              </listitem>
-              <listitem>
-                <para>10.0 "Buster"</para>
+                <para>11.0 "Bullseye"</para>
               </listitem>
             </itemizedlist>
           </listitem>
 
           <listitem>
-            <para>16.04 "Xenial Xerus" LTS und 18.04 "Bionic Beaver" LTS
+            <para>20.04 "Focal Fossa" LTS
           </para>
           </listitem>
 
             <para><literal>Archive::Zip</literal></para>
           </listitem>
 
+          <listitem>
+            <para><literal>CAM::PDF</literal></para>
+          </listitem>
+
           <listitem>
             <para><literal>CGI</literal></para>
           </listitem>
             <para><literal>XML::Writer</literal></para>
           </listitem>
 
+          <listitem>
+            <para><literal>XML::LibXML</literal></para>
+          </listitem>
+
           <listitem>
             <para><literal>YAML::XS</literal> oder <literal>YAML</literal></para>
           </listitem>
         </itemizedlist>
 
+
+        <para>Seit Version größer v3.5.6 sind die folgenden Pakete hinzugekommen: <literal>XML::LibXML</literal>, <literal>CAM::PDF</literal></para>
         <para>Seit Version größer v3.5.3 sind die folgenden Pakete hinzugekommen: <literal>Exception::Class</literal></para>
 
         <para>Seit Version größer v3.5.1 sind die folgenden Pakete hinzugekommen: <literal>Set::Infinite</literal>,
   libdatetime-set-perl libset-infinite-perl liblist-utilsby-perl\
   libdaemon-generic-perl libfile-flock-perl libfile-slurp-perl\
   libfile-mimeinfo-perl libpbkdf2-tiny-perl libregexp-ipv6-perl \
-  libdatetime-event-cron-perl libexception-class-perl
+  libdatetime-event-cron-perl libexception-class-perl libcam-pdf-perl \
+  libxml-libxml-perl
 </programlisting>
 <para>Sollten Pakete nicht zu Verfügung stehen, so können diese auch mittels CPAN installiert werden. Ferner muss für Ubuntu das Repository "Universe" aktiv sein (s.a. Anmerkungen).</para>
           <note id="ubuntu-universe">
@@ -554,7 +561,7 @@ cpan HTML::Restrict</programlisting>
 
         <itemizedlist>
       <listitem>
-            <para><literal>aqbanking-tools</literal> Für das Parsen des MT940 Bankformats</para>
+            <para><literal>aqbanking-tools</literal> Für das Parsen des MT940 Bankformats (Version 6 oder höher)</para>
           </listitem>
           <listitem>
             <para><literal>poppler-utils</literal> 'pdfinfo' zum Erkennen der Seitenanzahl bei der PDF-Generierung</para>
@@ -644,24 +651,30 @@ git checkout `git tag -l | egrep -ve "(alpha|beta|rc)" | tail -1`</programlistin
         3.4.1 nach 3.5: <programlisting>
 $ git clone https://github.com/kivitendo/kivitendo-erp.git
 $ cd kivitendo-erp/
-$ git checkout release-3.4.1     # das ist der aktuelle release, den wir wollen
-$ git add templates/fullhouse    # das sind unsere druckvorlagen inkl. produktbilder
-$ git commit -m "juhu tolle ändernungen"
+$ git checkout release-3.4.1                # das ist ein alter release aus dem wir starten ...
+$ git checkout -b meine_eigene_änderungen   # unser lokaler branch - unabhängig von allen anderen
+$ git add templates/mein_druck              # das sind unsere druckvorlagen inkl. produktbilder
+$ git commit -m "juhu tolle änderungen"
+
 [meine_aenderungen 1d89e41] juhu tolle ändernungen
  4 files changed, 380 insertions(+)
- create mode 100644 templates/fullhouse/img/webdav/tesla.png
- create mode 100644 templates/fullhouse/mahnung.tex
- create mode 100644 templates/fullhouse/zahlungserinnerung_zwei.tex
- create mode 100644 templates/fullhouse/zahlungserinnerung_zwei_invoice.tex
+ create mode 100644 templates/mein_druck/img/webdav/tesla.png
+ create mode 100644 templates/mein_druck/mahnung.tex
+ create mode 100644 templates/mein_druck/zahlungserinnerung_zwei.tex
+ create mode 100644 templates/mein_druck/zahlungserinnerung_zwei_invoice.tex
 
 # 5 Jahre später ...
+# webserver abschalten!
+
+$ git checkout master
+$ git pull                                  # oder git fetch und danach ein stable release tag auswählen (s.o.)
+$ git checkout meine_eigenen_änderungen
+$ git rebase master
 
-$ git fetch
-$ git rebase --onto release-3.5.0 release-3.4.1 meine_aenderungen
 Zunächst wird der Branch zurückgespult, um Ihre Änderungen
 darauf neu anzuwenden ...
-Wende an: juhu tolle ändernungen
-$ service apache2 restart
+Wende an: juhu tolle änderungen
+$ service apache2 restart                   # webserver starten!
 </programlisting></para>
       </note>
     </sect1>
@@ -4591,6 +4604,15 @@ digits_year: 4</programlisting>
               </listitem>
             </varlistentry>
 
+            <varlistentry>
+              <term><varname>natural_person</varname></term>
+
+              <listitem>
+                <para>Flag "natürliche Person"; Siehe auch
+                <xref linkend="dokumentenvorlagen-und-variablen.anrede"/></para>
+              </listitem>
+            </varlistentry>
+
             <varlistentry>
               <term><varname>payment_description</varname></term>
 
@@ -5371,7 +5393,7 @@ digits_year: 4</programlisting>
               <term><varname>longdescription</varname></term>
 
               <listitem>
-                <para>Langtext</para>
+                <para>Langtext, vorbelegt mit dem Feld Bemerkungen der entsprechenden Ware</para>
               </listitem>
             </varlistentry>
 
@@ -6490,6 +6512,21 @@ Beschreibung: &lt;%description%&gt;
         <para>Der Befehl <command>&lt;bullet&gt;</command> funktioniert
         momentan auch nur in Latex-Vorlagen.</para>
       </sect2>
+
+      <sect2 id="dokumentenvorlagen-und-variablen.anrede"
+             xreflabel="Hinweise zur Anrede">
+        <title>Hinweise zur Anrede</title>
+
+        <para>Das Flag "natürliche Person"
+        (<varname>natural_person</varname>) aus den Kunden- oder
+        Lieferantenstammdaten kann in den Druckvorlagen zusammen mit
+        dem Feld "Anrede" (<varname>greeting</varname>) z.B. dafür
+        verwendet werden, die Anrede zwischen einer allgemeinen und
+        einer persönlichen Anrede zu unterscheiden.
+        <programlisting>&lt;%if natural_person%&gt;&lt;%greeting%&gt; &lt;%name%&gt;&lt;%else%&gt;Sehr geehrte Damen und Herren&lt;%end if%&gt;</programlisting>
+        </para>
+      </sect2>
+
     </sect1>
 
     <sect1 id="excel-templates">
@@ -7297,6 +7334,148 @@ document_path = /var/local/kivi_documents
         url="https://developers.shopware.com/developers-guide/rest-api/">https://developers.shopware.com/developers-guide/rest-api/</ulink></para>
       </sect2>
     </sect1>
+       <sect1 id="features.zugferd">
+               <title>ZUGFeRD Rechnungen</title>
+               <sect2 id="features.zugferd.preamble">
+                       <title>Vorbedingung</title>
+         <para>
+          Für die Erstellung von ZUGFeRD PDFs wird TexLive2018 oder höher benötigt.
+         </para>
+        <note>
+         <para>
+          Wer kein TexLive2018 oder höher installieren kann, kann eine lokale Umgebung nur für kivitendo wie folgt erzeugen:
+         </para>
+        <programlisting>
+        1. Download des offiziellen Installers von https://www.tug.org/texlive/quickinstall.html
+
+        2. Installer ausführen, Standard-Ort für Installation belassen, evtl. ein paar Pakete abwählen, installieren lassen
+
+        3. Ein kleine Script »run_pdflatex.sh« anlegen, das den PATH auf das  Installationsverezichnis setzt und pdflatex ausführt:
+
+        ------------------------------------------------------------
+        #!/bin/bash
+
+        export PATH=/usr/local/texlive/2020/bin/x86_64-linux:$PATH
+        hash -r
+
+        exec pdflatex $@
+        ------------------------------------------------------------
+
+        4. In config/kivitendo.conf den Parameter »latex« auf den Pfad zu »run_pdflatex.sh« setzen
+
+        5. Webserver neu starten
+        </programlisting>
+      </note>
+    </sect2>
+               <sect2 id="features.zugferd.summary">
+                       <title>Übersicht</title>
+
+                       <para>Mit der Version 3.5.6 bietet kivitendo die Möglichkeit ZUGFeRD
+                       Rechnungen zu erstellen, sowie auch  ZUGFeRD Rechnungen direkt in
+                       kivitendo einzulesen. </para>
+
+                       <para>Bei  ZUGFeRD Rechnungen handelt es sich um eine PDF Datei in
+                       der eine XML-Datei eingebettet ist. Der Aufbau der XML-Datei ist
+                       standardisiert und ermöglicht so den Austausch zwischen
+                       den verschiedenen Softwareprodukten. Kivitendo setzt mit der
+                       Version 3.5.6 den ZUGFeRD 2.1 Standard um.</para>
+
+                       <para>Weiter Details zu ZUGFeRD sind unter diesem Link zu finden:
+                       <ulink>https://www.ferd-net.de/standards/was-ist-zugferd/index.html</ulink>
+      </para>
+               </sect2>
+
+               <sect2 id="features.zugferd.create_zugferd_bills">
+
+                       <title>Erstellen von ZUGFeRD Rechnungen in Kivitendo</title>
+                       <para>Für die Erstellung von ZUGFeRD Rechnungen bedarf es in
+                       kivitendo zwei Dinge:</para>
+
+                       <orderedlist>
+
+                               <listitem>
+                                       <para>Die Erstellung muss in der Mandantenkonfiguration
+                                       aktiviert sein</para>
+                               </listitem>
+
+                               <listitem>
+                                       <para>Beim mindestens einem Bankkonto muss die Option
+                                       „Nutzung von ZUGFeRD“ aktiviert sein</para>
+                               </listitem>
+
+                       </orderedlist>
+                       <sect3>
+                               <title>Mandantenkonfiguration</title>
+
+                               <para>Die Einstellung für die Erstellung von ZUGFeRD Rechnungen
+                               erfolgt unter „System“ → „Mandatenkonfiguration“ → „Features“.
+                               Im Abschnitt „Einkauf und Verkauf“ finden Sie die Einstellung
+                               „Verkaufsrechnungen mit ZUGFeRD-Daten erzeugen“.
+                               Hier besteht die Auswahl zwischen:</para>
+
+                               <itemizedlist>
+                                       <listitem>
+                                               <para>ZUGFeRD-Rechnungen erzeugen</para>
+                                       </listitem>
+
+                                       <listitem>
+                                               <para>ZUGFeRD-Rechnungen im Testmodus erzeugen</para>
+                                       </listitem>
+
+                                       <listitem>
+                                               <para>Keine ZUGFeRD Rechnungen erzeugen</para>
+                                       </listitem>
+
+                               </itemizedlist>
+
+                               <para>Rechnungen die als PDF erzeugt werden, werden je nach
+                               Einstellung nun im ZUGFeRD Format ausgegeben.</para>
+
+                       </sect3>
+
+                       <sect3>
+                               <title>Konfiguration der Bankkonten</title>
+
+                               <para>Unter „System → Bankonten“ muss bei mindestens einem
+                               Bankkonto die Option „Nutzung mit ZUGFeRD“ auf „Ja“ gestellt
+                               werden.</para>
+                       </sect3>
+
+               </sect2>
+
+               <sect2 id="features.zugferd.read_zugferd_bills">
+
+                       <title>Einlesen von ZUGFeRD Rechnungen in Kivitendo</title>
+
+                       <para>Es lassen sich auch Rechnungen von Kreditoren, die im
+                       ZUGFeRD Format erstellt wurden im Kivitendo importieren.
+                       Hierfür müssen auch zwei Voraussetzungen erfüllt werden:
+                       </para>
+
+                       <orderedlist>
+
+                               <listitem>
+                                       <para>Beim Lieferanten muss die Umsatzsteuer-ID und das
+                                       Bankkonto hinterlegt sein</para>
+                               </listitem>
+
+                               <listitem>
+                                       <para>Für den Kreditoren muss eine Buchungsvorlage existieren.</para>
+                               </listitem>
+
+                       </orderedlist>
+
+                       <para>Wenn diese Voraussetzungen erfüllt sind, kann die Rechnung
+                       über „Finanzbuchhaltung“ → „ZUGFeRD Import“ über die „Durchsuchen“
+                       Schaltfläche ausgewählt werden und über die Schaltfläche „Import“
+                       eingeladen werden. Es öffnet sich daraufhin die Kreditorenbuchung.
+                       Die auslesbaren Daten aus dem eingebetteten XML der PDF Datei
+                       werden in der Kreditorenbuchung ergänzt.</para>
+
+               </sect2>
+
+       </sect1>
+
   </chapter>
 
   <chapter>
@@ -8485,7 +8664,7 @@ Template/LaTeX
 Template/OpenDocument
 filenames</programlisting>
 
-              <para>The last of which is very machine dependant. Remember that
+              <para>The last of which is very machine dependent. Remember that
               a lot of characters are forbidden by some filesystems, for
               example MS Windows doesn't like ':' in its files where Linux
               doesn't mind that. If you want the files created with your