gnucash-docs master: Multiple changes pushed

Frank H.Ellenberger fell at code.gnucash.org
Sun Sep 22 02:49:02 EDT 2019


Updated	 via  https://github.com/Gnucash/gnucash-docs/commit/6671ed2a (commit)
	 via  https://github.com/Gnucash/gnucash-docs/commit/06f4b052 (commit)
	 via  https://github.com/Gnucash/gnucash-docs/commit/cf68eb0a (commit)
	 via  https://github.com/Gnucash/gnucash-docs/commit/0562d6e0 (commit)
	 via  https://github.com/Gnucash/gnucash-docs/commit/00fa43ff (commit)
	 via  https://github.com/Gnucash/gnucash-docs/commit/746f6ffd (commit)
	 via  https://github.com/Gnucash/gnucash-docs/commit/59a90b05 (commit)
	 via  https://github.com/Gnucash/gnucash-docs/commit/030a7ec6 (commit)
	 via  https://github.com/Gnucash/gnucash-docs/commit/701626b2 (commit)
	 via  https://github.com/Gnucash/gnucash-docs/commit/59e550ac (commit)
	 via  https://github.com/Gnucash/gnucash-docs/commit/81795bc2 (commit)
	 via  https://github.com/Gnucash/gnucash-docs/commit/79c1ec4b (commit)
	 via  https://github.com/Gnucash/gnucash-docs/commit/9b9a657d (commit)
	 via  https://github.com/Gnucash/gnucash-docs/commit/1527cb2f (commit)
	 via  https://github.com/Gnucash/gnucash-docs/commit/585d6071 (commit)
	 via  https://github.com/Gnucash/gnucash-docs/commit/5777d258 (commit)
	 via  https://github.com/Gnucash/gnucash-docs/commit/e127ef2b (commit)
	 via  https://github.com/Gnucash/gnucash-docs/commit/ac64a672 (commit)
	 via  https://github.com/Gnucash/gnucash-docs/commit/f77e8a38 (commit)
	 via  https://github.com/Gnucash/gnucash-docs/commit/45767a71 (commit)
	 via  https://github.com/Gnucash/gnucash-docs/commit/1323c3df (commit)
	from  https://github.com/Gnucash/gnucash-docs/commit/c52384e7 (commit)



commit 6671ed2afc8e06d33a2998210c0377fa1be361e5
Merge: c52384e 06f4b05
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date:   Sun Sep 22 08:48:32 2019 +0200

    Merge branch 'maint'


commit 06f4b052f2126d0302724dc165af5badd3f73c5b
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date:   Sat Sep 21 09:19:23 2019 +0200

    Remove italian sgml files
    
    In 2001 we converted from sgml to xml

diff --git a/guide/it/gnucash-guide.sgml b/guide/it/gnucash-guide.sgml
deleted file mode 100644
index 9c5dcf6..0000000
--- a/guide/it/gnucash-guide.sgml
+++ /dev/null
@@ -1,234 +0,0 @@
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
- "http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
-<!ENTITY chapter1 SYSTEM "ch_oview.xml">
-<!ENTITY chapter2 SYSTEM "ch_basics.xml">
-<!ENTITY chapter3 SYSTEM "ch_accts.xml">
-<!ENTITY chapter4 SYSTEM "ch_txns.xml">
-<!ENTITY chapter5 SYSTEM "ch_cbook.xml">
-<!ENTITY chapter6 SYSTEM "ch_cc.xml">
-<!ENTITY chapter7 SYSTEM "ch_loans.xml">
-<!ENTITY chapter8 SYSTEM "ch_invest.xml">
-<!ENTITY chapter9 SYSTEM "ch_capgain.xml">
-<!ENTITY chapter10 SYSTEM "ch_currency.xml">
-<!ENTITY chapter11 SYSTEM "ch_dep.xml">
-<!ENTITY chapter12 SYSTEM "ch_bus_ar.xml">
-<!ENTITY chapter13 SYSTEM "ch_bus_ap.xml">
-<!ENTITY chapter14 SYSTEM "ch_bus_pay.xml">
-<!ENTITY appendixa SYSTEM "appendixa.xml">
-<!ENTITY appendixb SYSTEM "appendixb.xml">
-<!ENTITY appendixc SYSTEM "appendixc.xml">
-<!ENTITY legal SYSTEM "legal.xml">
-<!ENTITY GFDL SYSTEM "fdl-appendix.xml">
-<!ENTITY manrevision "1.8.4">
-<!ENTITY date "11th April 2004">
-<!ENTITY app "GnuCash">
-]>
-<!--
-      (Do not remove this comment block.)
-  Template Maintained by the GNOME Documentation Project:
-	  http://developer.gnome.org/projects/gdp
-  Template version: 2.0 beta
-  Template last modified Feb 12, 2002
-
--->
-<!--
-      (Do not remove this comment block.)
-  Version: 1.8.4
-  Last modified: April 11th, 2004
-  Maintainers:
-               Chris Lyttle   <chris at wilddev.net)
-  Translators:
-               (translators put your name and email here)
--->
-<book label="index">
-<!-- please do not change the id; for translations, change lang to -->
-<!-- appropriate code -->
- <bookinfo>
-  <title>&app; Tutorial and Concepts Guide</title>
-  <edition>V&manrevision;</edition>
-
-  <copyright>
-   <year>2003-2004</year>
-   <holder>Jon Lapham</holder>
-  </copyright>
-
-  <copyright>
-   <year>2002</year>
-   <holder>Chris Lyttle</holder>
-  </copyright>
-
-  <copyright>
-   <year>2001</year>
-   <holder>Carol Champagne and Chris Lyttle</holder>
-  </copyright>
-
- <!-- translators: uncomment this:
-
-  <copyright>
-   <year>2000</year>
-   <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
-  </copyright>
-
-   -->
-
-    <publisher>
-       <publishername> GnuCash Documentation Team </publishername>
-    </publisher>
-
-    &legal;
-
-  <authorgroup>
-
-    <author>
-     <firstname>Carol</firstname>
-     <surname>Champagne</surname>
-     <authorblurb>
-      <para>
-       <email>carol at io.com</email>
-      </para>
-     </authorblurb>
-    </author>
-
-    <author>
-     <firstname>Chris</firstname>
-     <surname>Lyttle</surname>
-     <affiliation>
-          <orgname>GnuCash Documentation Team</orgname>
-          <address> <email>chris at wilddev.net</email> </address>
-     </affiliation>
-    </author>
-
-    <author>
-     <firstname>Jon</firstname>
-     <surname>Lapham</surname>
-     <affiliation>
-          <orgname>GnuCash Documentation Team</orgname>
-          <address> <email>lapham at extracta.com.br</email> </address>
-     </affiliation>
-    </author>
-
-<!-- This is appropriate place for other contributors: translators,
-      maintainers,  etc. Commented out by default.
-       <othercredit role="translator">
-        <firstname>Latin</firstname>
-        <surname>Translator 1</surname>
-        <affiliation>
-          <orgname>Latin Translation Team</orgname>
-          <address> <email>translator at gnome.org</email> </address>
-        </affiliation>
-        <contrib>Latin translation</contrib>
-      </othercredit>
--->
-
-  </authorgroup>
-
-  <revhistory>
-      <revision>
-        <revnumber>&app; Tutorial and Concepts Guide V&manrevision;</revnumber>
-        <date>&date;</date>
-        <revdescription>
-          <para role="author">Jon Lapham
-            <email>lapham at extracta.com.br</email>
-          </para>
-          <para role="publisher">GnuCash Documentation Team</para>
-        </revdescription>
-      </revision>
-      <revision>
-        <revnumber>GnuCash Tutorial and Concepts Guide V1.8.3</revnumber>
-        <date>Aug 2003</date>
-        <revdescription>
-          <para role="author">Jon Lapham
-            <email>lapham at extracta.com.br</email>
-          </para>
-          <para role="publisher">GnuCash Documentation Team</para>
-        </revdescription>
-      </revision>
-      <revision>
-        <revnumber>GnuCash Tutorial and Concepts Guide V1.8.2</revnumber>
-        <date>Aug 2003</date>
-        <revdescription>
-          <para role="author">Jon Lapham
-            <email>lapham at extracta.com.br</email>
-          </para>
-          <para role="publisher">GnuCash Documentation Team</para>
-        </revdescription>
-      </revision>
-      <revision>
-        <revnumber>GnuCash Tutorial and Concepts Guide V1.8.1</revnumber>
-        <date>May 2003</date>
-        <revdescription>
-          <para role="author">Chris Lyttle
-            <email>chris at wilddev.net</email>
-          </para>
-          <para role="publisher">GnuCash Documentation Team</para>
-        </revdescription>
-      </revision>
-      <revision>
-        <revnumber>GnuCash Tutorial and Concepts Guide V1.8.0</revnumber>
-        <date>Jan 2003</date>
-        <revdescription>
-          <para role="author">Chris Lyttle
-            <email>chris at wilddev.net</email>
-          </para>
-          <para role="publisher">GnuCash Documentation Team</para>
-        </revdescription>
-      </revision>
-      <revision>
-        <revnumber>GnuCash User Guide V1.6.5</revnumber>
-        <date>June 2002</date>
-        <revdescription>
-          <para role="author">Chris Lyttle
-            <email>chris at wilddev.net</email>
-          </para>
-          <para role="publisher">GnuCash Documentation Team</para>
-        </revdescription>
-      </revision>
-      <revision>
-        <revnumber>GnuCash User Guide V1.6.0</revnumber>
-        <date>October 2001</date>
-        <revdescription>
-          <para role="author">Carol Champagne
-            <email>carol at io.com</email>
-          </para>
-          <para role="publisher">GnuCash Documentation Team</para>
-        </revdescription>
-      </revision>
-    </revhistory>
-
-  <releaseinfo>
-   This Guide contains a tutorial for using GnuCash and describes the concepts
-   behind GnuCash.
-  </releaseinfo>
-  <legalnotice>
-    <title>Feedback</title>
-      <para>To report a bug or make a suggestion regarding this package or
-        this manual, follow the directions at the
-        <ulink url="http://bugzilla.gnome.org"
-          >GNOME Bug Tracking System</ulink>.
-      </para>
-<!-- Translators may also add here feedback address for translations -->
-  </legalnotice>
-
-</bookinfo>
-
-&chapter1;
-&chapter2;
-&chapter3;
-&chapter4;
-&chapter5;
-&chapter6;
-&chapter7;
-&chapter8;
-&chapter9;
-&chapter10;
-&chapter11;
-&chapter12;
-&chapter13;
-&chapter14;
-&appendixa;
-&appendixb;
-&appendixc;
-
-&GFDL;
-
-</book>
diff --git a/help/it/gnucash-help.sgml b/help/it/gnucash-help.sgml
deleted file mode 100644
index 0dce6a9..0000000
--- a/help/it/gnucash-help.sgml
+++ /dev/null
@@ -1,174 +0,0 @@
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
- "http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
-<!ENTITY intro SYSTEM "intro.xml">
-<!ENTITY gettingstarted SYSTEM "gettingstarted.xml">
-<!ENTITY usage SYSTEM "usage.xml">
-<!ENTITY custom SYSTEM "custom.xml">
-<!ENTITY chartacctseg SYSTEM "chtacctseg.xml">
-<!ENTITY chartofaccts SYSTEM "chartofaccts.xml">
-<!ENTITY txf-categories SYSTEM "txf-categories.xml">
-<!ENTITY legal SYSTEM "legal.xml">
-<!ENTITY GFDL SYSTEM "fdl-appendix.xml">
-<!ENTITY manrevision "1.8.4">
-<!ENTITY date "11th April 2004">
-<!ENTITY app "GnuCash">
-]>
-<!--
-      (Do not remove this comment block.)
-  Template Maintained by the GNOME Documentation Project:
-	  http://developer.gnome.org/projects/gdp
-  Template version: 2.0 beta
-  Template last modified Feb 12, 2002
--->
-<!--
-      (Do not remove this comment block.)
-  Version: 1.8.4
-  Last modified: April 10th 2004
-  Maintainers:
-               Chris Lyttle   <chris at wilddev.net)
-  Translators:
-               (translators put your name and email here)
--->
-
-<book id="help">
-<!-- please do not change the id; for translations, change lang to -->
-<!-- appropriate code in the xml version (article tag). -->
-
-  <bookinfo>
-   <title>&app; Help Manual</title>
-   <copyright>
-     <year>2002-2004</year>
-     <holder>Chris Lyttle</holder>
-   </copyright>
-
-   <!-- translators: uncomment this:
-
-   <copyright>
-      <year>2000</year>
-      <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
-   </copyright>
-
-  -->
-
-    <publisher>
-       <publishername> GnuCash Documentation Team </publishername>
-    </publisher>
-
-    &legal;
-
-    <authorgroup>
-      <author>
-        <firstname>Chris</firstname>
-        <surname>Lyttle</surname>
-        <affiliation>
-          <orgname>GnuCash Documentation Team</orgname>
-          <address> <email>chris at wilddev.net</email> </address>
-        </affiliation>
-      </author>
-<!-- This is appropriate place for other contributors: translators,
-      maintainers,  etc. Commented out by default.
-       <othercredit role="translator">
-        <firstname>Latin</firstname>
-        <surname>Translator 1</surname>
-        <affiliation>
-          <orgname>Latin Translation Team</orgname>
-          <address> <email>translator at gnome.org</email> </address>
-        </affiliation>
-        <contrib>Latin translation</contrib>
-      </othercredit>
--->
-    </authorgroup>
-
-    <revhistory>
-      <revision>
-        <revnumber>PDF generation</revnumber>
-        <date>9th March 2005</date>
-        <revdescription>
-          <para role="author">Neil Williams
-            <email>linux at codehelp.co.uk</email>
-          </para>
-          <para role="publisher">GnuCash Documentation Team</para>
-        </revdescription>
-      </revision>
-      <revision>
-        <revnumber>&app; Help Manual V&manrevision;</revnumber>
-        <date>&date;</date>
-        <revdescription>
-          <para role="author">Chris Lyttle
-            <email>chris at wilddev.net</email>
-          </para>
-          <para role="publisher">GnuCash Documentation Team</para>
-        </revdescription>
-      </revision>
-      <revision>
-        <revnumber>GnuCash Help Manual V1.8.3</revnumber>
-        <date>Aug 2003</date>
-        <revdescription>
-          <para role="author">Chris Lyttle
-            <email>chris at wilddev.net</email>
-          </para>
-          <para role="publisher">GnuCash Documentation Team</para>
-        </revdescription>
-      </revision>
-      <revision>
-        <revnumber>GnuCash Help Manual V1.8.2</revnumber>
-        <date>Aug 2003</date>
-        <revdescription>
-          <para role="author">Chris Lyttle
-            <email>chris at wilddev.net</email>
-          </para>
-          <para role="publisher">GnuCash Documentation Team</para>
-        </revdescription>
-      </revision>
-      <revision>
-        <revnumber>GnuCash Help Manual V1.8.1</revnumber>
-        <date>May 2003</date>
-        <revdescription>
-          <para role="author">Chris Lyttle
-            <email>chris at wilddev.net</email>
-          </para>
-          <para role="publisher">GnuCash Documentation Team</para>
-        </revdescription>
-      </revision>
-      <revision>
-        <revnumber>GnuCash Help Manual V1.8.0</revnumber>
-        <date>Jan 2003</date>
-        <revdescription>
-          <para role="author">Chris Lyttle
-            <email>chris at wilddev.net</email>
-          </para>
-          <para role="publisher">GnuCash Documentation Team</para>
-        </revdescription>
-      </revision>
-      <revision>
-        <revnumber>GnuCash User Manual</revnumber>
-        <date>June 2002</date>
-        <revdescription>
-          <para role="author">GnuCash Developers and Documentors
-            <email>gnucash-devel at gnucash.org</email>
-          </para>
-          <para role="publisher">GnuCash Documentation Team</para>
-        </revdescription>
-      </revision>
-    </revhistory>
-
-    <releaseinfo>This manual describes how to use the GnuCash Financial
-    software.
-    </releaseinfo>
-    <legalnotice>
-      <title>Feedback</title>
-      <para>To report a bug or make a suggestion regarding this package or
-        this manual, follow the directions at the
-        <ulink url="http://bugzilla.gnome.org"
-          >GNOME Bug Tracking System</ulink>.
-      </para>
-<!-- Translators may also add here feedback address for translations -->
-    </legalnotice>
-
-  </bookinfo>
-&intro;
-&gettingstarted;
-&usage;
-&custom;
-&GFDL;
-</book>

commit cf68eb0a520476030c4cf1a5fb48a7ed28e07014
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date:   Sat Sep 21 07:11:58 2019 +0200

    Add one URL entity and fix another

diff --git a/docbook/gnc-docbookx.dtd b/docbook/gnc-docbookx.dtd
index d0c903f..8524b98 100644
--- a/docbook/gnc-docbookx.dtd
+++ b/docbook/gnc-docbookx.dtd
@@ -80,11 +80,13 @@ own entity definitions to use across all of our DocBook pages. -->
 <!ENTITY url-wiki-faq "https://wiki.gnucash.org/wiki/FAQ">
 <!ENTITY url-wiki-faq-de "https://wiki.gnucash.org/wiki/De/FAQ">
 <!ENTITY url-mail-li "https://lists.gnucash.org/mailman/listinfo/">  <!-- Append the desired list -->
-<!ENTITY url-wiki-ml "https://wiki.gnucash.org/wiki/Mailiing_Lists">
+<!ENTITY url-wiki-ml "https://wiki.gnucash.org/wiki/Mailing_Lists">
 <!ENTITY url-wiki-ml-de "https://wiki.gnucash.org/wiki/De/Feedback#Auf_der_Mailingliste">
 <!ENTITY url-logs-irc "https://lists.gnucash.org/logs/">
   <!-- for IRC. If someone needs build logs, scan https://code.gnucash.org/builds/ -->
 <!ENTITY url-wp-en "https://en.wikipedia.org/wiki/">  <!-- Append the desired topic -->
+<!-- URLs of Authors, Fixme: no https? -->
+<!ENTITY url-selinger "http://www.mathstat.dal.ca/~selinger/">
 
 <!--
   Translators:

commit 0562d6e0ee66545f9bf1c9ec89cb1cb8e18e7b96
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date:   Fri Sep 20 18:06:17 2019 +0200

    Use <qandaset> for pt FAQ

diff --git a/guide/pt/appendixb.xml b/guide/pt/appendixb.xml
index f9d6a2d..13bd50e 100644
--- a/guide/pt/appendixb.xml
+++ b/guide/pt/appendixb.xml
@@ -5,7 +5,9 @@
       (Do not remove this comment block.)
   Version: 2.0.0
   Last modified: July 9th 2006
-  Maintainers: 
+  Converted to qandaset 2019-09-20 by Frank H. Ellenberger
+  
+  Maintainers:
                Chris Lyttle <chris at wilddev.net>
   Author:
   		Jon Lapham <lapham at extracta.com.br>
@@ -13,216 +15,217 @@
   Translators:
                (Pedro Albuquerque <palbuquerque73 at gmail.com)
 -->
-  <appendix id="appendixb">
-    <title>Questões frequentes</title>
-    <para>Esta é uma lista de perguntas feitas nas listas de correio para as quais não há realmente uma 
-    secção na documentação que lhes dê resposta.</para>
-    <sect1 id="appendixb_info">
-      <title>Fontes de informação</title>
-
-      <sect2 id="appendixb_info_where">
-        <title>P: Onde estão as FAQ?</title>
-        <para>R: Está a olhar para elas. Pode encontrar a cópia mais atualizada na
-            <ulink url="http://wiki.gnucash.org/wiki/FAQ">wiki do <application>&app;</application></ulink>.</para>
-      </sect2>
-
-      <sect2 id="appendixb_info_mail">
-        <title>P: Há listas de correio para o <application>&app;</application>?</title>
-        <para>R: Sim. Vá a <ulink url="http://lists.gnucash.org/mailman/listinfo/gnucash-user">
-            http://lists.gnucash.org/mailman/listinfo/gnucash-user</ulink> e a 
-            <ulink url="http://lists.gnucash.org/mailman/listinfo/gnucash-devel">
-            http://lists.gnucash.org/mailman/listinfo/gnucash-devel</ulink> para as subscrever.</para>
-      </sect2>
-
-      <sect2 id="appendixb_info_mailarchive">
-        <title>P: Há algum arquivo onde se possa fazer procuras?</title>
-        <para>R: Sim, pode procurar nos arquivos de correio em 
-        <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.devel"></ulink> e 
-        <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.user"></ulink> 
-        (e em <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.german"></ulink> 
-        se fala Alemão).</para>
-      </sect2>
-
-      <sect2 id="appendixb_info_other">
-        <title>P: Há outros meios para obter assistência ao <application>&app;</application>?</title>
-        <para>R: Sim. Muitos dos programadores estão no icq, discussão #gnucash em irc.gnome.org. 
-        Há ainda uma wiki online em <ulink url="http://wiki.gnucash.org/wiki/&app;">
-        http://wiki.gnucash.org/wiki/&app;</ulink>.</para>
-      </sect2>
-    </sect1>
-
-    <sect1 id="appendixb_general">
-      <title>Informação geral</title>
-
-      <sect2 id="appendixb_software_windows">
-        <title>P: Posso executar o <application>&app;</application> em Windows?</title>
-        <para>R: Sim. A partir da versão 2.2.0, o <application>&app;</application> também está disponível 
-        para Windows.</para>
-        <para>Outras opções disponíveis serão o colinux, VMWare e windows-based X-server hospedando uma 
-        sessão remota do <application>&app;</application>.</para>
-      </sect2>
-
-      <sect2 id="appendixb_general_hard2compile">
-        <title>P: Ouvi dizer que era muito díficl compilar o <application>&app;</application>!</title>
-        <para>R: Isto foi provavelmente verdade quando a versão 1.6.0 foi lançada. Hoje em dia já não é 
-        verdade, dado que a maioria das ditribuições Linux já têm todas as bibliotecas necessárias 
-        (exceto a g-wrap, ou seja, há realmente <quote>uma</quote> biblioteca extra a instalar antes de 
-        compilar o <application>&app;</application>). Contudo, por predefinição, as distribuições não 
-        instalam pacotes de desenvolvimento das bibliotecas requeridas, pelo que poderá ter que iniciar 
-        o programa de instalação da sua distribuição e dizer-lhe que instale também as bibliotecas de 
-        desenvolvimento (-devel). Em geral, notou-se que este problema afeta muitas aplicações no domínio 
-        Gnome, o que se reduz ao fato de que não há efetivamente algo como <quote>um pacote gnome 
-        monolítico</quote>.</para>
-      </sect2>
-
-      <sect2 id="appendixb_general_batchmode">
-        <title>P: Há algum modo de o <application>&app;</application> construir relatórios em lote, de forma 
-        não interativa?</title>
-        <para>R: Não, por agora o <application>&app;</application> tem de usar interatividade.</para>
-      </sect2>
-
-      <sect2 id="appendixb_general_multuser">
-        <title>P: Pode o mesmo ficheiro de dados do <application>&app;</application> ser acedido por múltiplas 
-        pessoas?</title>
-        <para>R: Pode ter múltiplas pessoas com acesso ao mesmo ficheiro de dados, mas não em simultâneo.</para>
-        <para>Para configurar o acesso multiutilizador, todos terão de ter direitos de leitura/escrita na pasta 
-        que contém o ficheiro (para ler os ficheiros criados por outros e para criar novos ficheiros). 
-        Uma forma de o fazer é criar um grupo de utilizadores e definir a pasta de dados como propriedade 
-        partilhada do grupo, definida para modo 2775. O <quote>2</quote> torna a pasta setgid, o que copia as 
-        permissões para todos os ficheiros.</para>
-      </sect2>
-
-      <sect2 id="appendixb_general_WhyC">
-        <title>P: Porque é que o <application>&app;</application> está escrito em C?</title>
-        <para>R: A funcionalidade central do <application>&app;</application> é escrita em C, mas não se 
-        esqueça que muito do núcleo pode ser acedido pelo Guile (scheme). Há um sem número de razões para o 
-        <application>&app;</application> ser escrito em C. A primeira é histórica, o 
-        <application>&app;</application> começou em 1996 (ou talvez antes!)  e muitos dos compiladores OOP 
-        (C++, Java, Python) ainda não tinham amadurecido e estabilizado o suficiente nas várias plataformas 
-        consideradas na altura, portanto C era a única opção nessa época. Uma segunda razão seria por o GUI 
-        (ambiente de trabalho) padrão do <application>&app;</application> usar GTK, que é escrito em C.</para>
-      </sect2>
-
-      <sect2 id="appendixb_general_rewrite">
-        <title>P: Porque é que não reescrevem o <application>&app;</application> na linguagem xyz para 
-        que eu possa contribuir facilmente?</title>
-        <para>R: A resposta rápida é <quote>Não o faremos</quote>. A resposta mais longa é complexa mas é a 
-        mesma. O <application>&app;</application> é um enorme corpo de código mantido por um pequeno 
-        grupo de programadores que se sentem confotáveis com C e Scheme (Guile). De fato, 80% é em C 
-        e aproximadamente 13% é em Scheme/Lisp. Não há nenhuma razão válida que justifique reescrever a quantidade 
-        de código existente numa linguagem diferente. Além disso, criar associações de linguagem a linguagens 
-        recentes como Python ou Ruby ou qualquer outra da sua preferência é trabalho intenso e já temos trabalho 
-        que chegue mantendo e desenvolvendo o código existente.</para>
-        <para>Dito isto, este é um projeto de código aberto e é livre de fazer o que quiser ou de contribuir 
-        com aquilo que quiser. Mas não espere assistência se o motivo das suas alterações for não estar 
-        disposto a aprender C ou Scheme. Além disto, o <application>&app;</application> costumava ter 
-        associações SWIG (<ulink url="http://www.swig.org"></ulink>) que foram usadas por algum código programado 
-        em perl. De acordo com uma discussão na lista, estas associações SWIG podem ainda ser uma forma de incluir 
-        outras linguagens no <application>&app;</application>, embora atualmente não sejam usadas nem 
-        mantidas.</para>
-      </sect2>
-
-      <sect2 id="appendixb_general_newFeatures">
-        <title>P: Gostava realmente de ter a funcionalidade XYZ mas o <application>&app;</application> não 
-        a tem. Como é que a posso adicionar?</title>
-        <para>R: Peça com educação. :-) Pode fazer um pedido de melhoria em 
-        <ulink url="http://bugs.gnucash.org/enter_bug.cgi?product=&app;"></ulink>. Por favor, lembre-se 
-        de descrever a sua melhoria proposta de forma bastante completa. O truque aqui é aprender a dar a 
-        melhor informação aos programadores sobre o que a sua melhoria proposta vai fazer. Se quer acelerar 
-        o processo de desenvolvimento, considere doar algum dinheiro, conforme descrito em 
-        <application>&app;</application>Development.</para>
-      </sect2>
-
-      <sect2 id="appendixb_software_web">
-        <title>P: Há alguma interface web disponível para o <application>&app;</application>?</title>
-        <para>R: Não</para>
-      </sect2>
-
-      <sect2 id="appendixb_software_security">
-        <title>P: Como é que posso garantir a segurança dos dados do <application>&app;</application> 
-        usando CFS, etc.)</title>
-        <para>R: Sem resposta</para>
-      </sect2>
-
-      <sect2 id="appendixb_software_contribute">
-        <title>P: Como é que posso contribuir para o projeto do <application>&app;</application>?</title>
-        <para>R: Estamos a trabalhar num processo mais formal, mas para já, pode subscrever as listas de 
-        correio em 
-        <ulink url="http://lists.gnucash.org/mailman/listinfo/gnucash-user">
-            http://lists.gnucash.org/mailman/listinfo/gnucash-user</ulink> e em 
-        <ulink url="http://lists.gnucash.org/mailman/listinfo/gnucash-devel">
-            http://lists.gnucash.org/mailman/listinfo/gnucash-devel</ulink> e discutir como pode contribuir 
-        com os participantes da lista. Note que o <application>&app;</application> está escrito em C e Scheme 
-        (veja acima , <quote>Porque é que o <application>&app;</application> está escrito em C?</quote> se 
-        quiser saber porquê). Se não está disposto a trabalhar com estas linguagens, considere outros tipos de 
-        contribuição.</para>
-      </sect2>
-
-      <sect2 id="appendixb_software_bugs">
-        <title>P: Penso que encontrei um erro. Como é que o reporto?</title>
-        <para>R: Primeiro, tente verificar se é realmente um erro e se ainda não foi reportado. Procure 
-        nos arquivos de correio (veja a FAQ acima). Depois procure na base de dados do  
-        <ulink url="http://bugs.gnucash.org">Bugzilla do Gnome</ulink>.</para>
-        <para>Se achar que realmente encontrou um novo erro, pode reportá-lo em 
-        <ulink url="http://bugs.gnucash.org/enter_bug.cgi?product=&app;"></ulink>. Lembre-se de ser eloquente 
-        e claro. Tente aprender como deve informar os programadores a reproduzir o erro. Um programador só 
-        consegue reparar um erro que consiga ver, se não o conseguir ver, o erro não será reparado.!</para>
-      </sect2>
-
-    </sect1>
-    <sect1 id="appendixb_using">
-      <title>Usando o <application>&app;</application></title>
-
-      <sect2 id="appendixb_using_moveAtoB">
-        <title>P: Como é que posso mover transações da conta <quote>A</quote> para a conta <quote>B</quote>, 
-        ou seja, combinando-as?</title>
-        <para>R: De momento, o <application>&app;</application> não oferece uma forma de mover grupos de 
-        parcelas entre contas. Terá de as mover uma a uma. Abra o diário da conta <quote>A</quote> e 
-        selecione <menuchoice><guimenu>Ver</guimenu><guimenuitem>Diário de transações</guimenuitem></menuchoice> 
-        para ver todas as parcelas. Para cada parcela onde o campo <quote>Conta</quote> mostrar conta
-        <quote>A</quote> altere para conta <quote>B</quote>. Para o fazer rapidamente e com segurança, 
-        primeiro use <keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo> para copiar o nome da conta 
-        destino (<quote>conta B</quote>) para a área de transferência. Em seguida, realce cada referência à 
-        conta <quote>A</quote> com um duplo clique e use <keycombo><keycap>Ctrl</keycap><keycap>V</keycap>
-        </keycombo> para colar o nome da conta destino. Premindo <keycap function="enter">Enter</keycap> 
-        após cada colagem, move a transação para fora do diário silenciosamente.</para>
-        <para>Tenha cuidado! Se definir o campo <quote>Conta</quote> para uma localização errada 
-        inadvertidamente, terá de procurar em todas as contas para localizar a transação perdida para 
-        corrigir o erro.</para>
-      </sect2>
-
-      <sect2 id="appendixb_using_merge2files">
-        <title>P: É possível unir dois ficheiro do <application>&app;</application>?</title>
-        <para>R: De momento não.</para>
-      </sect2>
-
-      <sect2 id="appendixb_using_SaveAcctTemplate">
-        <title>P: Como é que posso gravar um modelo do meu plano de contas?</title>
-        <para>R: Isto está disponível no menu: <menuchoice><guimenu>Ficheiro</guimenu>
-        <guisubmenu>Exportar</guisubmenu><guimenuitem>Exportar contas</guimenuitem>
-        </menuchoice>
-        </para>
-      </sect2>
-      <sect2 id="appendixb_using_ListAll">
-        <title>P: Quando procuro clientes (ou qualquer outra coisa), como é que posso obter uma lista de tudo?</title>
-        <para>R: Insira um critério de procura <guilabel>satizfaz expreg</guilabel> e ponha um único ponto 
-        <quote>.</quote> na área do texto. Depois, clique em <guibutton>Procurar</guibutton>. A expressão 
-        regular <quote>.</quote> significa procurar tudo.</para>
-      </sect2>
-      <sect2 id="appendixb_using_Dates">
-        <title>P: Como posso registar uma transação em datas diferentes (data real e data do banco)?</title>
-        <para>R: Regista a transação no dia em que passa o cheque ou inicia a transação. Quando 
-        <quote>chegar</quote> ao banco, pode clicar no campo <quote>R</quote>  para <quote>confirmar</quote> 
-        a transação (altera <quote>nc</quote> para <quote>c</quote>).</para>
-      </sect2>
-    </sect1>
-    <sect1 id="appendixb_accounting">
-      <title>Contabilidade</title>
-      <sect2 id="appendixb_accounting_Taxes">
-        <title>P: Como é que trato os impostos? Como uma conta a pagar ou como despesa?</title>
-        <para>R: Esta é uma pergunta com rasteira e devia realmente falar com o seu contabilista. 
+<appendix id="appendixb">
+  <title>Questões frequentes</title>
+  <abstract><para>Esta é uma lista de perguntas feitas nas listas de correio para as quais não há realmente uma 
+  secção na documentação que lhes dê resposta.</para></abstract>
+  <qandaset defaultlabel='qanda'>
+    <qandadiv id="appendixb_info">
+    <title>Fontes de informação</title>
+
+    <qandaentry id="appendixb_info_where">
+      <question><para>Onde estão as FAQ?</para></question>
+      <answer><para>Está a olhar para elas. Pode encontrar a cópia mais atualizada na
+          <ulink url="&url-wiki-faq;">wiki do <application>&app;</application></ulink>.</para></answer>
+    </qandaentry>
+
+    <qandaentry id="appendixb_info_mail">
+      <question><para>Há listas de correio para o <application>&app;</application>?</para></question>
+      <answer><para>Sim. Vá a <ulink url="&url-mail-li;gnucash-user" /> e a 
+          <ulink url="&url-mail-li;/gnucash-devel" /> para as subscrever.</para></answer>
+    </qandaentry>
+
+    <qandaentry id="appendixb_info_mailarchive">
+      <question><para>Há algum arquivo onde se possa fazer procuras?</para></question>
+      <answer><para>Sim, pode procurar nos arquivos de correio em 
+      <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.devel"></ulink> e 
+      <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.user"></ulink> 
+      (e em <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.german"></ulink> 
+      se fala Alemão).</para></answer>
+    </qandaentry>
+
+    <qandaentry id="appendixb_info_other">
+      <question><para>Há outros meios para obter assistência ao <application>&app;</application>?</para></question>
+      <answer><para>Sim. Muitos dos programadores estão no icq, discussão #gnucash em irc.gnome.org. 
+      Há ainda uma wiki online em <ulink url="&url-wiki;Pt/&appname;" />.</para></answer>
+    </qandaentry>
+  </qandadiv>
+
+  <qandadiv id="appendixb_general">
+    <title>Informação geral</title>
+
+    <qandaentry id="appendixb_software_windows">
+      <question><para>Posso executar o <application>&app;</application> em Windows?</para></question>
+      <answer><para>Sim. A partir da versão 2.2.0, o <application>&app;</application> também está disponível 
+      para Windows.</para></answer>
+      <answer><para>Outras opções disponíveis serão o colinux, VMWare e windows-based X-server hospedando uma 
+      sessão remota do <application>&app;</application>.</para></answer>
+    </qandaentry>
+
+    <qandaentry id="appendixb_general_hard2compile">
+      <question><para>Ouvi dizer que era muito díficl compilar o <application>&app;</application>!</para></question>
+      <answer><para>Isto foi provavelmente verdade quando a versão 1.6.0 foi lançada. Hoje em dia já não é 
+      verdade, dado que a maioria das ditribuições Linux já têm todas as bibliotecas necessárias 
+      (exceto a g-wrap, ou seja, há realmente <quote>uma</quote> biblioteca extra a instalar antes de 
+      compilar o <application>&app;</application>). Contudo, por predefinição, as distribuições não 
+      instalam pacotes de desenvolvimento das bibliotecas requeridas, pelo que poderá ter que iniciar 
+      o programa de instalação da sua distribuição e dizer-lhe que instale também as bibliotecas de 
+      desenvolvimento (-devel). Em geral, notou-se que este problema afeta muitas aplicações no domínio 
+      Gnome, o que se reduz ao fato de que não há efetivamente algo como <quote>um pacote gnome 
+      monolítico</quote>.</para></answer>
+    </qandaentry>
+
+    <qandaentry id="appendixb_general_batchmode">
+      <question><para>Há algum modo de o <application>&app;</application> construir relatórios em lote, de forma 
+      não interativa?</para></question>
+      <answer><para>Não, por agora o <application>&app;</application> tem de usar interatividade.</para></answer>
+    </qandaentry>
+
+    <qandaentry id="appendixb_general_multuser">
+      <question><para>Pode o mesmo ficheiro de dados do <application>&app;</application> ser acedido por múltiplas 
+      pessoas?</para></question>
+      <answer><para>Pode ter múltiplas pessoas com acesso ao mesmo ficheiro de dados, mas não em simultâneo.</para>
+      <para>Para configurar o acesso multiutilizador, todos terão de ter direitos de leitura/escrita na pasta 
+      que contém o ficheiro (para ler os ficheiros criados por outros e para criar novos ficheiros). 
+      Uma forma de o fazer é criar um grupo de utilizadores e definir a pasta de dados como propriedade 
+      partilhada do grupo, definida para modo 2775. O <quote>2</quote> torna a pasta setgid, o que copia as 
+      permissões para todos os ficheiros.</para></answer>
+    </qandaentry>
+
+    <qandaentry id="appendixb_general_WhyC">
+      <question><para>Porque é que o <application>&app;</application> está escrito em C?</para></question>
+      <answer><para>A funcionalidade central do <application>&app;</application> é escrita em C, mas não se 
+      esqueça que muito do núcleo pode ser acedido pelo Guile (scheme). Há um sem número de razões para o 
+      <application>&app;</application> ser escrito em C. A primeira é histórica, o 
+      <application>&app;</application> começou em 1996 (ou talvez antes!)  e muitos dos compiladores OOP 
+      (C++, Java, Python) ainda não tinham amadurecido e estabilizado o suficiente nas várias plataformas 
+      consideradas na altura, portanto C era a única opção nessa época. Uma segunda razão seria por o GUI 
+      (ambiente de trabalho) padrão do <application>&app;</application> usar GTK, que é escrito em C.</para></answer>
+    </qandaentry>
+
+    <qandaentry id="appendixb_general_rewrite">
+      <question><para>Porque é que não reescrevem o <application>&app;</application> na linguagem xyz para 
+      que eu possa contribuir facilmente?</para></question>
+      <answer><para>A resposta rápida é <quote>Não o faremos</quote>. A resposta mais longa é complexa mas é a 
+      mesma. O <application>&app;</application> é um enorme corpo de código mantido por um pequeno 
+      grupo de programadores que se sentem confotáveis com C e Scheme (Guile). De fato, 80% é em C 
+      e aproximadamente 13% é em Scheme/Lisp. Não há nenhuma razão válida que justifique reescrever a quantidade 
+      de código existente numa linguagem diferente. Além disso, criar associações de linguagem a linguagens 
+      recentes como Python ou Ruby ou qualquer outra da sua preferência é trabalho intenso e já temos trabalho 
+      que chegue mantendo e desenvolvendo o código existente.</para></answer>
+      <answer><para>Dito isto, este é um projeto de código aberto e é livre de fazer o que quiser ou de contribuir 
+      com aquilo que quiser. Mas não espere assistência se o motivo das suas alterações for não estar 
+      disposto a aprender C ou Scheme. Além disto, o <application>&app;</application> costumava ter 
+      associações SWIG (<ulink url="http://www.swig.org" />) que foram usadas por algum código programado 
+      em perl. De acordo com uma discussão na lista, estas associações SWIG podem ainda ser uma forma de incluir 
+      outras linguagens no <application>&app;</application>, embora atualmente não sejam usadas nem 
+      mantidas.</para></answer>
+    </qandaentry>
+
+    <qandaentry id="appendixb_general_newFeatures">
+      <question><para>Gostava realmente de ter a funcionalidade XYZ mas o <application>&app;</application> não 
+      a tem. Como é que a posso adicionar?</para></question>
+      <answer><para>Peça com educação. :-) Pode fazer um pedido de melhoria em 
+      <ulink url="&url-bug-start;" />. Por favor, lembre-se 
+      de descrever a sua melhoria proposta de forma bastante completa. O truque aqui é aprender a dar a 
+      melhor informação aos programadores sobre o que a sua melhoria proposta vai fazer. Se quer acelerar 
+      o processo de desenvolvimento, considere doar algum dinheiro, conforme descrito em 
+      <application>&app;</application>Development.</para></answer>
+    </qandaentry>
+
+    <qandaentry id="appendixb_software_web">
+      <question><para>Há alguma interface web disponível para o <application>&app;</application>?</para></question>
+      <answer><para>Não</para></answer>
+    </qandaentry>
+
+    <qandaentry id="appendixb_software_security">
+      <question><para>Como é que posso garantir a segurança dos dados do <application>&app;</application> 
+      usando CFS, etc.)</para></question>
+      <answer><para>Sem resposta</para></answer>
+    </qandaentry>
+
+    <qandaentry id="appendixb_software_contribute">
+      <question><para>Como é que posso contribuir para o projeto do <application>&app;</application>?</para></question>
+      <answer><para>Estamos a trabalhar num processo mais formal, mas para já, pode subscrever as listas de 
+      correio em 
+      <ulink url="&url-mail-li;gnucash-user" /> e em 
+      <ulink url="&url-mail-li;gnucash-devel" /> e discutir como pode contribuir 
+      com os participantes da lista. Note que o <application>&app;</application> está escrito em C e Scheme 
+      (veja acima , <quote>Porque é que o <application>&app;</application> está escrito em C?</quote> se 
+      quiser saber porquê). Se não está disposto a trabalhar com estas linguagens, considere outros tipos de 
+      contribuição.</para></answer>
+    </qandaentry>
+
+    <qandaentry id="appendixb_software_bugs">
+      <question><para>Penso que encontrei um erro. Como é que o reporto?</para></question>
+      <answer><para>Primeiro, tente verificar se é realmente um erro e se ainda não foi reportado. Procure 
+      nos arquivos de correio (veja a FAQ acima). Depois procure na base de dados do  
+      <ulink url="&url-bug-start;">Bugzilla do &appname;</ulink>.</para>
+      <para>Se achar que realmente encontrou um novo erro, pode reportá-lo em 
+      <ulink url="&url-bug-start;" />. Lembre-se de ser eloquente 
+      e claro. Tente aprender como deve informar os programadores a reproduzir o erro. Um programador só 
+      consegue reparar um erro que consiga ver, se não o conseguir ver, o erro não será reparado.!</para></answer>
+    </qandaentry>
+
+  </qandadiv>
+  <qandadiv id="appendixb_using">
+    <title>Usando o <application>&app;</application></title>
+
+    <qandaentry id="appendixb_using_moveAtoB">
+      <question><para>Como é que posso mover transações da conta <quote>A</quote> para a conta <quote>B</quote>, 
+      ou seja, combinando-as?</para></question>
+      <answer><para>De momento, o <application>&app;</application> não oferece uma forma de mover grupos de 
+      parcelas entre contas. Terá de as mover uma a uma. Abra o diário da conta <quote>A</quote> e 
+      selecione <menuchoice><guimenu>Ver</guimenu><guimenuitem>Diário de transações</guimenuitem></menuchoice> 
+      para ver todas as parcelas. Para cada parcela onde o campo <quote>Conta</quote> mostrar conta
+      <quote>A</quote> altere para conta <quote>B</quote>. Para o fazer rapidamente e com segurança, 
+      primeiro use <keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo> para copiar o nome da conta 
+      destino (<quote>conta B</quote>) para a área de transferência. Em seguida, realce cada referência à 
+      conta <quote>A</quote> com um duplo clique e use <keycombo><keycap>Ctrl</keycap><keycap>V</keycap>
+      </keycombo> para colar o nome da conta destino. Premindo <keycap function="enter">Enter</keycap> 
+      após cada colagem, move a transação para fora do diário silenciosamente.</para>
+      <caution><para>Se definir o campo <quote>Conta</quote> para uma localização errada 
+      inadvertidamente, terá de procurar em todas as contas para localizar a transação perdida para 
+      corrigir o erro.</para></caution></answer>
+    </qandaentry>
+
+    <qandaentry id="appendixb_using_merge2files">
+      <question><para>É possível unir dois ficheiro do <application>&app;</application>?</para></question>
+      <answer><para>De momento não.</para></answer>
+    </qandaentry>
+
+    <qandaentry id="appendixb_using_SaveAcctTemplate">
+      <question><para>Como é que posso gravar um modelo do meu plano de contas?</para></question>
+      <answer><para>Isto está disponível no menu: <menuchoice><guimenu>Ficheiro</guimenu>
+      <guisubmenu>Exportar</guisubmenu><guimenuitem>Exportar contas</guimenuitem>
+      </menuchoice>
+      </para></answer>
+    </qandaentry>
+
+    <qandaentry id="appendixb_using_ListAll">
+      <question><para>Quando procuro clientes (ou qualquer outra coisa), como é que posso obter uma lista de tudo?</para></question>
+      <answer><para>Insira um critério de procura <guilabel>satizfaz expreg</guilabel> e ponha um único ponto 
+      <quote>.</quote> na área do texto. Depois, clique em <guibutton>Procurar</guibutton>. A expressão 
+      regular <quote>.</quote> significa procurar tudo.</para></answer>
+    </qandaentry>
+
+    <qandaentry id="appendixb_using_Dates">
+      <question><para>Como posso registar uma transação em datas diferentes (data real e data do banco)?</para></question>
+      <answer><para>Regista a transação no dia em que passa o cheque ou inicia a transação. Quando 
+      <quote>chegar</quote> ao banco, pode clicar no campo <quote>R</quote>  para <quote>confirmar</quote> 
+      a transação (altera <quote>nc</quote> para <quote>c</quote>).</para></answer>
+    </qandaentry>
+  </qandadiv>
+
+  <qandadiv id="appendixb_accounting">
+    <title>Contabilidade</title>
+
+    <qandaentry id="appendixb_accounting_Taxes">
+      <question><para>Como é que trato os impostos? Como uma conta a pagar ou como despesa?</para></question>
+      <answer><para>Esta é uma pergunta com rasteira e devia realmente falar com o seu contabilista. 
         A forma como trata dos impostos depende do tipo de imposto e de como o <emphasis>QUER</emphasis> 
-        tratar. Nalguns casos são despesas, noutros são passivo.</para>
-      </sect2>
-    </sect1>
-  </appendix>
+        tratar. Nalguns casos são despesas, noutros são passivo.</para></answer>
+    </qandaentry>
+    </qandadiv>
+  </qandaset>
+</appendix>

commit 00fa43ff9588e3232f1977c36c3d10cd73d98b92
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date:   Sat Sep 14 03:47:54 2019 +0200

    Remove Guide/de/toc.xml
    
    It seems, it has never been used

diff --git a/guide/de/toc.xml b/guide/de/toc.xml
deleted file mode 100644
index dfdf8d6..0000000
--- a/guide/de/toc.xml
+++ /dev/null
@@ -1,237 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
-]>
-<book id="toc"><title>&app; Benutzerhandbuch Gliederung</title>
-<article><sect1><title>Teil Eins: Einführung</title>
-<sect2><title>Kapitel 1 Übersicht über &app;</title>
-<itemizedlist>
-<listitem><para>1.1 Einführung in &app; (Discussion)</para></listitem>
-<listitem><para>1.2 Über dieses Handbuch (Discussion)</para></listitem>
-<listitem><para>1.3 Zehn Gründe, &app; zu benutzen (Discussion)</para></listitem>
-<listitem><para>1.4 Installation (How-To)</para></listitem>
-</itemizedlist>
-</sect2>
-<sect2><title>Kapitel 2  Grundlegende Struktur und Einrichtung</title>
-<itemizedlist>
-<listitem><para>2.1 Dateneingabe (Discussion)</para></listitem>
-<listitem><para>        2.1.1 Dateien, Konten und Buchungen</para></listitem>
-<listitem><para>        2.1.2 Doppelte Buchführung</para></listitem>
-<listitem><para>2.2 Die Bedieneroberfläche von &app; (Discussion)</para></listitem>
-<listitem><para>        2.2.1 Anlegen eines neuen Benutzers</para></listitem>
-<listitem><para>        2.2.2 Tipp des Tages</para></listitem>
-<listitem><para>        2.2.3 Hauptfenster</para></listitem>
-<listitem><para>        2.2.4 Register Window</para></listitem>
-<listitem><para>        2.2.5 Werkzeugleiste</para></listitem>
-<listitem><para>        2.2.6 Menü Optionen</para></listitem>
-<listitem><para>        2.2.7 Menü Abkürzungen</para></listitem>
-<listitem><para>2.3 Einstellungen vornehmen (Discussion)</para></listitem>
-<listitem><para>2.4 Hilfe (Discussion)</para></listitem>
-<listitem><para>        2.4.1 Handbuch</para></listitem>
-<listitem><para>        2.4.2 WWW</para></listitem>
-<listitem><para>        2.4.3 Registrierung über Interet</para></listitem>
-<listitem><para>        2.4.4 Suche nach Themen</para></listitem>
-<listitem><para>2.5 Dateien anlegen, speichern und öffnen (How-To)</para></listitem>
-<listitem><para>2.6 QIF Dateien importieren (How-To)</para></listitem>
-<listitem><para>2.7 Datensicherung  (How-To)</para></listitem>
-<listitem><para>2.8 Alles zusammensetzen (Beispiele zum Erstellen und Speichern einer Datei, Importieren einer QIF Datei und zum Verändern von Einstellungen)</para></listitem>
-</itemizedlist>
-</sect2>
-<sect2><title>Kapitel 3  Organizing Your Accounts</title>
-<itemizedlist>
-<listitem><para>3.1 Accounts vs. Categories (Discussion)</para></listitem>
-<listitem><para>3.2 Arten von &app; Konten (Discussion)</para></listitem>
-<listitem><para>3.3 Ein neues Konto einrichten (How-To)</para></listitem>
-<listitem><para>        3.3.1 Allgemeine Information</para></listitem>
-<listitem><para>        3.3.2 Opening Balance</para></listitem>
-<listitem><para>3.4 Setting Up a Chart of Accounts (How-To)</para></listitem>
-<listitem><para>3.5 Konten verändern (How-To)</para></listitem>
-<listitem><para>        3.5.1 Ändern eines Kontos</para></listitem>
-<listitem><para>        3.5.2 Löschen eines Kontos</para></listitem>
-<listitem><para>3.6 Changing a Chart of Accounts</para></listitem>
-<listitem><para>        3.6.1 Moving From Subaccount to Parent Account</para></listitem>
-<listitem><para>        3.6.2 Moving From Parent Account to Subaccount</para></listitem>
-<listitem><para>        3.6.3 Moving To a Different Parent Account</para></listitem>
-<listitem><para>3.7 Konten und Unterkonten öffnen</para></listitem>
-<listitem><para>3.8 Scrubbing Accounts</para></listitem>
-<listitem><para>3.9 Alles zusammensetzen (Examples of setting up a simple chart of accounts with cash, checking, savings, credit card, income and expense accounts)</para></listitem>
-</itemizedlist>
-</sect2>
-<sect2><title>Kapitel 4 Buchungen eintragen</title>
-<itemizedlist>
-<listitem><para>4.1 Overview of Registers (Discussion)</para></listitem>
-<listitem><para>4.2 Setting Register Options (Discussion)</para></listitem>
-<listitem><para>        4.2.1 Style</para></listitem>
-<listitem><para>        4.2.2 Sort Order</para></listitem>
-<listitem><para>        4.2.3 Date Range</para></listitem>
-<listitem><para>        4.2.4 Preferences</para></listitem>
-<listitem><para>4.3 Eine Buchung eingeben (How-To)</para></listitem>
-<listitem><para>        4.3.1 Register</para></listitem>
-<listitem><para>        4.3.2 Transfer Dialog</para></listitem>
-<listitem><para>        4.3.3 General Journal Tool</para></listitem>
-<listitem><para>4.4 Entering Multiple Splits (How-To)</para></listitem>
-<listitem><para>4.5 Using Entry Shortcuts (How-To)</para></listitem>
-<listitem><para>        4.5.1 Autofill</para></listitem>
-<listitem><para>        4.5.2 Keyboard shortcuts</para></listitem>
-<listitem><para>4.6 Working with Existing Transactions (How-To)</para></listitem>
-<listitem><para>        4.6.1 Editing</para></listitem>
-<listitem><para>        4.6.2 Deleting</para></listitem>
-<listitem><para>        4.6.3 Copying</para></listitem>
-<listitem><para>        4.6.4 Jumping to Other Account</para></listitem>
-<listitem><para>        4.6.5 Finding</para></listitem>
-<listitem><para>4.7  Reconciling to a Statement (How-To)</para></listitem>
-<listitem><para>4.8  Wiederkehrende/geplante Buchungen (How-To)</para></listitem>
-<listitem><para>4.9  Alles zusammensetzen (Example of entering an opening balance in checking,  entering a paycheck with deductions, entering a second paycheck using QuickFill, and scheduling a recurring paycheck transaction)</para></listitem>
-</itemizedlist>
-</sect2></sect1>
-<sect1><title>Teil Zwei: Managing Your Records</title>
-<sect2><title>Kapitel 5  Your Checkbook  and Wallet</title>
-<itemizedlist>
-<listitem><para>5.1 Setting up Accounts (Discussion)</para></listitem>
-<listitem><para>5.2 Entering Deposits(Discussion)</para></listitem>
-<listitem><para>        5.2.1 Net Pay (How-To)</para></listitem>
-<listitem><para>        5.2.2 Gross Pay(How-To)</para></listitem>
-<listitem><para>        5.2.3 Interest Income (How-To)</para></listitem>
-<listitem><para>        5.2.4 Other (Non-Income) Deposits (How-To)</para></listitem>
-<listitem><para>5.3 Entering Withdrawals (Discussion)</para></listitem>
-<listitem><para>        5.3.1 Check Payments (How-To)</para></listitem>
-<listitem><para>        5.3.2 ATM/Cash Withdrawals(How-To)</para></listitem>
-<listitem><para>        5.3.3 Service Charges (How-To)</para></listitem>
-<listitem><para>        5.3.4 Other Withdrawals (How-To)</para></listitem>
-<listitem><para>5.4 Printing Checks (How-To)</para></listitem>
-<listitem><para>5.5 Reconciling Bank and Cash Accounts (How-To)</para></listitem>
-<listitem><para>5.6 Adjusting the Balance (How-To)</para></listitem>
-<listitem><para>5.7 Alles zusammensetzen (Examples)</para></listitem>
-</itemizedlist>
-</sect2>
-<sect2><title>Kapitel 6 Kreditkarten</title>
-<itemizedlist>
-<listitem><para>6.1 Kreditkarten-Konto einrichten (Discussion)</para></listitem>
-<listitem><para>6.2 Opening Credit Card Balance (How-To)</para></listitem>
-<listitem><para>6.3 Entering Charges(Discussion)</para></listitem>
-<listitem><para>        6.3.1 Purchases (How-To)</para></listitem>
-<listitem><para>        6.3.2 Finance/Late Charges (How-To)</para></listitem>
-<listitem><para>6.4 Zahlungen eingeben (Discussion)</para></listitem>
-<listitem><para>        6.4.1 monatliche Zahlungen (How-To)</para></listitem>
-<listitem><para>        6.4.2 Refunds/Credits (How-To)</para></listitem>
-<listitem><para>6.5 Reconciling Credit Card Accounts (How-To)</para></listitem>
-<listitem><para>6.6 Adjusting the Balance (How-To)</para></listitem>
-<listitem><para>6.7 Alles zusammensetzen (Examples)</para></listitem>
-</itemizedlist>
-</sect2>
-<sect2><title>Kapitel 7 Investments</title>
-<itemizedlist>
-<listitem><para>7.1 Setting up Accounts (Discussion - brokerage, IRA, 401(K), stock options)</para></listitem>
-<listitem><para>        -Brokerage</para></listitem>
-<listitem><para>        -CD?s</para></listitem>
-<listitem><para>        -Treasury Bills</para></listitem>
-<listitem><para>        -Money Market</para></listitem>
-<listitem><para>        -Mutual Funds</para></listitem>
-<listitem><para>        -Stocks</para></listitem>
-<listitem><para>        -Bonds</para></listitem>
-<listitem><para>        -Retirements accounts</para></listitem>
-<listitem><para>7.2 Creating a Portfolio for Your Current Holdings (How-To)</para></listitem>
-<listitem><para>7.3 Buying New Investments (How-To)</para></listitem>
-<listitem><para>7.4 Selling Investments (How-To)</para></listitem>
-<listitem><para>7.5 Recording Dividends and Interest (How-To)</para></listitem>
-<listitem><para>7.6 Recording Stock Splits and Mergers (How-To)</para></listitem>
-<listitem><para>7.7 Recording Employee Stock Plans (Discussion)</para></listitem>
-<listitem><para>        7.7.1 Stock Purchase Plans (How-To)</para></listitem>
-<listitem><para>        7.7.2 Stock Options (How-To)</para></listitem>
-<listitem><para>7.8 Managing your Portfolio (Discussion)</para></listitem>
-<listitem><para>        7.8.1  Portfolio View</para></listitem>
-<listitem><para>        7.8.2 Updating Prices (How-To)</para></listitem>
-<listitem><para>        7.8.3 Measuring Capital Gains (Discussion)</para></listitem>
-<listitem><para>7.9 Reconciling with the Brokerage Statement (How-To)</para></listitem>
-<listitem><para>7.10 Alles zusammensetzen (Examples)</para></listitem>
-</itemizedlist>
-</sect2>
-<sect2><title>Kapitel 8 Anlagevermögen und Darlehen</title>
-<itemizedlist>
-<listitem><para>8.1 Konten einrichten (Discussion of ways to handle appreciation, depreciation, principal and interest payments, gains)</para></listitem>
-<listitem><para>8.2 Buying a House with Related Mortgage (How-To)</para></listitem>
-<listitem><para>8.3 Buying a Vehicle with Related Loan (How-To)</para></listitem>
-<listitem><para>8.4 Entering a Payment Schedule</para></listitem>
-<listitem><para>        8.4.1 Monthly Payments (How-To)</para></listitem>
-<listitem><para>        8.4.2 Final Payment (How-To)</para></listitem>
-<listitem><para>8.5 Selling a House or Vehicle (How-To)</para></listitem>
-<listitem><para>8.6 Recording Changes in Value</para></listitem>
-<listitem><para>        8.6.1 Appreciation (How-To)</para></listitem>
-<listitem><para>        8.6.2 Depreciation (How-To)</para></listitem>
-<listitem><para>        8.6.3 Capital Gains (How-To)</para></listitem>
-<listitem><para>8.7 Tracking Other Assets (How-To)</para></listitem>
-<listitem><para>8.8 Reconciling with the Loan Statements (How-To)</para></listitem>
-<listitem><para>8.9 Alles zusammensetzen (Examples)</para></listitem>
-</itemizedlist>
-</sect2>
-<sect2><title>Kapitel 9  Mehrere Währungen</title>
-<itemizedlist>
-<listitem><para>9.1 Konten einrichten (Discussion of ISO codes, setup of currency accounts)</para></listitem>
-<listitem><para>9.2 &app; Währungsunterstützung (Discussion of Euro support, exchange rates)</para></listitem>
-<listitem><para>9.3 Setting International Preferences (Discussion)</para></listitem>
-<listitem><para>9.4 Recording Currency Exchange (How-To)</para></listitem>
-<listitem><para>9.5 Recording Purchases in a Foreign Currency (How-To)</para></listitem>
-<listitem><para>9.6 Tracking Currency Investments (How-To)</para></listitem>
-<listitem><para>9.7 Reconciling Statements in a Foreign Currency (How-To)</para></listitem>
-<listitem><para>9.8 Updating Exchange Rates (How-To)</para></listitem>
-<listitem><para>9.9 Alles zusammensetzen (Examples)</para></listitem>
-</itemizedlist>
-</sect2>
-<sect2><title>Kapitel 10 Berichte und Grafiken</title>
-<itemizedlist>
-<listitem><para>10.1 Übersicht über Berichte und Grafiken (Discussion)</para></listitem>
-<listitem><para>10.2 Arten von Berichten und Grafiken (Discussion)</para></listitem>
-<listitem><para>10.3 Standard-Berichte und -Grafiken erstellen (How-To)</para></listitem>
-<listitem><para>10.4 Anpassung (How-To)</para></listitem>
-<listitem><para>10.5 Berichte und Grafiken ausdrucken (How-To)</para></listitem>
-<listitem><para>10.6 Alles zusammensetzen (Examples)</para></listitem>
-</itemizedlist>
-</sect2>
-<sect2><title>Kapitel 11 Online-Unterstützung</title>
-<itemizedlist>
-<listitem><para>11.1 Verfügbare Onlinefunktionen (Discussion)</para></listitem>
-<listitem><para>11.2 Die Online-Hilfe benutzen (How-To)</para></listitem>
-<listitem><para>11.3 Softwareupdates über das Internet einspielen (How-To)</para></listitem>
-<listitem><para>11.4 Aktien- und Währungskurse online beziehen (How-To)</para></listitem>
-<listitem><para>11.5 Kontoauszüge importieren (How-To)</para></listitem>
-<listitem><para>11.6 Alles zusammensetzen (Examples)</para></listitem>
-</itemizedlist>
-</sect2>
-</sect1>
-<sect1><title>Teil Drei:  Fortgeschrittene Themen</title>
-<sect2><title>Kapitel 12  Zukunftsplanung</title>
-<itemizedlist>
-<listitem><para>12.1 Die Steuererklärung vorbereiten (Discussion)</para></listitem>
-<listitem><para>12.2 Budgets erstellen und benutzen (Discussion)</para></listitem>
-<listitem><para>12.3 Planning for Loans (Discussion)</para></listitem>
-<listitem><para>12.4 Planning to Buy a House (Discussion)</para></listitem>
-</itemizedlist>
-</sect2>
-<sect2><title>Kapitel 13 Business Needs</title>
-<itemizedlist>
-<listitem><para>13.1 Overview of Business vs. Personal Needs</para></listitem>
-<listitem><para>13.2 Mehr zur Doppelten Buchführung</para></listitem>
-<listitem><para>13.3 Hauptbuch</para></listitem>
-<listitem><para>13.4 Forderungen und Verbindlichkeiten</para></listitem>
-<listitem><para>13.5 Inventar</para></listitem>
-<listitem><para>13.6 Lohn- und Gehaltsliste</para></listitem>
-</itemizedlist>
-</sect2>
-</sect1>
-<sect1><title>Anhänge</title>
-<sect2><title>Anhang A Anleitung für Benutzer von Quicken und anderen QIF-basierten Anwendungen</title>
-<itemizedlist>
-<listitem><para>Organization of QIF Files (Discussion)</para></listitem>
-<listitem><para>Common Duplication Issues (Discussion)</para></listitem>
-<listitem><para>Checking QIF Data (Discussion)</para></listitem>
-</itemizedlist>
-</sect2>
-<sect2><title>Anhang B Häufige Fragen und Antworten (FAQ)</title>
-<itemizedlist>
-<listitem><para>(Notes: How to treat taxes (payable or expense?), how to record a txn on different dates (actual date and bank date), how to provide security for GC data using CFS, etc.)</para></listitem>
-</itemizedlist>
-</sect2>
-<sect2><title>Anhang C Fehlerbehebung</title>
-<para></para></sect2>
-</sect1>
-</article></book>

commit 746f6ffdf40d610cc70ec4f07b2fbcbd5d9c7d66
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date:   Sat Sep 14 02:29:30 2019 +0200

    Merge current guide/C "Import Business Data" into de

diff --git a/guide/de/ch_import_business_data.xml b/guide/de/ch_import_business_data.xml
index c7b0b26..fab665e 100644
--- a/guide/de/ch_import_business_data.xml
+++ b/guide/de/ch_import_business_data.xml
@@ -3,349 +3,956 @@
 
 <!-- (Do not remove this comment block.)
 
-Version: 2.4.0
-Last modified: 2013-11-21
+Version: 3.4.0
+Last modified: 2019-01-13
 
 Maintainers:
 
 Author:
-  Mike Evans <mikee at saxicola.co.uk>
+	Mike Evans <mikee at saxicola.co.uk>
+Updated:
+	Rob Laan <rob.laan at chello.nl>
 
-    Translators:
-    (translators put your name and email here)
+		Translators:
+		(translators put your name and email here)
 -->
 
 <chapter id="ch_import_bus_data">
-  <title>Importing Business Data</title>
+	<title>Importing Business Data</title>
  <para>&untranslated-de;</para>
   <!--
 
-  <sect1 id="import-invoices">
-    <title>Import Bills or Invoices</title>
-    <para>This functionality is only available by default for versions greater than 2.6</para>
-   <para>For 2.4.13 the Customers and Vendors importer is an optional module and needs to enabled by editing the file <filename>$HOME/.gnucash/config.user</filename>,
-    adding the line:</para>
-    <para><code>(gnc:module-load "gnucash/plugins/bi_import" 0)</code></para>
-    <para>On Linux systems this file is found at <filename>$HOME/.gnucash/config.user</filename>
-      and on Mac OSX it is <filename>~/Library/Application Support/Gnucash/config.user</filename>.
-      If the file doesn’t already exist you will have to create it.
-      After restarting <application>&app;</application>, the item will appear at the bottom 
-    of the business menu.</para>
-    
-
-    <para>In order for the importer to work the data must be in a fixed field
-      length, comma separated line format. A example <application>Python</application> script to convert
-      a downloaded order is shown below.
-    </para>
-
-    <para>
-      <programlisting language="python" linenumbering="unnumbered">
-import sys
-import csv
-
-VENDOR_ID="000013"
-INFILE=sys.argv[1]
-INV_ID=sys.argv[2]
-try:
-  ACCOUNT=sys.argv[3]
-except:
-  ACCOUNT="Expenses:Materials General"
-
-Reader = csv.reader(open(INFILE), delimiter=',')
-
-# Need to ignore 1st and last rows
-
-for row in Reader:
-  if row[0].isdigit(): # We only use numbered lines
-    outline=(INV_ID + ",," + VENDOR_ID + ",,,," + row[1] + " > " + row[4] + ",ea," +
-      ACCOUNT + "," + row[2] + "," + row[5].replace("GBP", "") + ",,,,no,,,,,,,")
-  print outline
-      </programlisting>
-    </para>
-
-    <para>Example of a downloaded vendor order from <emphasis>Rapid Electronics</emphasis> (UK).
-      <programlisting language="python" linenumbering="unnumbered">
-line number,product code,quantity,availability,product description,unit price,discounts,line total,delivery,sub total,vat,grand total
-1,47-3524,100,100 Available,BC848C SOT-23 NPN TRANSISTOR (INF) (RC),GBP0.03,GBP0.00,GBP0.03
-2,47-3278,30,30 Available,L78L05ACZ 0.1A +5V VOLTAGE REG (ST) (RC),GBP0.18,GBP0.00,GBP0.18
-3,22-0120,1,1 Available,Tube 34 14pin DIL socket, narrow7.62mm, without central support,GBP1.05,GBP0.00,GBP1.05
-4,22-0127,1,0 Available<br />1 on Back Order,Tube 17 28pin DIL socket, wide15.24mm, without central support,GBP1.22,GBP0.00,GBP1.22
-5,62-0368,1,1 Available,820R CR25 0.25W CF Resistor Pk 100,GBP0.50,GBP0.00,GBP0.50
-6,47-3130,100,100 Available,1N4001 1A 50V SILICON RECTIFIER DIODE RC,GBP0.01,GBP0.00,GBP0.01
-7,17-0310,1,1 Available,PROFESSIONAL MINATURE PROBE HOOK RED RC,GBP0.90,GBP0.00,GBP0.90
-8,17-0312,1,1 Available,PROFESSIONAL MINATURE PROBE HOOK BLACKRC,GBP0.90,GBP0.00,GBP0.90
-9,34-0655,1,1 Available,PROTOBLOC 2 BREADBOARD,GBP4.39,GBP0.00,GBP4.39
-10,18-0200,1,1 Available,PP3 9V ALKALINE BATTERY "Not For Retail Sale",GBP1.37,GBP0.00,GBP1.37
-,,,,,,,,GBP4.95,GBP24.93,GBP4.35,GBP29.28
-      </programlisting>
-    </para>
-
-    <para>A similar file after processing with the <application>Python</application> script.</para>
-
-    <para>
-        <programlisting language="python">
-MEC-0071,,000013,,,,34-0655 > PROTOBLOC 2 BREADBOARD,ea,Expenses:Materials General,1,4.39,,,,no,,,,,,,
-MEC-0071,,000013,,,,18-0105 > PP3 / PP6 BATTERY CLIP 150MM (RC),ea,Expenses:Materials General,10,0.06,,,,no,,,,,,,
-MEC-0071,,000013,,,,62-0370 > 1k CR25 0.25W CF Resistor Pk 100,ea,Expenses:Materials General,1,0.50,,,,no,,,,,,,
-MEC-0071,,000013,,,,62-0354 > 220R CR25 0.25W CF Resistor Pk 100,ea,Expenses:Materials General,1,0.50,,,,no,,,,,,,
-MEC-0071,,000013,,,,34-5548 > PLAIN DOCUMENT WALLET ASSORTED PK 50 RE,ea,Expenses:Materials General,1,6.95,,,,no,,,,,,,
-MEC-0071,,000013,,,,62-0386 > 4k7 CR25 0.25W CF Resistor Pk 100,ea,Expenses:Materials General,1,0.50,,,,no,,,,,,,
-MEC-0071,,000013,,,,34-0860 > COPPER CLAD SRBP SS 100 X 160 (RC),ea,Expenses:Materials General,5,0.50,,,,no,,,,,,,
-MEC-0071,,000013,,,,18-0163 > PP3 BATTERY HOLDER WITH FLYING LEADS RC,ea,Expenses:Materials General,5,0.23,,,,no,,,,,,,
-MEC-0071,,000013,,,,73-4290 > ATMEGA8-16PU 8-BIT MICRO 8K DIL-28 (RC),ea,Expenses:Materials General,3,1.99,,,,no,,,,,,,
-MEC-0071,,000013,,,,81-0014 > BC108 NPN GP TRANSISTOR RC,ea,Expenses:Materials General,20,0.16,,,,no,,,,,,,
-MEC-0071,,000013,,,,DELIVERY,ea,Expenses:Postage,1,4.95,,,,no,,,,,,,
-MEC-0071,,000013,,,,VAT,tax,Expenses:VAT,1,4.35,,,,no,,,,,,,
-        </programlisting>
-    </para>
-
-    <para>
-      As can be seen there are some fields that are absent and some that
-      are not required for import. The first line is not required and the last
-      line is superfluous as <application>&app;</application> will total the order for us. All that is
-      required is to take what we want and produce an output file with the
-      correct format to import into <application>&app;</application>. In this case we join the part
-      number and description fields and these become description in <application>&app;</application>
-      invoice/bill. We need the qty and part price fields. Contrary to the
-      header line <acronym>VAT</acronym> is not included by line and is always zero, the <acronym>VAT</acronym> is
-      calculated on the last line as <acronym>VAT</acronym> on the order total.
-      <note>
-        <para>This will cause problems later.</para>
-      </note>
-      In this example I have assigned the
-      <emphasis>Expenses:Materials General</emphasis> account to be the target account. This can be
-      changed after import in the usual way, along with any other data. If there
-      is no such account as <emphasis>Expenses:Materials General</emphasis> then that field will be
-      left blank on import and will have to be set manually. Lines beginning
-      with a <quote>#</quote> are regarded as comment lines and ignored.
-    </para>
-
-    <para>The script is called with the following command:</para>
-      <para> <command>python importer.py <replaceable>file_to_import</replaceable>,
-      <replaceable>invoice_id</replaceable> > <replaceable>file_to_save_as.csv</replaceable></command>
-      </para>
-    <para>This short script can easily be
-      changed to suit any downloaded format. The only restriction is that the
-      final number of field is fixed, at least at the moment. The importer will
-      ignore lines with the wrong number of fields. (This may be fixed in future
-      version). Vendor ID is simply the ID assigned to the specific vendor, or
-      client. The row[N] items refer to the position in the line where the
-      correct data lies. Note that the first field is row[0] NOT row[1].
-    </para>
-
-    <para>Once you have converted the file navigate to <menuchoice><guimenu>Business</guimenu>
-      <guimenuitem>Invoice & Bill Import</guimenuitem></menuchoice> to open a new import window. 
-      Select the file you have just created, select <guilabel>Bill</guilabel> 
-      or <guilabel>Invoice</guilabel> and <guilabel>Comma separated</guilabel> format. At this
-      point the data should show up in the preview window. Check that the field
-      data are in the correct columns before selecting <guibutton>OK</guibutton>. Once imported the
-      invoice can be opened for editing and posting in the usual way.
-    </para>
-
-    <para>A note on <acronym>VAT</acronym>, or any purchase tax. As previously mentioned <emphasis>Rapid
-      Electronics</emphasis> calculate the <acronym>VAT</acronym> on the bill total not line by line. <application>&app;</application>
-      calculated the <acronym>VAT</acronym> per line then totals the <acronym>VAT</acronym>. This can lead to
-      inaccuracies in the <acronym>VAT</acronym> of the region of a few pennies and is enough to
-      cause problems when reconciling the purchase with your bank or credit card
-      account used to make the purchase. As to how you overcome that, for the
-      moment, is a problem for you to use whatever method suits your conscience
-      or accountant best. Personally I add the <acronym>VAT</acronym> as a separate line along with
-      delivery charges manually. So some work is left to the user but the tedium
-      of entering each item eliminated.
-    </para>
-
-    <para>Future: Currently the import format is quite strict and many users
-      may have problems with the conversion process. Adding a template for every
-      possible vendor <acronym>CSV</acronym> format would be mammoth and likely impossible task
-      notwithstanding the fact the vendors are likely to change the format
-      without informing the <application>&app;</application> team. Future import enhancements will be
-      based on user feedback and hopefully the process can be made simpler or
-      more flexible. Note that often <quote>simple</quote> is incompatible with
-      <quote>flexible</quote>.
-    </para>
-
-    <note>
-    <para>If <application>Python</application> (other languages are avaialble) is not your thing then
-      post a request to <ulink url="https://lists.gnucash.org/mailman/listinfo/gnucash-user"><citetitle>&app; user list</citetitle></ulink>, 
-      with an example of your downloaded <acronym>CSV</acronym>, and someone may write you a <application>Python</application> script to do the
-      translation.
-    </para>
-    </note>
-
-    <sect2 id="python-author-notes">
-      <title>Notes for <application>Python</application> authors</title>
-
-      <para>In order for the import to succeed the number of fields must be
-        adhered to, so the trailing commas are important.
-      </para>
-
-      <para>A complete list of the required fields is:</para>
-
-      <para>id, date_opened, owner_id, billingid, notes, date, desc, action,
-        account, quantity, price, disc_type, disc_how, discount, taxable,
-        taxincluded, tax_table, date_posted, due_date, account_posted,
-        memo_posted, accu_splits,
-      </para>
-      <note>
-        <para>Mind the trailing comma.</para>
-      </note>
-    </sect2>
-
-    <sect2 id="python-import-fields">
-      <title>A brief description of each field</title>
-
-      <itemizedlist>
-        <listitem>
-          <para><emphasis>id</emphasis> -
-            The invoice number. All lines must
-            contain this or the line will be rejected.
-          </para>
-        </listitem>
-        <listitem>
-          <para><emphasis>date_opened</emphasis> -
-             Use the same date format as setup in Preferences. Today's date is inserted if this is blank.
-          </para>
-        </listitem>
-        <listitem>
-          <para><emphasis>owner_id</emphasis> -
-            ID number of the vendor or customer. All lines must
-            contain this or the line will be rejected.
-          </para>
-        </listitem>
-        <listitem>
-          <para><emphasis>billingid</emphasis> -
-            Billing ID.
-          </para>
-        </listitem>
-        <listitem>
-          <para><emphasis>notes</emphasis> -
-            Invoice notes.
-          </para>
-        </listitem>
-        <listitem>
-          <para><emphasis>date</emphasis> -
-            The date of the item line. Can be left blank for todays
-            date.
-          </para>
-        </listitem>
-        <listitem>
-          <para><emphasis>desc</emphasis> -
-            Description as per normal invoice or bill.
-          </para>
-        </listitem>
-        <listitem>
-          <para><emphasis>action</emphasis> -
-            For bills usually <quote>ea</quote>.
-          </para>
-        </listitem>
-        <listitem>
-          <para><emphasis>account</emphasis> -
-            Account to which the item is attributed.
-          </para>
-        </listitem>
-        <listitem>
-          <para><emphasis>quantity</emphasis> -
-            Quantity of each item. Must contain a value or the line
-            will be rejected.
-          </para>
-        </listitem>
-        <listitem>
-          <para><emphasis>price</emphasis> -
-            Price of each item. Must contain a value or the line will be
-            rejected.
-          </para>
-        </listitem>
-        <listitem>
-          <para><emphasis>disc_type</emphasis> -
-            Type of discount, either <quote>%</quote> or <quote>TODO</quote>, only applies to
-            invoices. Some experimentation may be required here as may be currency
-            dependent.
-          </para>
-        </listitem>
-        <listitem>
-          <para><emphasis>disc_how</emphasis> -
-            Only applies to invoices.
-          </para>
-        </listitem>
-        <listitem>
-          <para><emphasis>discount</emphasis> -
-            Amount of discount to be applied. only applies to
-            invoices.
-          </para>
-        </listitem>
-        <listitem>
-          <para><emphasis>taxable</emphasis> -
-            Will tax be applied to the item? <quote>yes</quote> or blank.
-          </para>
-        </listitem>
-        <listitem>
-          <para><emphasis>taxincluded</emphasis> -
-            Is tax included in the item price? <quote>yes</quote> or blank.
-          </para>
-        </listitem>
-        <listitem>
-          <para><emphasis>tax_table</emphasis> -
-            Tax table to apply to item.
-          </para>
-        </listitem>
-        <listitem>
-          <para><emphasis>date_posted</emphasis> -
-            If posted, what date. Normally left blank for manual
-            posting after editing the invoice.  Use the same date format as setup in Preferences.
-          </para>
-        </listitem>
-        <listitem>
-          <para><emphasis>due_date</emphasis> -
-            Date payment is due.   Use the same date format as setup in Preferences.
-          </para>
-        </listitem>
-        <listitem>
-          <para><emphasis>account_posted</emphasis> -
-            Posted to what account.
-          </para>
-        </listitem>
-        <listitem>
-          <para><emphasis>memo_posted </emphasis> -
-            If posted insert memo here.
-          </para>
-        </listitem>
-        <listitem>
-          <para><emphasis>accu_splits</emphasis> -
-            Accumulate splits? <quote>yes</quote> or blank.
-          </para>
-        </listitem>
-      </itemizedlist>
-    </sect2>
-  
+	<sect1 id="busnss-imp-bills-invoices">
+		<title>Importing Bills and Invoices</title>
+
+		<sect2 id="busnss-imp-inv-general">
+			<title>General</title>
+	
+			<para>
+				This functionality creates invoices or bills from a csv import file containing rows of invoice entry data.
+				The import file may contain rows for new and/or existing invoices. If an invoice already exists,
+				<application>&app;</application> adds the imported entries to the invoice (unless the invoice is already posted).
+				If the import file contains posting data
+				for an invoice, then <application>&app;</application> will also attempt to post the invoice.
+				If any row of an invoice contains an error,  <application>&app;</application> will ignore all rows of the same invoice.
+			</para>
+			<para>
+				The field separator in the csv file must be either a comma or a semicolon; field values may be enclosed in double quotes.
+			</para>
+			
+			<para>
+				For the sake of readability, in this chapter the term <quote>invoice</quote> by itself is used
+				to refer to both customer invoices and vendor bills.
+			</para>
+			
+		</sect2>
+
+		<sect2 id="busnss-imp-inv-file-format">
+			<title>The format of the import file</title>
+
+			<para>
+				The import file should contain rows of invoice entry data, each row marked by an invoice ID. The file should be
+				sorted on invoice ID. Each row contains header and entry fields, but <application>&app;</application> takes the
+				invoice header data from the first row of an invoice ID. For informational purposes, 
+				the header data may be repeated for each subsequent row of the same invoice.
+			</para>
+			<para>
+				There is no information in the file to indicate whether it concerns customer invoice or vendor bill data.
+				Instead, a user option in the import dialog makes that distinction.
+			</para>
+			<para>
+				Each row should contain the fields listed below, in the same sequence, separated by a comma or a semicolon.
+				The fields are listed here by their technical name, which <application>&app;</application>
+				uses in the preview of the import data.
+			</para>
+	
+			<itemizedlist>
+				<listitem>
+					<para><emphasis><prompt>id</prompt></emphasis> -
+						The invoice ID. Mandatory. Any row without an invoice ID will be ignored. If the invoice ID already exists,
+						<application>&app;</application> will add the entries to the existing invoice (unless it is already posted).
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>date_opened</prompt></emphasis> -
+						 Use the same date format as defined in Preferences. Defaulted to today's date if left blank,
+						 or if the date provided is not valid.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>owner_id</prompt></emphasis> -
+						Customer or vendor number. Mandatory in the first data row of an invoice. If not provided, all rows of the same
+						invoice will be ignored.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>billingid</prompt></emphasis> -
+						Billing ID. Optional
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>notes</prompt></emphasis> -
+						Invoice notes. Optional.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>date</prompt></emphasis> -
+						The date of the entry. Defaulted to date opened if left blank,
+						or if the date provided is not valid.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>desc</prompt></emphasis> -
+						Description. Optional
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>action</prompt></emphasis> -
+						Action. Optional
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>account</prompt></emphasis> -
+						Account for the entry. Mandatory in each row.
+						If not provided or invalid, all rows of the same invoice will be ignored.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>quantity</prompt></emphasis> -
+						Quantity. Defaulted to 1 if left blank.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>price</prompt></emphasis> -
+						Price. Mandatory for each row.
+						If not provided, all rows of the same invoice will be ignored.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>disc_type</prompt></emphasis> -
+						Type of discount. Optional. Only relevant for invoices, not for bills.
+						Use <quote>%</quote> or blank for percentage value, anything else for monetary value.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>disc_how</prompt></emphasis> -
+						Discount how. Optional. Only relevant for invoices, not for bills.
+						Use <quote>></quote> for discount applied after tax,
+						<quote>=</quote> for discount and tax applied before tax,
+						and <quote><</quote>, blank or anything else for discount applied before tax.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>discount</prompt></emphasis> -
+						Amount or percentage of discount. Optional. Only relevant for invoices, not for bills
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>taxable</prompt></emphasis> -
+						Is this entry taxable? Optional.
+						Use <quote>Y</quote> or <quote>X</quote> for yes, <quote>N</quote> or blank for no.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>taxincluded</prompt></emphasis> -
+						Is tax included in the item price? Optional.
+						Use <quote>Y</quote> or <quote>X</quote> for yes, <quote>N</quote> or blank for no.
+					</para>
+				</listitem>
+					<listitem>
+					<para><emphasis><prompt>tax_table</prompt></emphasis> -
+						Tax table. Optional. If the tax table provided does not exist, it will be blank in the invoice.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>date_posted</prompt></emphasis> -
+						Date posted. Optional. Use the same date format as defined in Preferences.
+						If you provide a date posted for the first row of an invoice, <application>&app;</application> 
+						will attempt to also post the invoice (as opposed to only saving or updating it).
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>due_date</prompt></emphasis> -
+						Due date. Optional. Use the same date format as defined in Preferences.
+						Defaulted to date posted, if left blank.
+						Only relevant in the first row of an invoice, if the invoice is posted.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>account_posted</prompt></emphasis> -
+						Post to account, for vendor or customer posting.
+						Only mandatory in the first row of an invoice, if the invoice is posted.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>memo_posted </prompt></emphasis> -
+						Memo. Optional. Only relevant in the first row of an invoice, if the invoice is posted.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>accu_splits</prompt></emphasis> -
+						Accumulate splits? Optional. Use <quote>Y</quote> or <quote>X</quote> for yes, <quote>N</quote> or blank for no.
+						Only relevant in the first row of an invoice, if the invoice is posted.
+						If you use a spreadsheet program to create the import file, it is advised not to use blank for no, 
+						because a final column with only blanks may not be recognized
+						as relevant data when the spreadsheet program creates the csv file.
+					</para>
+				</listitem>
+			</itemizedlist>
+
+			<note id="busnss-imp-inv-file-format-note">
+				<title>Note on double quotes</title>
+				<para>
+					If you use the field separator character within a field, the field value should be enclosed in double quotes.
+					Only for the fields description (desc) and notes, can you also include a double quote within a quoted field value,
+					by doubling the double quote. E.g. <literal>"This field value uses the separator, and a ""quoted"" word"</literal>,
+					would be imported as <literal>This field value uses the separator, and a "quoted" word</literal>.
+				</para>
+			</note>
+			
+			<para>
+				Example content for two bills; one of 2 entries, and one of 3 entries.
+				The first is saved and posted, the second only saved.
+				Using comma field separator, decimal point and dd/mm/yyyy date format.
+			</para>
+		
+	 		<para>
+				<programlisting>
+1204;15/12/2018;2001;PO 210220;Special delivery;16/12/2018;Pride and Prejudice;pc;Expenses:Books;1;30.00;;;;X;;A1;17/12/2018;17/1/2019;Liabilities:Accounts Payable;;X
+1204;15/12/2018;2001;PO 210220;Special delivery;16/12/2018;Electronic principles;pc;Expenses:Books;1;50.00;;;;X;;A1;17/12/2018;17/1/2019;Liabilities:Accounts Payable;;X
+1205;15/12/2018;2044;PO 21099;;16/12/2018;Ultimate Guide;pc;Expenses:Books;1;10.01;;;;;;;;;;;
+1205;15/12/2018;2044;PO 21099;;16/12/2018;Dinner & drinks;pc;Expenses:Dining;1;10.01;;;;;;;;;;;
+1205;15/12/2018;2044;PO 21099;;16/12/2018;UG course;pc;Expenses:Education;1;10.01;;;;;;;;;;;
+				</programlisting>
+			</para>
+
+	 	 	<para>
+				Example content for one customer invoice, with one entry, including tax and discount.
+				Using comma fields separator, decimal point and dd/mm/yyyy date format. 
+				The the value of the description field contains the separator character.
+			</para>
+		
+	 		<para>
+				<programlisting>
+20221;16/12/2018;1001;Order 3378;Discount as agreed;4/12/2018;"Accounting part 1, 2";ea;Income:Other Income;1;769.95;%;=;10;X;N;A1;16/12/2018;16/01/2019;Assets:Accounts Receivable;Posted by import;X
+				</programlisting>
+			</para>
+
+		</sect2>
+	
+		<sect2 id="busnss-imp-inv-import-data">
+			<title>Import your data</title>
+
+			<para>
+				To import your invoice data, navigate to
+				<menuchoice><guimenu>File</guimenu>
+				<guimenuitem>Import</guimenuitem>
+				<guimenuitem>Import Bills  & Invoices…</guimenuitem></menuchoice> to open a new import dialog,
+				and provide the necessary information.
+			</para>
+			<itemizedlist>
+					<listitem>
+						<para><guilabel>1. Choose the file to import</guilabel> -
+							Select your import file, or manually type the path and file name.
+						</para>
+					</listitem>
+					<listitem>
+						<para><guilabel>2. Select import type</guilabel> -
+							Select the import type, either <guilabel>Bill</guilabel> or <guilabel>Invoice</guilabel>.
+						</para>
+					</listitem>
+					<listitem>
+						<para><guilabel>3. Select import options</guilabel> -
+							Select your csv format.
+							Use the <guilabel>with quotes</guilabel> options if your file contains fields enclosed in double quotes.
+							These options also match fields not enclosed in quotes; 
+							except for the fields for description and notes, fields should not contain the quote character itself.
+							See <xref linkend="busnss-imp-inv-file-format-note" /> above.
+							Use one of the other options if your file does not have fields enclosed in quotes; any quote characters
+							in the file will be imported as is.
+						</para>
+					</listitem>
+					<listitem>
+						<para><guilabel>4. Preview</guilabel> -
+							Once you have selected your import file and csv format,
+							<application>&app;</application> shows you a preview of the data.
+							You can verify if your data is listed in the correct columns. If you do not see any rows in the preview,
+							then <application>&app;</application> was not able to match your import data rows to the selected csv format.
+							See <xref linkend="busnss-imp-inv-errors" /> below.
+						</para>
+					</listitem>
+					<listitem>
+						<para><guilabel>5. Afterwards</guilabel> -
+							You can choose if <application>&app;</application> should open tabs for the invoices after the import.
+							Either for all invoices, or for the invoices that are saved but not posted, or for none of the invoices.
+							Opening tabs slows down the import process considerably.
+						</para>
+					</listitem>
+					<listitem>
+						<para><emphasis>Start the import</emphasis> -
+							If you are satisfied with your selections, hit the <guibutton>OK</guibutton> button to start the import.
+						</para>
+					</listitem>
+				</itemizedlist>
+			
+				<para>
+					If your data file contains invoice IDs that already exist, then <application>&app;</application> will ask you
+					(once per import session) to confirm that you want to update existing invoices.
+					If not confirmed, all rows for existing invoices will be ignored.
+				</para>
+	
+				<note>
+					<para>
+						Internally, <application>&app;</application> uses so called regular expressions to match the import rows
+						to the data fields. The import option <guilabel>Custom regular expression</guilabel> offers the option to use your own
+						regular expression for this matching process. Obviously, this option requires that you are well versed in regular expressions.
+						When you choose the option <guilabel>Custom regular expression</guilabel>, <application>&app;</application> opens a window
+						in which you can edit the <application>&app;</application> regular expression, or replace it with your own. 
+						Your regular expression should contain a named subpattern for each of the fields of the csv file
+						(using the technical names). A custom regular expression could be useful if the rows of your source data file contain 
+						all required fields, but in a different order or format. E.g. if the format of your source data file
+						starts with customer number, followed by invoice ID, followed by the due date, and uses | as separator,
+						your regular expression would start with something like this:
+					</para>
+				
+					<para>
+						<programlisting>
+	^(?<owner_id>[^|]*)\|(?<id>[^|]*)\|(?<due_date>[^|]*)
+						</programlisting>
+					</para>
+
+					<para>
+						With a custom regular expression, <application>&app;</application> could import your source data files,
+						without the need to convert them to the <application>&app;</application> import format.
+					</para>		
+				</note>
+
+			</sect2>
+
+		<sect2 id="busnss-imp-inv-feedback">
+			<title>Feedback and statistics</title>
+		
+			<para>
+				<application>&app;</application> executes the import process in three steps:
+			</para>
+			
+			<itemizedlist>
+				<listitem>
+					<para><emphasis><prompt>Import</prompt></emphasis> -
+						Imports the data file and attempts to match each row to the data fields.
+					</para>
+				</listitem>
+				<listitem>				
+					<para><emphasis><prompt>Validation and adjustment</prompt></emphasis> -
+						Validates the data fields and replaces data with defaults if applicable.
+					</para>
+				</listitem>
+				<listitem>				
+					<para><emphasis><prompt>Processing</prompt></emphasis> -
+						Handles the currency related validations, and creates, updates and posts the invoices.
+					</para>
+				</listitem>
+			</itemizedlist>
+
+			<para>
+				After all steps have finished,  <application>&app;</application> issues information about the result of the process.
+				The initial dialog shows the informational or error messages from the validation and processing steps.
+				The second dialog shows the statistics of the process:
+			</para>
+		
+			<itemizedlist>
+			<listitem>
+				<para>
+					Import - rows ignored: the number of rows that could not be matched to the data fields.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					Import - rows imported: the number of rows that were successfully matched to the data fields.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					Processing and validation - rows fixed: the number of rows for which a default value was used for a field.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					Processing and validation - rows ignored: the number of rows for that were not processed because of a validation error.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					Processing and validation - invoices created: the number of invoices created.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					Processing and validation - invoices updated: the number of invoices that were updated.
+				</para>
+			</listitem>
+			</itemizedlist>
+		
+			<para>
+				If there were unmatched rows in the import step, a final dialog shows the actual rows that could not be matched.
+			</para>
+		
+		</sect2>
+
+		<sect2 id="busnss-imp-inv-errors">
+			<title>What could go wrong?</title>
+			
+			<sect3 id ="busnss-imp-inv-err-import">
+				<title>Errors in the import step</title>
+				
+				<para>
+					If the statistics show unmatched rows under <quote>Import - rows ignored</quote>, then there is some issue
+					with the format of your import file. Verify that you use and select the correct separator.
+					Verify that your data rows have exactly 21 separator characters (1 for each field, except for the last).
+					Verify whether you use the separator character within a data field; if so, enclose the field in double quotes.
+				</para>
+				<para>
+					If you use one of the <guilabel>with quotes</guilabel> import options, verify if you use the double quote character
+					in any of the data field values; if within the description or notes fields, 
+					make sure that the field value is quoted, and precede each double quote within the field with an extra
+					double quote; if within any other field, remove the double quote character.
+				</para>
+			</sect3>
+			
+			<sect3 id ="busnss-imp-inv-err-validation">
+				<title>Errors in the validation step</title>
+				
+				<para>
+					The following errors can occur in the validation step. Any error in a data row will cause all rows of the same
+					invoice to be ignored.
+				</para>
+				
+				<note>
+					<para>
+						In versions 3.4 and earlier, an error in a data row would cause just that row to be ignored,
+						as opposed all rows of the same invoice.
+					</para>
+				</note>
+				
+				<itemizedlist>
+					<listitem>
+						<para>
+							The field <prompt>ID</prompt> is blank. Every row should have an invoice ID.
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							The field <prompt>owner_id</prompt> is blank. Every first row of an invoice should have an owner_id.
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							The customer or vendor number in field <prompt>owner_id</prompt> does not exist.
+							The owner_id in the first row of an invoice should be an existing customer (for invoices) or vendor (for bills).
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							The date in field <prompt>date_posted</prompt> is not a valid date. If you provide a value for date_posted in the first
+							row of an invoice, it should be a valid date. Did you use the date format as set in Preferences?
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							The account in the field <prompt>account_posted</prompt> does not exist. If you provide a value for the field <prompt>date_posted</prompt>
+							in the first row of an invoice, the field <prompt>account_posted</prompt> should be an existing account.
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							The account in the field <prompt>account_posted</prompt> is not of type Accounts Receivable (for invoices)
+							or Accounts Payable (for bills). If you provide a value for the field <prompt>date_posted</prompt>
+							in the first row of an invoice, the field <prompt>account_posted</prompt> should be an account of the correct type.
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							The field <prompt>price</prompt> is blank. Every row should have a value for the field <prompt>price</prompt>.
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							The account in the field <prompt>account</prompt> does not exist. Every row should have an existing account in the field <prompt>account</prompt>.
+						</para>
+					</listitem>
+				</itemizedlist>
+				
+				<para>
+					Any error in the validation step is listed after the overall import process completes. Correct your data file accordingly.
+				</para>
+				
+			</sect3>
+			
+			<sect3 id ="busnss-imp-inv-err-processing">
+				<title>Errors in the processing step</title>
+				
+				<para>
+					The following errors can occur in the processing step.
+				</para>
+
+				<itemizedlist>
+					<listitem>
+						<para>
+							The invoice cannot be updated because it is already posted.	All rows of the same invoice will be ignored.
+							If you want to update the existing invoice, unpost it first in <application>&app;</application>.
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							The currency of the invoice differs from the currency of the account posted
+							(<quote>Invoice x NOT posted because currencies don't match</quote>).
+							<application>&app;</application>
+							determines the currency of the invoice either from the customer or vendor master data (for a new invoice)
+							or from the invoice itself (for an existing invoice). The currency of the invoice must agree with
+							the currency of the post to account in the field <prompt>account_posted</prompt>. <application>&app;</application> creates the
+							invoice but cannot post it. Manually correct the invoice in <application>&app;</application>.
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							The invoice requires currency conversion.
+							(<quote>Invoice x NOT posted because it requires currency conversion</quote>).
+							The invoice contains entries on accounts with different currencies,
+							or the currency of the entries differs from the currency of the post to account. For such an invoice,
+							<application>&app;</application> needs exchange rates to translate the currency amounts. 
+							<application>&app;</application> creates the invoice but cannot post it. Post the invoice manually
+							in <application>&app;</application>, and provide the requested exchange rates.
+						</para>
+					</listitem>
+				</itemizedlist>
+
+			</sect3>
+			
+		</sect2>
+
+		<sect2 id="busnss-imp-inv-not-supported">
+			<title>Not supported invoice functionality</title>
+			
+			<para>
+				Currently the invoice import function does not support (at least) the following:
+			</para>
+			
+		 <itemizedlist>
+			<listitem>
+				<para>
+					Import of billing terms and job.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					Import of customer and job in default chargeback project for bills.
+				</para>
+			</listitem>
+
+			<listitem>
+				<para>
+					Application of billing terms from customer or vendor master data.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					Automatic numbering of invoices.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					Credit notes.
+				</para>
+			</listitem>
+		 </itemizedlist>	
+			
+		</sect2>
+		
   </sect1>
   
-<sect1 id="import-customers-vendors">
-  <title>Importing Customers and Vendors</title>
-  <para>This functionality is only available in the 2.6 versions of GnuCash and is only loaded by default for versions greater than 2.6.</para>
-   <para>For versions lower than 2.6 the Customers and Vendors importer is an optional module and needs to 
-    enabled by editing the file <filename>$HOME/.gnucash/config.user</filename>,
-    adding the line:</para>
-    <para><code>(gnc:module-load "gnucash/plugins/customer_import" 0)
-    </code></para>
-    <para>On Linux systems this file is found at <filename>$HOME/.gnucash/config.user</filename>
-      and on Mac OSX it is <filename>~/Library/Application Support/Gnucash/config.user</filename>.
-      If the file doesn’t already exist you will have to create it.
-      After restarting <application>&app;</application> the item will appear at the bottom 
-    of the business menu.</para>
-    <para>In order for the importer to work each line in the input file must have the following structure.
-    </para>
-    <para><code>
-    id,  company,  name,  addr1,  addr2,  addr3,  addr4,  phone,  fax,  email,  notes,  shipname,  shipaddr1,  shipaddr2,  shipaddr3, shipaddr4, shiphone, shipfax, shipmail
-    </code> </para>
-    
-    <para>
-    Fields can be separated with commas or semicolons and each field can be in quotes.  These options are selectable in the import dialog. Vendors don’t have shipping information so even though the fields have to exist, leave them empty.
-    The id field is optional and if it is empty a new id will be chosen. If the id field has a value this will UPDATE any vendor/customer with the same id.  This may not be what you want.  Note that in your input file the data must be a single line for each customer/vendor. 
-    </para>
-    <para>
-      The importer does not currently import billing information for customers or vendors, these will have to be edited individually after importing.
-  </para>
-  </sect1>
--->
+  <sect1 id="busnss-imp-customer-vendor">
+  	<title>Importing Customers and Vendors</title>
+
+		<sect2 id="busnss-imp-cv-general">
+			<title>General</title>
+	
+			<para>
+				This functionality creates and updates customers and vendors from a csv import file containing
+				rows of vendor/customer master data.
+				The import file may contain rows for new and/or existing customers/vendors. If a customer/vendor already exists,
+				<application>&app;</application> updates the existing customer/vendor.
+			</para>
+			
+		</sect2>
+			
+		<sect2 id="busnss-imp-cv-file-format">
+			<title>The format of the import file</title>
+
+			<para>
+				The import file should contain rows of customer/vendor data, one row for each customer/vendor.
+				The customer/vendor is identified by the customer/vendor number in the field <prompt>id</prompt> of the data rows.
+				If the field is blank, <application>&app;</application> will use the next number from the relevant counter 
+				(set in the <guilabel>Counters</guilabel> tab under
+				<menuchoice><guimenu>File</guimenu><guimenuitem>Properties</guimenuitem></menuchoice>).
+			</para>
+			
+			<para>
+				There is no data in the file to indicate whether it concerns customer or vendor master data.
+				Instead, a user option in the import dialog makes that distinction.
+			</para>
+			
+			<para>
+				Each row should contain the fields listed below, in the same sequence, separated by a comma or a semicolon.
+				The fields are listed here by their technical name, which <application>&app;</application>
+				uses in the preview of the import data.
+			</para>
+
+			<itemizedlist>
+				<listitem>
+					<para><emphasis><prompt>id</prompt></emphasis> -
+						The customer/vendor number. If it is for an existing customer/vendor, <application>&app;</application> will
+						update the customer/vendor. 
+						Note that in <application>&app;</application> e.g. '000010' is a different customer number than '10'.
+						If the id field is empty,
+						<application>&app;</application> will use the next number from the relevant counter.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>company</prompt></emphasis> -
+						 The company name. If it is left blank, it is defaulted to the value of field <prompt>name</prompt>.
+						 If that is also blank, then the row is ignored.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>name</prompt></emphasis> -
+						Billing address - Name. Optional.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>addr1</prompt></emphasis> -
+						Billing address - Address line 1. At least one of the four address lines of the billing address
+						must be filled. If not, then the row is ignored.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>addr2</prompt></emphasis> -
+						Billing address - Address line 2.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>addr3</prompt></emphasis> -
+						Billing address - Address line 3.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>addr4</prompt></emphasis> -
+						Billing address - Address line 4.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>phone</prompt></emphasis> -
+						Billing address - Phone. Optional
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>fax</prompt></emphasis> -
+						Billing address - Fax. Optional
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>email</prompt></emphasis> -
+						Billing address - Email. Optional
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>notes</prompt></emphasis> -
+						Notes. Optional
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>shipname</prompt></emphasis> -
+						Shipping information - Name. Optional. Not relevant for vendors.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>shipaddr1</prompt></emphasis> -
+						Shipping information - Address line 1. Optional. Not relevant for vendors.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>shipaddr2</prompt></emphasis> -
+						Shipping information - Address line 2. Optional. Not relevant for vendors.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>shipaddr3</prompt></emphasis> -
+						Shipping information - Address line 3. Optional. Not relevant for vendors.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>shipaddr4</prompt></emphasis> -
+						Shipping information - Address line 4. Optional. Not relevant for vendors.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>shipphone</prompt></emphasis> -
+						Shipping information - Phone. Optional. Not relevant for vendors.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>shipfax</prompt></emphasis> -
+						Shipping information - Fax. Optional. Not relevant for vendors.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis><prompt>shipmail</prompt></emphasis> -
+						Shipping information - Email. Optional. Not relevant for vendors.
+					</para>
+				</listitem>
+			</itemizedlist>
+
+			<para>
+				Example content for a customer with a separate shipping address. Using a semicolon for separator.
+			</para>
+		
+			<para>
+				<code>2201;All Star Company;All Star Company;Union Avenue 776;San Juan;CA;;0482938838;;contact at allstar.com;Last contacted on 4/4/2018.;All Star Company; John Alderman, Office 456;Union Avenue 777;San Juan;CA;78998766;;alderman at allstar.com</code>
+			</para>
+		
+			<para>
+				Example content for a vendor; no ID given, so <application>&app;</application> will take the next number from the counter.
+				Using a comma for separator.
+			</para>
+		
+			<para>
+				<code>,Johnson Supplies,Johnson Supplies,Electric Park 56,Plains,VA,,0482986538,,jack at johnson.com,Discount negotiated,,,,,,,,</code>
+			</para>
+
+			<para>
+				All fields by technical name in the required sequence.
+			</para>
+			
+			<para>
+				<code>id,  company,  name,  addr1,  addr2,  addr3,  addr4,  phone,  fax,  email,  notes,  shipname,  shipaddr1,  shipaddr2,  shipaddr3, shipaddr4, shiphone, shipfax, shipmail</code>
+			</para>
+		
+		</sect2>
 
+		<sect2 id="busnss-imp-cv-import-data">
+			<title>Import your data</title>
+
+			<para>
+				To import your customer or vendor data, navigate to
+				<menuchoice><guimenu>File</guimenu>
+				<guimenuitem>Import</guimenuitem>
+				<guimenuitem>Import Customes  & Vendors…</guimenuitem></menuchoice> to open a new import dialog,
+				and provide the necessary information.
+			</para>
+			<itemizedlist>
+				<listitem>
+					<para><guilabel>1. Choose the file to import</guilabel> -
+						Select your import file, or manually type the path and file name.
+					</para>
+				</listitem>
+				<listitem>
+					<para><guilabel>2. Select import type</guilabel> -
+						Select the import type, either <guilabel>Customer</guilabel> or <guilabel>Vendor</guilabel>.
+					</para>
+				</listitem>
+				<listitem>
+					<para><guilabel>3. Select import options</guilabel> -
+						Select your csv format. 
+						Use the <guilabel>with quotes</guilabel> options if your file contains fields enclosed in double quotes.
+						These options also match fields not enclosed in double quotes,
+						but fields should not contain the double quote character itself.
+						Use one of the other options if your file does not have fields enclosed in quotes; any double quote characters
+						in the file will then be imported as is.
+					</para>
+				</listitem>
+				<listitem>
+					<para><guilabel>4. Preview</guilabel> -
+						Once you have selected your import file and csv format,
+						<application>&app;</application> shows you a preview of the data.
+						You can verify if your data is listed in the correct columns. If you do not see any rows in the preview,
+						then <application>&app;</application> was not able to match your import data rows to the selected csv format.
+						See <xref linkend="busnss-imp-cv-errors" /> below.
+					</para>
+				</listitem>
+				<listitem>
+					<para><emphasis>Start the import</emphasis> -
+						If you are satisfied with your selections, hit the <guibutton>OK</guibutton> button to start the import.
+					</para>
+				</listitem>
+			</itemizedlist>
+			
+			<note>
+				<para>
+					Internally, <application>&app;</application> uses so called regular expressions to match the import rows
+					to the data fields. The import option <guilabel>Custom regular expression</guilabel> offers the option to use your own
+					regular expression for this matching process. Obviously, this option requires that you are well versed in regular expressions.
+					When you choose the option <guilabel>Custom regular expression</guilabel>, <application>&app;</application> opens a window
+					in which you can edit the <application>&app;</application> regular expression, or replace it with your own. 
+					Your regular expression should contain a named subpattern for each of the fields of the csv file
+					(using the technical names). A custom regular expression could be useful if the rows of your source data file contain 
+					all necessary fields, but in a different order or format. E.g. if the format of your source data file
+					starts with customer number, followed by company name, name, and one address field, and that is all you want to import,
+					then your custom regular expression would be something like this (using comma as a separator):
+				</para>
+			
+				<para>
+					<programlisting>
+^(?<company>[^,]*),(?<id>[^,]*),(?<name>[^,]*),(?<addr1>[^,]*),(?<addr2>[^,]*),(?<addr3>[^,]*)$
+					</programlisting>
+				</para>
+
+				<para>
+					With a custom regular expression, <application>&app;</application> could import your source data files,
+					without the need to convert them to the <application>&app;</application> import format.
+				</para>		
+			</note>
+			
+		</sect2>
+
+		<sect2 id="busnss-imp-cv-feedback">
+			<title>Feedback and statistics</title>
+		
+			<para>
+				<application>&app;</application> executes the import process in three steps:
+			</para>
+			
+			<itemizedlist>
+				<listitem>
+					<para><emphasis><prompt>Import</prompt></emphasis> -
+						Imports the data file and attempts to match each row to the data fields.
+					</para>
+				</listitem>
+				<listitem>				
+					<para><emphasis><prompt>Validation and adjustment</prompt></emphasis> -
+						Validates the data fields and replaces data with defaults if applicable.
+					</para>
+				</listitem>
+				<listitem>				
+					<para><emphasis><prompt>Processing</prompt></emphasis> -
+						Creates or updates the vendor or customer master data.
+					</para>
+				</listitem>
+			</itemizedlist>
+
+			<para>
+				After all steps have finished,  <application>&app;</application> issues information about the result of the process.
+				The initial dialog shows the statistics of the process:
+			</para>
+		
+			<itemizedlist>
+			<listitem>
+				<para>
+					Import results - lines ignored: the number of rows that could not be matched to the data fields.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					Import results - lines imported: the number of rows that were successfully matched to the data fields.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					Import results - customers/vendors fixed: the number of rows for which a default value was used for a field.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					Import results - customers/vendors ignored: the number of rows for that were not processed because of a validation error.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					Import results - customers/vendors created: the number of customers/vendors created.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					Import results - customers/vendors updated: the number of customers/vendors that were updated.
+				</para>
+			</listitem>
+			</itemizedlist>
+		
+			<para>
+				If there were unmatched rows in the import step, a final dialog shows the actual rows that could not be matched.
+			</para>
+		
+		</sect2>
+
+		<sect2 id="busnss-imp-cv-errors">
+			<title>What could go wrong?</title>
+			
+			<sect3 id ="busnss-imp-cv-err-import">
+				<title>Errors in the import step</title>
+				
+				<para>
+					If the statistics show unmatched rows under <quote>Import results - lines ignored</quote>, then there is some issue
+					with the format of your import file. Verify that you use and select the correct separator.
+					Verify that your data rows have exactly 18 separator characters (1 for each field, except for the last).
+					Verify whether you use the separator character within a data field; if so, enclose the field in double quotes.
+				</para>
+				<para>
+					If you use one of the <guilabel>with quotes</guilabel> import options, verify if you use the double quote character
+					in any of the data field values. If so, remove them; importing double quotes as is, is not supported when using the
+					<guilabel>with quotes</guilabel> import options.
+				</para>
+			</sect3>
+			
+			<sect3 id ="busnss-imp-cv-err-validation">
+				<title>Errors in the validation step</title>
+				
+				<para>
+					If the statistics show rows under <quote>Import results - customers/vendors ignored</quote>, then data rows were 
+					ignored because of one of the errors below:
+				</para>
+								
+				<itemizedlist>
+					<listitem>
+						<para>
+							The field <prompt>company</prompt> and the field <prompt>name</prompt> are both blank.
+							The field <prompt>company</prompt> is mandatory; if it is blank, then it is defaulted to the value of the 
+							field <prompt>name</prompt>, but if both are blank, then the data row cannot be processed.
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							The fields <prompt>addr1</prompt>, <prompt>addr2</prompt>, <prompt>addr3</prompt> and <prompt>addr4</prompt>
+							are all blank. At least one of these fields must have a value, otherwise the data row cannot be processed.
+						</para>
+					</listitem>
+				</itemizedlist>
+				
+			</sect3>
+						
+		</sect2>
+		
+		<sect2 id="busnss-imp-cv-not-supported">
+			<title>Not supported customer/vendor functionality</title>
+			
+			<para>
+				Currently the customer/vendor import function does not support (at least) the following:
+			</para>
+			
+		 <itemizedlist>
+			<listitem>
+				<para>
+					Import of any of the fields in the customer tab for billing information:
+					currency, terms, discount, credit limit, tax included and tax table.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					Import of any of the fields in the vendor tab for payment information:
+					currency, terms, tax included and tax table.
+				</para>
+			</listitem>
+		 </itemizedlist>	
+			
+		</sect2>
+
+  </sect1>
+  -->
 </chapter>

commit 59a90b059017be6af4bdb413e56662f280186f53
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date:   Sat Sep 14 02:13:24 2019 +0200

    Merge recent changes of the english FAQ in the german version.

diff --git a/docbook/gnc-docbookx.dtd b/docbook/gnc-docbookx.dtd
index 18cb736..d0c903f 100644
--- a/docbook/gnc-docbookx.dtd
+++ b/docbook/gnc-docbookx.dtd
@@ -78,6 +78,7 @@ own entity definitions to use across all of our DocBook pages. -->
 <!ENTITY url-src "https://github.com/Gnucash/gnucash/">
 <!ENTITY url-src-maint "https://github.com/Gnucash/gnucash/tree/maint/"> <!-- Append the desired topic -->
 <!ENTITY url-wiki-faq "https://wiki.gnucash.org/wiki/FAQ">
+<!ENTITY url-wiki-faq-de "https://wiki.gnucash.org/wiki/De/FAQ">
 <!ENTITY url-mail-li "https://lists.gnucash.org/mailman/listinfo/">  <!-- Append the desired list -->
 <!ENTITY url-wiki-ml "https://wiki.gnucash.org/wiki/Mailiing_Lists">
 <!ENTITY url-wiki-ml-de "https://wiki.gnucash.org/wiki/De/Feedback#Auf_der_Mailingliste">
diff --git a/guide/de/appendixb.xml b/guide/de/appendixb.xml
index 5b2bd1b..970bc13 100644
--- a/guide/de/appendixb.xml
+++ b/guide/de/appendixb.xml
@@ -5,7 +5,9 @@
       (Do not remove this comment block.)
   Version: 2.0.0
   Last modified: July 9th 2006
-  Maintainers: 
+  Converted to qandaset 2019-09-09 by Frank H. Ellenberger
+  
+  Maintainers:
                Chris Lyttle <chris at wilddev.net>
   Author:
   		Jon Lapham <lapham at extracta.com.br>
@@ -13,131 +15,137 @@
   Translators:
                (translators put your name and email here)
 -->
-  <appendix id="appendixb">
-    <title>Frequently Asked Questions</title>
+<appendix id="appendixb">
+  <title>Häufig gestellte Fragen</title>
+    <abstract><para>Dies ist eine [sehr alte] Liste von auf den Mailing-Listen gestellten Fragen, welche noch nicht in die Dokumentation eingearbeitet wurden. Aktueller sind die Online-Versionen:
+      <simplelist><member><ulink url="&url-wiki-faq-de;">deutsch</ulink>  (nicht unbedingt aktuell oder vollständig)</member>
+        <member><ulink url="&url-wiki-faq;">englisch</ulink></member>
+      </simplelist></para></abstract>
     <para>&untranslated-de;</para>
   <!--
-    <para>This is a list of questions asked on the mailing lists for which there really is no section in the documentation covering the subject.</para>
-    <sect1 id="appendixb_info">
+  <qandaset defaultlabel='qanda'>
+    <qandadiv id="appendixb_info">
       <title>Sources of Information</title>
 
-      <sect2 id="appendixb_info_where">
-        <title>Q: Where’s the FAQ?</title>
-        <para>A: You’re looking at it. The most up-to-date copy can be found <ulink url="http://wiki.gnucash.org/wiki/FAQ">within the <application>&app;</application> Wiki</ulink>.</para>
-      </sect2>
+      <qandaentry id="appendixb_info_where">
+        <question><para>Where is the FAQ?</para></question>
+        <answer><para>You’re looking at an very old copy of it. The most up-to-date copy can be found within the <ulink url="&url-wiki-faq;"><application>&app;</application> Wiki</ulink>.</para></answer>
+      </qandaentry>
 
-      <sect2 id="appendixb_info_mail">
-        <title>Q: Are there mailing lists for <application>&app;</application>?</title>
-        <para>A: Yes. Go to <ulink url="http://lists.gnucash.org/mailman/listinfo/gnucash-user">http://lists.gnucash.org/mailman/listinfo/gnucash-user</ulink> and <ulink url="http://lists.gnucash.org/mailman/listinfo/gnucash-devel">http://lists.gnucash.org/mailman/listinfo/gnucash-devel</ulink> to subscibe.</para>
-      </sect2>
+      <qandaentry id="appendixb_info_mail">
+        <question><para>Are there mailing lists for <application>&app;</application>?</para></question>
+        <answer><para>Yes. Go to <ulink url="&url-mail-li;gnucash-user" /> and <ulink url="&url-mail-li;gnucash-devel" /> to subscibe.</para></answer>
+      </qandaentry>
 
-      <sect2 id="appendixb_info_mailarchive">
-        <title>Q: Is there a searchable archive for the mailing lists?</title>
-        <para>A: Yes, you can search the mail list archives at <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.devel"></ulink> and <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.user"></ulink> (and <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.german"></ulink> if you speak German).</para>
-      </sect2>
+      <qandaentry id="appendixb_info_mailarchive">
+        <question><para>Is there a searchable archive for the mailing lists?</para></question>
+        <answer><para>Yes, you can search the mail list archives at <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.devel" /> and <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.user" /> (and <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.german" /> if you speak German).</para></answer>
+      </qandaentry>
 
-      <sect2 id="appendixb_info_other">
-        <title>Q: Are there other means of obtaining support for <application>&app;</application>?</title>
-        <para>A: Yes. Many of the developers hang out on icq in the #gnucash discussion on irc.gnome.org. Also, there is a wiki online at <ulink url="http://wiki.gnucash.org/wiki/&app;">http://wiki.gnucash.org/wiki/&app;</ulink>.</para>
-      </sect2>
-    </sect1>
+      <qandaentry id="appendixb_info_other">
+        <question><para>Are there other means of obtaining support for <application>&app;</application>?</para></question>
+        <answer><para>Yes. Many of the developers hang out on icq in the #gnucash discussion on <ulink url="&url-irc;" />. Also, there is a <ulink url="&url-wiki;">wiki</ulink> online.</para></answer>
+      </qandaentry>
+    </qandadiv>
 
-    <sect1 id="appendixb_general">
+    <qandadiv id="appendixb_general">
       <title>General Information</title>
 
-      <sect2 id="appendixb_software_windows">
-        <title>Q: Can I run <application>&app;</application> on Windows?</title>
-        <para>A: Yes. Starting with release 2.2.0, <application>&app;</application> is also available on Windows.</para>
-        <para>Other related options would be colinux, VMWare and a windows-based X-server hosting a remote <application>&app;</application> session.</para>
-      </sect2>
-
-      <sect2 id="appendixb_general_hard2compile">
-        <title>Q: I heard it is too hard to compile <application>&app;</application>!</title>
-        <para>A: This was probably true at the time when 1.6.0 was released. It is no longer true today, as almost every distribution ships with all the necessary libraries (except g-wrap, which means there is in fact <quote>one</quote> extra library to be installed before compiling <application>&app;</application>). However, by default, distributions won’t install the development packages of the required libraries, so you might need to start your distribution’s installer program and tell it to install not only the library packages but also the -devel packages. In general, it was noted that this problem concerns many applications in the gnome domain, and this also boils down to the fact that there is no such thing as <quote>one monolithic gnome package</quote>.</para>
-      </sect2>
-
-      <sect2 id="appendixb_general_batchmode">
-        <title>Q: Is there a batch mode (non-interactive) available for <application>&app;</application>, for building reports, etc?</title>
-        <para>A: No, for now <application>&app;</application> must be run interactively.</para>
-      </sect2>
-
-      <sect2 id="appendixb_general_multuser">
-        <title>Q: Can multiple people access the same datafile in <application>&app;</application>?</title>
-        <para>A: You can have multiple people with access to the same datafile, but they cannot use the data file simultaneously.</para>
-        <para>To setup multi-person access, all the people must have read/write access to the directory containing the file (to read the other’s created files, and to create new files).  One way to do this is by creating a user group and setting the data directory to be owned by the shared group and set to mode 2775. The <quote>2</quote> makes the directory setgid which copies the permissions to all files.</para>
-      </sect2>
-
-      <sect2 id="appendixb_general_WhyC">
-        <title>Q: Why is <application>&app;</application> written in C?</title>
-        <para>A: The core functionality of <application>&app;</application> is written in C, but do not forget that much of this can be accessed through Guile (scheme).  There are a number of reasons for why <application>&app;</application> is written in C.  The first is historical, <application>&app;</application> was started in 1996 (or maybe even earlier!) and many of the OOP (C++, Java, Python) compilers were not yet mature and standarized enough on the variety of platforms considered at that time, so C was the only option at that time.  A second reason is because the standard GUI <application>&app;</application> uses is GTK, which is written in C.</para>
-      </sect2>
-
-      <sect2 id="appendixb_general_rewrite">
-        <title>Q: Why don’t you rewrite <application>&app;</application> in programming language xyz so that I can contribute easily?</title>
-        <para>A: The quick answer is <quote>We won’t</quote>. The longer answer is complex but still amounts to <quote>We won’t</quote>. <application>&app;</application> is a large body of code maintained by a small group of developers who are comfortable in C and Scheme (Guile). Actually, 80% of it is in C and approx. 13% is in Scheme/Lisp. There is no valid reason that would justify rewriting this amount of existing code in a newer language. Also, creating language bindings to recent languages such as Python or Ruby or (insert your favourite language here) is labor intensive, and we’re already stretched pretty thin maintaining and developing the existing code.</para>
-        <para>Having said that, this is an open source project and you’re free to do with it or contribute what you want. Just don’t expect much support if the reason for your changes is that you’re not willing to learn C or Scheme. Also, <application>&app;</application> used to have SWIG bindings (<ulink url="http://www.swig.org"></ulink>) which have been used for some perl programming code. According to a list discussion, these SWIG bindings might still be a way to include other languages into <application>&app;</application>, but currently they are unused and unmaintained.</para>
-      </sect2>
-
-      <sect2 id="appendixb_general_newFeatures">
-        <title>Q: I really want feature XYZ but <application>&app;</application> doesn’t have it. How do I get it added?</title>
-        <para>A: Ask nicely. :-) You can file an enhancement request at <ulink url="http://bugs.gnucash.org/enter_bug.cgi?product=&app;"></ulink>. Please bear in mind to describe your proposed enhancement as verbosely as possible. The trick here is to learn how to give the best information to the programmers about what your proposed new feature should do. If you want to speed up development significantly, consider donating some money as described on <application>&app;</application>Development.</para>
-      </sect2>
-
-      <sect2 id="appendixb_software_web">
-        <title>Q: Is there a web interface available for <application>&app;</application>?</title>
-        <para>A: No</para>
-      </sect2>
-
-      <sect2 id="appendixb_software_security">
-        <title>Q: How can I provide security for <application>&app;</application> data using CFS, etc.)</title>
-        <para>A: Unanswered</para>
-      </sect2>
-
-      <sect2 id="appendixb_software_contribute">
-        <title>Q: How can I contribute to the <application>&app;</application> project?</title>
-        <para>A: We’re working on a more formal process, but for now you should subscribe to the mailing list at <ulink url="http://lists.gnucash.org/mailman/listinfo/gnucash-user">http://lists.gnucash.org/mailman/listinfo/gnucash-user</ulink> and <ulink url="http://lists.gnucash.org/mailman/listinfo/gnucash-devel">http://lists.gnucash.org/mailman/listinfo/gnucash-devel</ulink> and discuss what you can contribute with the participants on the lists. Please be aware that <application>&app;</application> is a large body of code written in C and Scheme (see the FAQ above, <quote>Why is <application>&app;</application> written in C?</quote> if you want to know why). If these are languages that you are not willing to work with, consider contributing in other ways.</para>
-      </sect2>
-
-      <sect2 id="appendixb_software_bugs">
-        <title>Q: I think I found a bug. How do I report it?</title>
-        <para>A: First of all, try to verify that it is indeed a bug and that it has not been reported before. Search the mail list archives (see FAQ above). Then search the <ulink url="http://bugs.gnucash.org">&app; Bugzilla</ulink> database.</para>
-        <para>If you feel you have indeed found a bug, you can then report it at <ulink url="http://bugs.gnucash.org/enter_bug.cgi?product=&app;"></ulink>. Please bear in mind to report your bug as verbosely as possible. The trick here is to learn how to give the best information to the programmers about how to reproduce bugs. A Programmer will usually only be able to fix a bug they can see, if you can’t make the programmer see your bug, it won’t get fixed!</para>
-      </sect2>
-
-    </sect1>
-    <sect1 id="appendixb_using">
+      <qandaentry id="appendixb_software_windows">
+        <question><para>Can I run <application>&app;</application> on Windows?</para></question>
+        <answer><para>Yes. Starting with release 2.2.0, <application>&app;</application> is also available on Windows.</para></answer>
+        <answer><para>Other related options would be colinux, VMWare and a windows-based X-server hosting a remote <application>&app;</application> session.</para></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_general_hard2compile">
+        <question><para>I heard it is too hard to compile <application>&app;</application>!</para></question>
+        <answer><para>This was probably true at the time when 1.6.0 was released. It is no longer true today, as almost every distribution ships with all the necessary libraries. However, by default, distributions won’t install the development packages of the required libraries, so you might need to start your distribution’s installer program and tell it to install not only the library packages but also the -devel packages. In general, it was noted that this problem concerns many applications in the gnome domain, and this also boils down to the fact that there is no such thing as <quote>one monolithic gnome package</quote>.</para></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_general_batchmode">
+        <question><para>Is there a batch mode (non-interactive) available for <application>&app;</application>, for building reports, etc?</para></question>
+        <answer><para>No, for now <application>&app;</application> must be run interactively.</para></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_general_multuser">
+        <question><para>Can multiple people access the same datafile in <application>&app;</application>?</para></question>
+        <answer><para>You can have multiple people with access to the same datafile, but they cannot use the data file simultaneously.</para>
+        <para>To setup multi-person access, all the people must have read/write access to the directory containing the file (to read the other’s created files, and to create new files).  One way to do this is by creating a user group and setting the data directory to be owned by the shared group and set to mode 2775. The <quote>2</quote> makes the directory setgid which copies the permissions to all files.</para></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_general_WhyC">
+        <question><para id="appendixb_general_WhyC.q">Why is <application>&app;</application> written in C?</para></question>
+        <answer><para>The core functionality of <application>&app;</application> is written in C, but do not forget that much of this can be accessed through Guile (scheme).  There are a number of reasons for why <application>&app;</application> is written in C.  The first is historical, <application>&app;</application> was started in 1996 (or maybe even earlier!) and many of the OOP (C++, Java, Python) compilers were not yet mature and standarized enough on the variety of platforms considered at that time, so C was the only option at that time.  A second reason is because the standard GUI <application>&app;</application> uses is GTK, which is written in C.</para></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_general_rewrite">
+        <question><para>Why don’t you rewrite <application>&app;</application> in programming language xyz so that I can contribute easily?</para></question>
+        <answer><para>The quick answer is <quote>We won’t</quote>.</para></answer>
+        <answer><para>The longer answer is complex but still amounts to <quote>We won’t</quote>. <application>&app;</application> is a large body of code maintained by a small group of developers who are comfortable in C and Scheme (Guile). Actually, 80% of it is in C and approx. 13% is in Scheme/Lisp. There is no valid reason that would justify rewriting this amount of existing code in a newer language. Also, creating language bindings to recent languages such as Python or Ruby or (insert your favourite language here) is labor intensive, and we’re already stretched pretty thin maintaining and developing the existing code.</para></answer>
+        <answer><para>Having said that, this is an open source project and you’re free to do with it or contribute what you want. Just don’t expect much support if the reason for your changes is that you’re not willing to learn C or Scheme. Also, <application>&app;</application> used to have SWIG bindings (<ulink url="http://www.swig.org" />) which have been used for some perl programming code. According to a list discussion, these SWIG bindings might still be a way to include other languages into <application>&app;</application>, but currently they are unused and unmaintained.</para></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_general_newFeatures">
+        <question><para>I really want feature XYZ but <application>&app;</application> doesn’t have it. How do I get it added?</para></question>
+        <answer><para>Ask nicely. :-) You can file an enhancement request at <ulink url="&url-bug-start;" />. Please bear in mind to describe your proposed enhancement as verbosely as possible. The trick here is to learn how to give the best information to the programmers about what your proposed new feature should do. If you want to speed up development significantly, consider donating some money as described on <application>&app;</application>Development.</para></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_software_web">
+        <question><para>Is there a web interface available for <application>&app;</application>?</para></question>
+        <answer><para>No</para></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_software_security">
+        <question><para>How can I provide security for <application>&app;</application> data using CFS, etc.)</para></question>
+        <answer><para>Unanswered</para></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_software_contribute">
+        <question><para>How can I contribute to the <application>&app;</application> project?</para></question>
+        <answer><para>We’re working on a more formal process, but for now you should subscribe to the mailing list at <ulink url="&url-mail-li;gnucash-user" /> and <ulink url="&url-mail-li;gnucash-devel" /> and discuss what you can contribute with the participants on the lists. Please be aware that <application>&app;</application> is a large body of code written in C and Scheme (see <quote><link linkend="appendixb_general_WhyC" endterm="appendixb_general_WhyC.q"></link></quote> above, if you want to know why). If these are languages that you are not willing to work with, consider contributing in other ways.</para></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_software_bugs">
+        <question><para>I think I found a bug. How do I report it?</para></question>
+        <answer><para>First of all, try to verify that it is indeed a bug and that it has not been reported before. Search the mail list archives (see FAQ above). Then search the <ulink url="&url-bug-start;">&appname; Bugzilla</ulink> database.</para>
+        <para>If you feel you have indeed found a bug, you can then report it at <ulink url="&url-bug-start;" />. Please bear in mind to report your bug as verbosely as possible. The trick here is to learn how to give the best information to the programmers about how to reproduce bugs. A Programmer will usually only be able to fix a bug they can see, if you can’t make the programmer see your bug, it won’t get fixed!</para></answer>
+      </qandaentry>
+
+    </qandadiv>
+    <qandadiv id="appendixb_using">
       <title>Using <application>&app;</application></title>
 
-      <sect2 id="appendixb_using_moveAtoB">
-        <title>Q: How can I move the transactions from account <quote>A</quote> into account <quote>B</quote>, thus combining them?</title>
-        <para>A: At present, <application>&app;</application> does not offer a way to move groups of splits from one account to another. You will need to move them one at a time. Open the register for account <quote>A</quote> and select the pulldown menu item <menuchoice><guimenu>View</guimenu><guimenuitem>Transaction Journal</guimenuitem></menuchoice> to expose all the splits.  For every split where the <quote>Account</quote> field shows account <quote>A</quote> reset it to account <quote>B</quote>. To do this quickly and safely, first use <keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo> to copy the destination account name (<quote>account B</quote>) to the clipboard.  Then highlight each reference to account <quote>A</quote> by double clicking on it and use <keycombo><keycap>Ctrl</keycap><keycap>V</keycap></keycombo> to paste the destination account name.  Pressing <keycap function="enter">Enter</keycap> after each paste, silently moves the transaction out of the register.</para>
-        <para>Be careful!  If you inadvertently set the <quote>Account</quote> field to an unintended location, you will need to search through all your accounts to find the lost transaction to correct your mistake.</para>
-      </sect2>
-
-      <sect2 id="appendixb_using_merge2files">
-        <title>Q: Is it possible to merge two <application>&app;</application> files?</title>
-        <para>A: At present this is not possible.</para>
-      </sect2>
-
-      <sect2 id="appendixb_using_SaveAcctTemplate">
-        <title>Q: How can I save a template of my account structure?</title>
-        <para>A: This is available from the menu: <menuchoice><guimenu>File</guimenu><guisubmenu>Export</guisubmenu><guimenuitem>Export Accounts</guimenuitem></menuchoice></para>
-      </sect2>
-      <sect2 id="appendixb_using_ListAll">
-        <title>Q: When I search for customers (or anything else for that matter), how can I return a list of everything?</title>
-        <para>A: Enter a search criteria of <guilabel>matches regex</guilabel>, and place a single dot <quote>.</quote> in the text field area. Then, click <guibutton>Find</guibutton>. The regular expression <quote>.</quote> means to match anything.</para>
-      </sect2>
-      <sect2 id="appendixb_using_Dates">
-        <title>Q: How can I record a transaction on different dates (actual date and bank date)?</title>
-        <para>A: You record the transaction on the date you write the check or initiate the transaction.  When it <quote>clears</quote> the bank, you can click in the <quote>Reconciled</quote> field to <quote>clear</quote> the transaction (change the <quote>n</quote>on-reconciled to <quote>c</quote>leared).</para>
-      </sect2>
-    </sect1>
-    <sect1 id="appendixb_accounting">
+      <qandaentry id="appendixb_using_moveAtoB">
+        <question><para>How can I move the transactions from account <quote>A</quote> into account <quote>B</quote>, thus combining them?</para></question>
+        <answer><para>At present, <application>&app;</application> does not offer a way to move groups of splits from one account to another. You will need to move them one at a time. Open the register for account <quote>A</quote> and select the pulldown menu item <menuchoice><guimenu>View</guimenu><guimenuitem>Transaction Journal</guimenuitem></menuchoice> to expose all the splits.  For every split where the <quote>Account</quote> field shows account <quote>A</quote> reset it to account <quote>B</quote>. To do this quickly and safely, first use <keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo> to copy the destination account name (<quote>account B</quote>) to the clipboard.  Then highlight each reference to account <quote>A</quote> by double clicking on it and use <keycombo><keycap>Ctrl</keycap><keycap>V</keycap></keycombo> to paste the destination account name.  Pressing <keycap function="enter">Enter</keycap> after each paste, silently moves the transaction out of the register.</para>
+        <caution><para>If you inadvertently set the <quote>Account</quote> field to an unintended location, you will need to search through all your accounts to find the lost transaction to correct your mistake.</para></caution></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_using_merge2files">
+        <question><para>Is it possible to merge two <application>&app;</application> files?</para></question>
+        <answer><para>At present this is not possible.</para></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_using_SaveAcctTemplate">
+        <question><para>How can I save a template of my account structure?</para></question>
+        <answer><para>This is available from the menu: <menuchoice><guimenu>File</guimenu><guisubmenu>Export</guisubmenu><guimenuitem>Export Accounts</guimenuitem></menuchoice></para></answer>
+      </qandaentry>
+      <qandaentry id="appendixb_using_ListAll">
+        <question><para>When I search for customers (or anything else for that matter), how can I return a list of everything?</para></question>
+        <answer><para>Enter a search criteria of <guilabel>matches regex</guilabel>, and place a single dot <quote>.</quote> in the text field area. Then, click <guibutton>Find</guibutton>. The regular expression <quote>.</quote> means to match anything.</para></answer>
+      </qandaentry>
+      <qandaentry id="appendixb_using_Dates">
+        <question><para>How can I record a transaction on different dates (actual date and bank date)?</para></question>
+        <answer><para>You record the transaction on the date you write the check or initiate the transaction.  When it <quote>clears</quote> the bank, you can click in the <quote>Reconciled</quote> field to <quote>clear</quote> the transaction (change the <quote>n</quote>on-reconciled to <quote>c</quote>leared).</para></answer>
+      </qandaentry>
+    </qandadiv>
+    <qandadiv id="appendixb_accounting">
       <title>Accounting</title>
-      <sect2 id="appendixb_accounting_Taxes">
-        <title>Q: How do I treat taxes?  As an account payable or as an expense?</title>
-        <para>A: This is a loaded question, and you should really talk to your accountant.  How you treat taxes really depends on what kind of taxes they are, and how you WANT to treat them..  In some cases they are expenses, in some cases they are liabilities.</para>
-      </sect2>
-    </sect1>
-    -->
-  </appendix>
+      <qandaentry id="appendixb_accounting_Taxes">
+        <question><para>How do I treat taxes?  As an account payable or as an expense?</para></question>
+        <answer><para>This is a loaded question, and you should really talk to your accountant.  How you treat taxes really depends on what kind of taxes they are, and how you WANT to treat them..  In some cases they are expenses, in some cases they are liabilities.</para></answer>
+      </qandaentry>
+    </qandadiv>
+  </qandaset>
+  untranslated -->
+</appendix>

commit 030a7ec6d10c07a79c6b17f6b14a20db0ae4028b
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date:   Thu Sep 12 22:24:52 2019 +0200

    Update the data directory for Linux to 3.x in Guide/C
    
    No occurrence seen in Help/C
    TBD: Macos & Windows
    
    Improve comments on app/appname

diff --git a/docbook/gnc-docbookx.dtd b/docbook/gnc-docbookx.dtd
index 9334449..18cb736 100644
--- a/docbook/gnc-docbookx.dtd
+++ b/docbook/gnc-docbookx.dtd
@@ -90,8 +90,8 @@ own entity definitions to use across all of our DocBook pages. -->
     "&appname;" replaces all occurences of "GnuCash" in the docs,
     so transliterate "GnuCash" here.
 -->
-<!ENTITY app "GnuCash"> <!-- This is deprecated and will later contain "<app>GnuCash</app>" -->
-<!ENTITY appname "GnuCash">
+<!ENTITY app "GnuCash">  <!-- This should be used in text and will later contain "<app>GnuCash</app>" -->
+<!ENTITY appname "GnuCash">  <!-- This should be used, where no further markup is desired, e.g. in GUI elements -->
 
 <!--
   Translators:
diff --git a/guide/C/appendixd.xml b/guide/C/appendixd.xml
index a2fe53c..b776eeb 100644
--- a/guide/C/appendixd.xml
+++ b/guide/C/appendixd.xml
@@ -20,15 +20,41 @@
 
       <sect2 id="check_format_overview">
         <title>Overview</title>
-        <para>The check format file is used to tell <application>&app;</application> how to print a check or checks onto a page of paper.  This file first describes the overall layout of a page (number of checks, orientation, etc) and then describes the layout of the specific items on a single check.  The file is organized as a typical Key/Value file used by many Linux applications.  Keys/values pairs are grouped into sections that begin with the group name enclosed in square brackets.</para>
-        <para><application>&app;</application> looks for check format files in two different locations when you bring up the check printing dialog.  The first location is typically <filename class="directory">/usr/share/gnucash/checks</filename>, where check files distributed with the application can be found.  The second location is the user private <filename class="directory">~/.gnucash/checks</filename> directory.  Users may add check formats at any time (even while <application>&app;</application> is running) simply by dropping a new <filename>*.chk</filename> file in this directory.  The next time the check printing dialog is opened the new check format will appear in the list of available check formats.</para>
+        <para> The check format file is used to tell <application>&app;</application> how to print a check or
+          checks onto a page of paper. This file first describes the overall layout of
+          a page (number of checks, orientation, etc) and then describes the layout of
+          the specific items on a single check. The file is organized as a typical
+          Key/Value file used by many Linux applications. Keys/values pairs are
+          grouped into sections that begin with the group name enclosed in square
+          brackets. 
+        </para>
+        <para><application>&app;</application> looks for check format files in two different locations when
+          you bring up the check printing dialog. The first location is typically
+          <filename class="directory">/usr/share/gnucash/checks</filename>, 
+          where check files distributed with the application can be found. The
+          second location is the user private
+          <filename class="directory">&dir-data;checks</filename>
+          <footnote id="dir-old-chk"><para>Up to <application>&app;</application> 2.21 it was <filename class="directory">&dir-old;checks</filename></para></footnote>
+          directory. Users may add check formats at any time (even while <application>&app;</application> is
+          running) simply by dropping a new
+          <filename>*.chk</filename>
+          file in this directory. The next time the check printing dialog is opened
+          the new check format will appear in the list of available check formats.
+        </para>
         <note>
-          <para>Printing functions differently depending on the version of GTK that is installed on your system.  When <application>&app;</application> is using a version of GTK prior to 2.10 all offsets are measured from the lower left corner of the page or check.  When using GTK 2.10 or later, all offsets are measured from the upper left corner of the page or check.</para>
+          <para> Printing functions differently depending on the version of GTK that
+            is installed on your system. When <application>&app;</application> is using a version of GTK prior to
+            2.10 all offsets are measured from the lower left corner of the page or
+            check. When using GTK 2.10 or later, all offsets are measured from the
+            upper left corner of the page or check. 
+          </para>
         </note>
       </sect2>
       <sect2>
         <title>Example file</title>
-        <para>A typical <application>&app;</application> check file is presented below.  The contents of this file will be described in the next sections.</para>
+        <para>A typical <application>&app;</application> check file is presented below. The contents of this file
+          will be described in the next sections.
+        </para>
 
         <programlisting>
 [Top]
@@ -219,7 +245,20 @@ Coords_5 = 50.0;212.0
                   <entry>Filename_<emphasis>n</emphasis></entry>
                   <entry>string</entry>
                   <entry>optional</entry>
-                  <entry>This field is only used when the item type is <emphasis>PICTURE</emphasis>. It specifies the filename of the image that should be printed on the check.  The string may specify either an absolute path name or as a relative path name.  If a relative path name is specified, <application>&app;</application> first looks in in the application check format folder (typically <filename class="directory">/usr/share/gnucash/checks</filename>) for the image file, and if it isn’t found there then it looks in the user private <filename class="directory">~/.gnucash/checks</filename> directory for the image.  This field is only recognized when using gtk version 2.10 or later.</entry>
+                  <entry>
+                    This field is only used when the item type is <emphasis>PICTURE</emphasis>.
+                    It specifies the filename of the image that should be printed on the
+                    check. The string may specify either an absolute path name or as a relative
+                    path name. If a relative path name is specified,
+                    <application>&app;</application>
+                    first looks in in the application check format folder (typically
+                    <filename class="directory">/usr/share/gnucash/checks</filename>
+                    ) for the image file, and if it is not found there then it looks in the user
+                    private
+                    <filename class="directory">&dir-data;checks</filename><footnoteref linkend="dir-old-chk" />
+                    directory for the image. This field is only recognized when using gtk
+                    version 2.10 or later.
+                  </entry>
                 </row>
                 <row>
                   <entry>Blocking_Chars_<emphasis>n</emphasis></entry>
@@ -435,9 +474,9 @@ Blocking_Chars
       </sect2>
       <sect2 id="check_format_notes">
         <title>Creating Check Format Files</title>
-        <para>Creating your own check format file is a fairly simple task.  The easiest way to start is to copy an existing check format file from the application directory (typically <filename class="directory">/usr/share/gnucash/checks</filename>) to the directory <filename class="directory">~/.gnucash/checks</filename>.  Make sure to change the guid so the new file will be accepted by gnucash, and change the title to something descriptive.  Then change or add individual item fields as necessary.  You can also create a new check file by clicking the <guibutton>Save Format</guibutton> button on the <guilabel>Custom format</guilabel> page of the check printing dialog.</para>
+        <para>Creating your own check format file is a fairly simple task.  The easiest way to start is to copy an existing check format file from the application directory (typically <filename class="directory">/usr/share/gnucash/checks</filename>) to the directory <filename class="directory">&dir-data;checks</filename><footnoteref linkend="dir-old-chk" />.  Make sure to change the guid so the new file will be accepted by gnucash, and change the title to something descriptive.  Then change or add individual item fields as necessary.  You can also create a new check file by clicking the <guibutton>Save Format</guibutton> button on the <guilabel>Custom format</guilabel> page of the check printing dialog.</para>
         <note>
-          <para>Key names are case sensitive.  If you’re having problems with a check format file, ensure that all key names have capital letters as documented above.</para>
+          <para>Key names are case sensitive.  If you are having problems with a check format file, ensure that all key names have capital letters as documented above.</para>
         </note>
       </sect2>
     </sect1>
diff --git a/guide/C/ch_basics.xml b/guide/C/ch_basics.xml
index 204e6fe..1ab1e58 100644
--- a/guide/C/ch_basics.xml
+++ b/guide/C/ch_basics.xml
@@ -1270,7 +1270,9 @@
 	  <tbody>
             <row>
      	      <entry>Unix</entry>
-              <entry><filename class="directory">~/.gnucash</filename></entry>
+              <entry><filename class="directory">&dir-data;</filename>
+                <footnote><para>Up to &app; 2.21 it was <filename class="directory">&dir-old;</filename></para></footnote>
+              </entry>
             </row>
             <row>
               <entry>Mac OSX</entry>

commit 701626b2325e34580e2d7c555fdd0b35f8a29a8e
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date:   Thu Sep 12 18:50:29 2019 +0200

    Add entities for common dicectories

diff --git a/docbook/gnc-docbookx.dtd b/docbook/gnc-docbookx.dtd
index 012719d..9334449 100644
--- a/docbook/gnc-docbookx.dtd
+++ b/docbook/gnc-docbookx.dtd
@@ -39,6 +39,14 @@ own entity definitions to use across all of our DocBook pages. -->
 <!ENTITY series-unstable "master">
 <!ENTITY series-stable "3">
 
+<!-- 
+  2. Some common dicectories - change rarely.
+  FIXME: OS independed?
+-->
+<!ENTITY dir-conf "~/.conf/gnucash/">
+<!ENTITY dir-data "~/.local/share/gnucash/">
+<!ENTITY dir-old "~/.gnucash/">  <!-- Up to 2.21 common for conf & data -->
+
 <!-- 
   2. Some common URLs - should be changed on demand.
   

commit 59e550ac0a77c603faa92329cce4ce21af70f7cc
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date:   Thu Sep 12 16:17:02 2019 +0200

    Add notes about ancient state and how to contribute templates

diff --git a/guide/C/appendixc.xml b/guide/C/appendixc.xml
index 2f87cb6..4a8ce54 100644
--- a/guide/C/appendixc.xml
+++ b/guide/C/appendixc.xml
@@ -16,8 +16,9 @@
 -->
  <appendix id="appendixc">
  <title>Contributed Account Trees</title>
- <para>
+ <para>This is an ancient example. For recent account trees see <ulink url="&url-src-maint;data/accounts" />, select your language and if existing region.
    </para>
+   <para>If you want to contribute your new or improved templates, read <ulink url="&url-wiki;Translation#How_to_translate_the_files_containing_the_new_account_hierarchies" />.</para>
  <sect1 id="appendixc_vat1">
  <title>UK Vat</title>
  <para>

commit 81795bc2490bd90de3d8a90f80226f0cef12b801
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date:   Thu Sep 12 16:15:25 2019 +0200

    Add Entities for url-src*

diff --git a/docbook/gnc-docbookx.dtd b/docbook/gnc-docbookx.dtd
index 7af5f77..012719d 100644
--- a/docbook/gnc-docbookx.dtd
+++ b/docbook/gnc-docbookx.dtd
@@ -67,6 +67,8 @@ own entity definitions to use across all of our DocBook pages. -->
 <!ENTITY url-gnome-dev "https://developer.gnome.org/">  <!-- Append the desired topic -->
 <!ENTITY url-irc "irc://irc.gnome.org/gnucash">
 <!ENTITY url-gnu "https://www.gnu.org/"> <!-- Append the desired topic -->
+<!ENTITY url-src "https://github.com/Gnucash/gnucash/">
+<!ENTITY url-src-maint "https://github.com/Gnucash/gnucash/tree/maint/"> <!-- Append the desired topic -->
 <!ENTITY url-wiki-faq "https://wiki.gnucash.org/wiki/FAQ">
 <!ENTITY url-mail-li "https://lists.gnucash.org/mailman/listinfo/">  <!-- Append the desired list -->
 <!ENTITY url-wiki-ml "https://wiki.gnucash.org/wiki/Mailiing_Lists">

commit 79c1ec4b61975f55f4d635b4b4ab363d03454438
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date:   Thu Sep 12 15:51:06 2019 +0200

    UK VAT: EEC became EC became EU

diff --git a/guide/C/appendixc.xml b/guide/C/appendixc.xml
index e2a0e23..2f87cb6 100644
--- a/guide/C/appendixc.xml
+++ b/guide/C/appendixc.xml
@@ -4,7 +4,8 @@
 <!--
       (Do not remove this comment block.)
   Version: 2.0.0
-  Last modified: July 9th 2006
+  Last modified: 2019-09-12 Fell: EEC->EU
+   modified: July 9th 2006
   Maintainers:
                Chris Lyttle <chris at wilddev.net>
   Author:
@@ -70,7 +71,7 @@ Cash [A]
 Assets [A]
   |___ Capital Equipment    (Box 7 - Part) - additions only, not absolute value
   |           |___ Computers      Can be depreciated to zero this year
-  |           |___ EEC reverse VAT purchase  (Box 6 - Part) create sub-accounts if needed
+  |           |___ EU reverse VAT purchase  (Box 6 - Part) create sub-accounts if needed
   |___  Other
 
 Receivable [R] Customers to whom you give credit - (business section)
@@ -89,7 +90,7 @@ VAT [L]   Net (Box 5)
   |___ i/p [A]   purchases (Box4)
   |___  o/p [L]     (Box3)
              |___EEC   on reverse VAT purchases (Box 2)
-             |___Sales   all including zero rate UK/ EEC  and World (Box1)
+             |___Sales   all including zero rate UK/ EU  and World (Box1)
 
 Payable [P]   Suppliers who give you credit (business section)
 
@@ -107,7 +108,7 @@ Income [I]   (Box 6 - part)
    |___ Interest
    |___ Misc
    | ___ Sales
-                |___ EEC
+                |___ EU
                 |     |____ goods  (Box 8) (sub accounts as needed)
                 |     |____ services includes software (sub accounts as needed)
                 | ___ UK
@@ -128,7 +129,7 @@ Expenses [E]
                     |___  Accountancy
                     |___  Bank Charges
                     |___  Consumables
-                    |___  EEC  reverse VAT purchases  (Box 6 - Part)
+                    |___  EU  reverse VAT purchases  (Box 6 - Part)
                     |         |___ goods (Box 9) (sub accounts as needed)
                     |         |___ services   includes software (sub accounts as needed)
                     |___  Office

commit 9b9a657d8747e8c4969daa85e88f5bb4504ac404
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Fri Sep 13 21:21:36 2019 +0200

    CMake - revisit project variables
    
    - Remove a number of variables we're not using
    - Tweak the 'project' command to set VERSION and use the resulting variables
    - Tell cmake we're not using any of its known languages to avoid checking C/C++ features

diff --git a/CMakeLists.txt b/CMakeLists.txt
index f75ba4d..c299fc4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,21 +2,17 @@
 
 cmake_minimum_required (VERSION 3.5)
 
-project (gnucash-docs)
+# This sets a number of environment variables we can use later on
+# The names of these variables start with PROJECT_ and gnucash-docs_VERSION
+project (gnucash-docs
+    VERSION 3.7
+    LANGUAGES NONE)
 
-# Version number of gnucash
-set (GNUCASH_MAJOR_VERSION 3)
-set (GNUCASH_MINOR_VERSION 7)
-set (VERSION "${GNUCASH_MAJOR_VERSION}.${GNUCASH_MINOR_VERSION}")
-set (GNUCASH_LATEST_STABLE_SERIES 3.x)
-
-set (PACKAGE gnucash-docs)
 set (PACKAGE_NAME GnuCash Docs)
-set (PACKAGE_VERSION 3.7)
 set (PACKAGE_BUGREPORT "https://bugs.gnucash.org/describecomponents.cgi?product=Documentation")
-set (PACKAGE_TARNAME ${PACKAGE})
-set (PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
+set (PACKAGE_STRING "${PACKAGE_NAME} ${gnucash-docs_VERSION}")
 set (PACKAGE_URL "https://www.gnucash.org/")
+set (PACKAGE_PREFIX "${PROJECT_NAME}-${gnucash-docs_VERSION}")
 
 # Extra cmake macros
 set (CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake;${CMAKE_MODULE_PATH}")
@@ -235,7 +231,6 @@ add_to_dist(
 
 ############################ BEGIN MAKE DIST #################
 
-set(PACKAGE_PREFIX "${PACKAGE}-${PACKAGE_VERSION}")
 set(DIST_FILE "${PACKAGE_PREFIX}.tar")
 
 add_custom_command(OUTPUT ${DIST_FILE}.gz ${DIST_FILE}.bz2

commit 1527cb2f639d16a8082482835b8fbe6d73421ec5
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Wed Sep 11 16:50:32 2019 +0200

    Autotools - add svg files to dist. They are used for pdf generation.

diff --git a/xmldocs.make b/xmldocs.make
index 96bdff2..059a698 100644
--- a/xmldocs.make
+++ b/xmldocs.make
@@ -52,6 +52,7 @@ xml_files = $(entities) $(docname).xml $(top_srcdir)/docbook/gnc-docbookx.dtd
 gnomehelp_DATA =  $(xml_files)
 gnomehelpfiguresdir = $(gnomehelpdir)/$(figdir)
 gnomehelpfigures_DATA = $(shell ls ${srcdir}/${figdir}/*.png)
+gnomehelpfigures_DATA += $(shell ls ${srcdir}/${figdir}/*.svg)
 
 uninstall-hook:
 	rmdir --ignore-fail-on-non-empty "$(DESTDIR)$(gnomehelpfiguresdir)"

commit 585d6071bce98073f7ef13798037794bc8eb4b86
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Wed Sep 11 16:45:50 2019 +0200

    CMake - revisit dist and distcheck
    
    - as we had with code add an option AUTOTOOLS_IN_DIST to enable or disable
      addition of autotools files in the dist tarball
    - dist target may run autogen.sh to generate the autotools files if they don't
      exist yet. This is only possible when working from a git checkout dir as
      autogen.sh is not distributed. If generating the dist target from a
      dist tarball, the autotools files are assumed to be present already.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index de17a57..f75ba4d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -55,6 +55,10 @@ else()
 endif()
 option (WITH_MOBI "Enable build rules for Mobipocket document format" OFF)
 
+# If AUTOTOOLS_IN_DIST is OFF, then 'dist' wont run autogen.sh, and 'distcheck'
+# won't run the autotools distcheck. Note that various Makefile.am files are still
+# included in the dist when this is OFF. I'll fix that at some point.
+option (AUTOTOOLS_IN_DIST "Add autotools support to distribution tarballs." ON)
 # ############################################################
 # Following parameters can equally be set using -D switches on the CMake command line.
 # Set font dirs and font for Russian pdf documents
@@ -90,6 +94,20 @@ if(NOT XMLLINT)
     message(SEND_ERROR "Can't find xmllint, perhaps you should install the xsltproc or libxslt package ?")
 endif(NOT XMLLINT)
 
+# Find a proper bash executable, only used in case of distcheck with autotools
+set(GNC_SHELL $ENV{GNC_SHELL})
+if (GNC_SHELL) # Replacing this with if ($ENV{GNC_SHELL}) doesn't work.
+  # Allow shell override by setting the GNC_SHELL environment variable
+  set(SHELL ${GNC_SHELL})
+else()
+  find_package(UnixCommands)
+  if (BASH)
+    set(SHELL ${BASH})
+  else()
+    message(SEND_ERROR "Can't find a suitable bash executable. Please set GNC_SHELL.")
+  endif()
+endif()
+
 # Check for optional fop
 if(WITH_PDF)
     find_program(FOP fop)
@@ -164,27 +182,40 @@ endif()
 add_subdirectory (guide)
 add_subdirectory (help)
 
-set(autotoolsfiles
-    configure.ac
-    configure
-    config.guess
-    config.sub
-    COPYING
-    INSTALL
-    Makefile.am
-    Makefile.in
-    aclocal.m4
-    gnucash-docs.spec.in
-    install-sh
-    ltmain.sh
-    missing
-    chm.make
-    epub.make
-    mobi.make
-    omf.make
-    pdf.make
-    xmldocs.make)
-add_to_dist(${autotoolsfiles})
+if(AUTOTOOLS_IN_DIST)
+    set(autotoolsfiles
+        configure.ac
+        configure
+        config.guess
+        config.sub
+        COPYING
+        INSTALL
+        Makefile.am
+        aclocal.m4
+        gnucash-docs.spec.in
+        install-sh
+        ltmain.sh
+        missing
+        chm.make
+        epub.make
+        mobi.make
+        omf.make
+        pdf.make
+        xmldocs.make)
+
+    # If autogen.sh is not in the source tree, we assume the source is extracted
+    # from a dist tarball. In that case the Makefile.in files are already present
+    # and we can include the directly instead of generating them from autogen.sh
+    find_file(AUTOGEN autogen.sh
+        HINTS "${CMAKE_SOURCE_DIR}"
+        NO_DEFAULT_PATH)
+    if(NOT AUTOGEN)
+        list(APPEND autotoolsfiles Makefile.in)
+        message(STATUS "autogen.sh not in source tree. Assuming Makefile.in files are present instead")
+    endif()
+
+    add_to_dist(${autotoolsfiles})
+endif()
 
 file(GLOB_RECURSE extrafiles
     RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
@@ -214,6 +245,8 @@ add_custom_command(OUTPUT ${DIST_FILE}.gz ${DIST_FILE}.bz2
            -D GNUCASH_SOURCE_DIR=${CMAKE_SOURCE_DIR}
            -D BUILD_SOURCE_DIR=${CMAKE_BINARY_DIR}
            "-Ddist_files=\"${dist_files}\""
+           -D AUTOGEN=${AUTOGEN}
+           -D SHELL=${SHELL}
            -P ${CMAKE_SOURCE_DIR}/cmake/MakeDist.cmake
 
         DEPENDS
@@ -226,6 +259,9 @@ add_custom_target(distcheck DEPENDS dist
         COMMAND ${CMAKE_COMMAND}
             -D CMAKE_MODULE_PATH=${CMAKE_SOURCE_DIR}/cmake
             -D PACKAGE_PREFIX=${PACKAGE_PREFIX}
+            -D GNUCASH_SOURCE_DIR=${CMAKE_SOURCE_DIR}
+            -D AUTOTOOLS_IN_DIST=${AUTOTOOLS_IN_DIST}
+            -D SHELL=${SHELL}
             -P ${CMAKE_SOURCE_DIR}/cmake/MakeDistCheck.cmake
         )
 
diff --git a/cmake/AddGncDocTargets.cmake b/cmake/AddGncDocTargets.cmake
index ae054f8..140b933 100644
--- a/cmake/AddGncDocTargets.cmake
+++ b/cmake/AddGncDocTargets.cmake
@@ -38,10 +38,15 @@ function (add_gnc_doc_targets docname entities)
         endif()
     endif()
 
-    set(autotoolsfiles
-        Makefile.am
-        Makefile.in
-        ${docname}-${lang}.omf)
+    if(AUTOTOOLS_IN_DIST)
+        set(autotoolsfiles
+            Makefile.am
+            ${docname}-${lang}.omf)
+
+        if(NOT AUTOGEN)
+            list(APPEND autotoolsfiles Makefile.in)
+        endif()
+    endif()
 
     file(GLOB_RECURSE figures_dist
         RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
diff --git a/cmake/MakeDist.cmake b/cmake/MakeDist.cmake
index 7ae269e..92a7a1a 100644
--- a/cmake/MakeDist.cmake
+++ b/cmake/MakeDist.cmake
@@ -10,6 +10,31 @@
 
 include(${CMAKE_MODULE_PATH}/DistCommon.cmake)
 
+function(find_automake AUTOMAKE_VAR ACLOCAL_VAR AUTOMAKE_VERSION_VAR)
+    find_program(AUTOMAKE automake)
+    execute_process(
+            COMMAND ${AUTOMAKE} --version
+            RESULT_VARIABLE AUTOMAKE_RESULT
+            OUTPUT_VARIABLE AUTOMAKE_OUTPUT
+            ERROR_VARIABLE AUTOMAKE_ERROR
+    )
+
+    set(NEED_OVERRIDE FALSE)
+    if(AUTOMAKE)
+        string(REGEX REPLACE ".*automake \\(GNU automake\\) ([0-9]\\.[0-9]+).*" "\\1" AUTOMAKE_VERSION "${AUTOMAKE_OUTPUT}")
+        find_program(ACLOCAL aclocal)
+        if(NOT ACLOCAL)
+            message(FATAL_ERROR "Found ok version of automake, but can't find aclocal")
+        endif()
+    else()
+        message(FATAL_ERROR "Can't find 'automake' or 'automake-1.11'")
+        message("  You can set AUTOTOOLS_IN_DIST=OFF to exclude autotools support.")
+    endif()
+    set(${AUTOMAKE_VAR} ${AUTOMAKE} PARENT_SCOPE)
+    set(${ACLOCAL_VAR} ${ACLOCAL} PARENT_SCOPE)
+    set(${AUTOMAKE_VERSION_VAR} ${AUTOMAKE_VERSION} PARENT_SCOPE)
+endfunction()
+
 function(make_dist PACKAGE_PREFIX GNUCASH_SOURCE_DIR BUILD_SOURCE_DIR)
 
     # -- Remove any existing packaging directory.
@@ -31,6 +56,41 @@ function(make_dist PACKAGE_PREFIX GNUCASH_SOURCE_DIR BUILD_SOURCE_DIR)
 
     cmake_policy(SET CMP0012 NEW)
 
+    # When making a dist tarball including autotools files
+    # the Makefile.in files may have to be generated by running autogen.sh
+    # The toplevel cmake configuration determines whether this is required or not
+    if(AUTOGEN)
+        find_automake(AUTOMAKE ACLOCAL AUTOMAKE_VERSION)
+
+        # -- Run autogen.sh to cause Makefile.in files to be created.
+        file(COPY ${GNUCASH_SOURCE_DIR}/autogen.sh DESTINATION ${PACKAGE_PREFIX})
+        execute_process(
+                COMMAND ${SHELL} -c ./autogen.sh
+                WORKING_DIRECTORY ${PACKAGE_PREFIX}
+                RESULT_VARIABLE AUTOGEN_RESULT
+                OUTPUT_VARIABLE AUTOGEN_OUTPUT
+        )
+        if(NOT ${AUTOGEN_RESULT} STREQUAL "0")
+            message(FATAL_ERROR "autogen.sh step failed: ${AUTOGEN_RESULT}")
+        endif()
+
+        # -- Remove autogen files as they are not distributed.
+        file(REMOVE ${PACKAGE_PREFIX}/autogen.sh)
+        file(REMOVE_RECURSE ${PACKAGE_PREFIX}/autom4te.cache)
+
+        # -- Autogen.sh creates some files as symbolic links that we turn into real files here.
+        if(NOT WIN32) # No symbolic links on Windows
+            set(LINKS config.guess config.sub COPYING INSTALL install-sh ltmain.sh missing)
+            foreach(link ${LINKS})
+                get_filename_component(realpath ${PACKAGE_PREFIX}/${link} REALPATH)
+                file(REMOVE ${PACKAGE_PREFIX}/${link})
+                file(COPY ${realpath} DESTINATION ${PACKAGE_PREFIX})
+            endforeach(link)
+        endif()
+
+    endif()
+
+
     # -- Create the tarballs.
 
     execute_process_and_check_result(
diff --git a/cmake/MakeDistCheck.cmake b/cmake/MakeDistCheck.cmake
index c634134..39bc565 100644
--- a/cmake/MakeDistCheck.cmake
+++ b/cmake/MakeDistCheck.cmake
@@ -42,6 +42,7 @@ function(run_dist_check PACKAGE_PREFIX EXT)
     execute_process_and_check_result(
             COMMAND ${CMAKE_COMMAND} -G Ninja
               -D CMAKE_INSTALL_PREFIX=../${INSTALL_DIR}
+              -D AUTOTOOLS_IN_DIST=${AUTOTOOLS_IN_DIST}
               ../${PACKAGE_PREFIX}
             WORKING_DIRECTORY ${BUILD_DIR}
             ERROR_MSG "CMake configure command failed."
@@ -79,4 +80,56 @@ function(run_dist_check PACKAGE_PREFIX EXT)
 
 endfunction()
 
+function(run_autotools_dist_check PACKAGE_PREFIX)
+    # We assume that the RUN_DIST_CHECK() function has been run so that we can
+    # use the untarred distribution created by that step.
+    set(BUILD_DIR ${PACKAGE_PREFIX})
+    set(INSTALL_DIR "_cmake_install_autotools")
+    file(REMOVE_RECURSE ${BUILD_DIR}/${INSTALL_DIR})
+    file(MAKE_DIRECTORY ${BUILD_DIR}/${INSTALL_DIR})
+
+    message("Running autotools configure")
+    message("CMAKE_CURRENT_SOURCE_DIR: ${CMAKE_CURRENT_SOURCE_DIR}")
+    execute_process_and_check_result(
+        COMMAND ${CMAKE_COMMAND} -E env ./configure --prefix=${CMAKE_CURRENT_SOURCE_DIR}/${INSTALL_DIR}
+        WORKING_DIRECTORY ${BUILD_DIR}
+        ERROR_MSG "Autotools 'configure' step failed."
+    )
+
+    message("Running autotools make")
+    execute_process_and_check_result(
+        COMMAND ${CMAKE_COMMAND} -E env make -j 4
+        WORKING_DIRECTORY ${BUILD_DIR}
+        ERROR_MSG "Autotools 'make' step failed."
+    )
+
+    message("Running autotools make check")
+    execute_process_and_check_result(
+        COMMAND ${CMAKE_COMMAND} -E env make check
+        WORKING_DIRECTORY ${BUILD_DIR}
+        ERROR_MSG "Autotools 'make check' step failed."
+    )
+
+    message("Running autotools make install")
+    execute_process_and_check_result(
+        COMMAND ${CMAKE_COMMAND} -E env make install
+        WORKING_DIRECTORY ${BUILD_DIR}
+        ERROR_MSG "Autotools 'make install' step failed."
+    )
+
+    message("Running autotools make uninstall")
+    execute_process_and_check_result(
+        COMMAND ${CMAKE_COMMAND} -E env make uninstall
+        WORKING_DIRECTORY ${BUILD_DIR}
+        ERROR_MSG "Autotools 'make uninstall' step failed."
+    )
+
+    message("Autotools distcheck complete.")
+
+endfunction()
+
 run_dist_check(${PACKAGE_PREFIX} .gz)
+
+if(AUTOTOOLS_IN_DIST)
+  run_autotools_dist_check(${PACKAGE_PREFIX})
+endif()
diff --git a/guide/CMakeLists.txt b/guide/CMakeLists.txt
index 8b047f7..5d4d4d8 100644
--- a/guide/CMakeLists.txt
+++ b/guide/CMakeLists.txt
@@ -40,7 +40,10 @@ add_subdirectory(ja)
 add_subdirectory(pt)
 add_subdirectory(ru)
 
-set(autotoolsfiles
-    Makefile.am
-    Makefile.in)
+if(AUTOTOOLS_IN_DIST)
+    set(autotoolsfiles Makefile.am)
+    if(NOT AUTOGEN)
+        list(APPEND autotoolsfiles Makefile.in)
+    endif()
+endif()
 add_to_dist(CMakeLists.txt ${autotoolsfiles})
diff --git a/help/CMakeLists.txt b/help/CMakeLists.txt
index dc75695..b50cbd8 100644
--- a/help/CMakeLists.txt
+++ b/help/CMakeLists.txt
@@ -38,7 +38,10 @@ add_subdirectory(de)
 add_subdirectory(it)
 add_subdirectory(pt)
 
-set(autotoolsfiles
-    Makefile.am
-    Makefile.in)
+if(AUTOTOOLS_IN_DIST)
+    set(autotoolsfiles Makefile.am)
+    if(NOT AUTOGEN)
+        list(APPEND autotoolsfiles Makefile.in)
+    endif()
+endif()
 add_to_dist(CMakeLists.txt ${autotoolsfiles})

commit 5777d258b27a9a5a2e9c23b886728fbe527e3f8d
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Tue Sep 10 09:37:48 2019 +0200

    Fix indentation of EXTRA_DIST even more

diff --git a/Makefile.am b/Makefile.am
index d663a15..27d4a36 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -6,7 +6,7 @@ EXTRA_DIST = COPYING-DOCS \
 	     xmldocs.make \
 	     omf.make \
 	     pdf.make \
-         chm.make \
+	     chm.make \
 	     docbook \
 	     stylesheet \
 	     xsl \

commit e127ef2b7f7350c0006929689d5be57313b2a2cd
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date:   Mon Sep 9 08:30:06 2019 +0200

    Fix indentation of EXTRA_DIST

diff --git a/Makefile.am b/Makefile.am
index 56bef81..d663a15 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -6,7 +6,7 @@ EXTRA_DIST = COPYING-DOCS \
 	     xmldocs.make \
 	     omf.make \
 	     pdf.make \
-             chm.make \
+         chm.make \
 	     docbook \
 	     stylesheet \
 	     xsl \

commit ac64a6726c35f4e42ed86f797b1e617c1c69a100
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date:   Mon Sep 9 08:20:31 2019 +0200

    Add backslashes on cmake entries in EXTRA_DIST

diff --git a/Makefile.am b/Makefile.am
index b40a831..56bef81 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -13,16 +13,16 @@ EXTRA_DIST = COPYING-DOCS \
 	     HACKING \
 	     README \
 	     cmake/AddChmTarget.cmake \
-	     cmake/AddEpubTarget.cmake
-	     cmake/AddGHelpTarget.cmake
-	     cmake/AddGncDocTargets.cmake
-	     cmake/AddHtmlTarget.cmake
-	     cmake/AddPdfTarget.cmake
-	     cmake/cmake_uninstall.cmake.in
-	     cmake/DistCommon.cmake
-	     cmake/MakeChm.cmake
-	     cmake/MakeDistCheck.cmake
-	     cmake/MakeDist.cmake
+	     cmake/AddEpubTarget.cmake \
+	     cmake/AddGHelpTarget.cmake \
+	     cmake/AddGncDocTargets.cmake \
+	     cmake/AddHtmlTarget.cmake \
+	     cmake/AddPdfTarget.cmake \
+	     cmake/cmake_uninstall.cmake.in \
+	     cmake/DistCommon.cmake \
+	     cmake/MakeChm.cmake \
+	     cmake/MakeDistCheck.cmake \
+	     cmake/MakeDist.cmake \
 	     fonts/gothic.xml \
 	     fonts/mincho.xml \
 	     fonts/truetype/ume-tgo4.ttf \

commit f77e8a387a751c38e9eced6cf5fdf8457bf2de61
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date:   Mon Sep 9 05:47:03 2019 +0200

    FAQ: review links
    
    Remove redundance.
    Use entities, where applicable.
    
    Improve English (Where’s -> Where is)
    Explain, which FAQ is recent.
    Remove g-wrap reference.
    
    Note: Gmane seems dead.

diff --git a/guide/C/appendixb.xml b/guide/C/appendixb.xml
index 27bdf7c..4b4deaa 100644
--- a/guide/C/appendixb.xml
+++ b/guide/C/appendixb.xml
@@ -23,23 +23,23 @@
       <title>Sources of Information</title>
 
       <qandaentry id="appendixb_info_where">
-        <question><para>Where’s the FAQ?</para></question>
-        <answer><para>You’re looking at it. The most up-to-date copy can be found <ulink url="http://wiki.gnucash.org/wiki/FAQ">within the <application>&app;</application> Wiki</ulink>.</para></answer>
+        <question><para>Where is the FAQ?</para></question>
+        <answer><para>You’re looking at an very old copy of it. The most up-to-date copy can be found within the <ulink url="&url-wiki-faq;"><application>&app;</application> Wiki</ulink>.</para></answer>
       </qandaentry>
 
       <qandaentry id="appendixb_info_mail">
         <question><para>Are there mailing lists for <application>&app;</application>?</para></question>
-        <answer><para>Yes. Go to <ulink url="http://lists.gnucash.org/mailman/listinfo/gnucash-user">http://lists.gnucash.org/mailman/listinfo/gnucash-user</ulink> and <ulink url="http://lists.gnucash.org/mailman/listinfo/gnucash-devel">http://lists.gnucash.org/mailman/listinfo/gnucash-devel</ulink> to subscibe.</para></answer>
+        <answer><para>Yes. Go to <ulink url="&url-mail-li;gnucash-user" /> and <ulink url="&url-mail-li;gnucash-devel" /> to subscibe.</para></answer>
       </qandaentry>
 
       <qandaentry id="appendixb_info_mailarchive">
         <question><para>Is there a searchable archive for the mailing lists?</para></question>
-        <answer><para>Yes, you can search the mail list archives at <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.devel"></ulink> and <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.user"></ulink> (and <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.german"></ulink> if you speak German).</para></answer>
+        <answer><para>Yes, you can search the mail list archives at <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.devel" /> and <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.user" /> (and <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.german" /> if you speak German).</para></answer>
       </qandaentry>
 
       <qandaentry id="appendixb_info_other">
         <question><para>Are there other means of obtaining support for <application>&app;</application>?</para></question>
-        <answer><para>Yes. Many of the developers hang out on icq in the #gnucash discussion on irc.gnome.org. Also, there is a wiki online at <ulink url="http://wiki.gnucash.org/wiki/&app;">http://wiki.gnucash.org/wiki/&app;</ulink>.</para></answer>
+        <answer><para>Yes. Many of the developers hang out on icq in the #gnucash discussion on <ulink url="&url-irc;" />. Also, there is a <ulink url="&url-wiki;">wiki</ulink> online.</para></answer>
       </qandaentry>
     </qandadiv>
 
@@ -54,7 +54,7 @@
 
       <qandaentry id="appendixb_general_hard2compile">
         <question><para>I heard it is too hard to compile <application>&app;</application>!</para></question>
-        <answer><para>This was probably true at the time when 1.6.0 was released. It is no longer true today, as almost every distribution ships with all the necessary libraries (except g-wrap, which means there is in fact <quote>one</quote> extra library to be installed before compiling <application>&app;</application>). However, by default, distributions won’t install the development packages of the required libraries, so you might need to start your distribution’s installer program and tell it to install not only the library packages but also the -devel packages. In general, it was noted that this problem concerns many applications in the gnome domain, and this also boils down to the fact that there is no such thing as <quote>one monolithic gnome package</quote>.</para></answer>
+        <answer><para>This was probably true at the time when 1.6.0 was released. It is no longer true today, as almost every distribution ships with all the necessary libraries. However, by default, distributions won’t install the development packages of the required libraries, so you might need to start your distribution’s installer program and tell it to install not only the library packages but also the -devel packages. In general, it was noted that this problem concerns many applications in the gnome domain, and this also boils down to the fact that there is no such thing as <quote>one monolithic gnome package</quote>.</para></answer>
       </qandaentry>
 
       <qandaentry id="appendixb_general_batchmode">
@@ -69,7 +69,7 @@
       </qandaentry>
 
       <qandaentry id="appendixb_general_WhyC">
-        <question><para>Why is <application>&app;</application> written in C?</para></question>
+        <question><para id="appendixb_general_WhyC.q">Why is <application>&app;</application> written in C?</para></question>
         <answer><para>The core functionality of <application>&app;</application> is written in C, but do not forget that much of this can be accessed through Guile (scheme).  There are a number of reasons for why <application>&app;</application> is written in C.  The first is historical, <application>&app;</application> was started in 1996 (or maybe even earlier!) and many of the OOP (C++, Java, Python) compilers were not yet mature and standarized enough on the variety of platforms considered at that time, so C was the only option at that time.  A second reason is because the standard GUI <application>&app;</application> uses is GTK, which is written in C.</para></answer>
       </qandaentry>
 
@@ -77,12 +77,12 @@
         <question><para>Why don’t you rewrite <application>&app;</application> in programming language xyz so that I can contribute easily?</para></question>
         <answer><para>The quick answer is <quote>We won’t</quote>.</para></answer>
         <answer><para>The longer answer is complex but still amounts to <quote>We won’t</quote>. <application>&app;</application> is a large body of code maintained by a small group of developers who are comfortable in C and Scheme (Guile). Actually, 80% of it is in C and approx. 13% is in Scheme/Lisp. There is no valid reason that would justify rewriting this amount of existing code in a newer language. Also, creating language bindings to recent languages such as Python or Ruby or (insert your favourite language here) is labor intensive, and we’re already stretched pretty thin maintaining and developing the existing code.</para></answer>
-        <answer><para>Having said that, this is an open source project and you’re free to do with it or contribute what you want. Just don’t expect much support if the reason for your changes is that you’re not willing to learn C or Scheme. Also, <application>&app;</application> used to have SWIG bindings (<ulink url="http://www.swig.org"></ulink>) which have been used for some perl programming code. According to a list discussion, these SWIG bindings might still be a way to include other languages into <application>&app;</application>, but currently they are unused and unmaintained.</para></answer>
+        <answer><para>Having said that, this is an open source project and you’re free to do with it or contribute what you want. Just don’t expect much support if the reason for your changes is that you’re not willing to learn C or Scheme. Also, <application>&app;</application> used to have SWIG bindings (<ulink url="http://www.swig.org" />) which have been used for some perl programming code. According to a list discussion, these SWIG bindings might still be a way to include other languages into <application>&app;</application>, but currently they are unused and unmaintained.</para></answer>
       </qandaentry>
 
       <qandaentry id="appendixb_general_newFeatures">
         <question><para>I really want feature XYZ but <application>&app;</application> doesn’t have it. How do I get it added?</para></question>
-        <answer><para>Ask nicely. :-) You can file an enhancement request at <ulink url="http://bugs.gnucash.org/enter_bug.cgi?product=&app;"></ulink>. Please bear in mind to describe your proposed enhancement as verbosely as possible. The trick here is to learn how to give the best information to the programmers about what your proposed new feature should do. If you want to speed up development significantly, consider donating some money as described on <application>&app;</application>Development.</para></answer>
+        <answer><para>Ask nicely. :-) You can file an enhancement request at <ulink url="&url-bug-start;" />. Please bear in mind to describe your proposed enhancement as verbosely as possible. The trick here is to learn how to give the best information to the programmers about what your proposed new feature should do. If you want to speed up development significantly, consider donating some money as described on <application>&app;</application>Development.</para></answer>
       </qandaentry>
 
       <qandaentry id="appendixb_software_web">
@@ -97,13 +97,13 @@
 
       <qandaentry id="appendixb_software_contribute">
         <question><para>How can I contribute to the <application>&app;</application> project?</para></question>
-        <answer><para>We’re working on a more formal process, but for now you should subscribe to the mailing list at <ulink url="http://lists.gnucash.org/mailman/listinfo/gnucash-user">http://lists.gnucash.org/mailman/listinfo/gnucash-user</ulink> and <ulink url="http://lists.gnucash.org/mailman/listinfo/gnucash-devel">http://lists.gnucash.org/mailman/listinfo/gnucash-devel</ulink> and discuss what you can contribute with the participants on the lists. Please be aware that <application>&app;</application> is a large body of code written in C and Scheme (see the FAQ above, <quote>Why is <application>&app;</application> written in C?</quote> if you want to know why). If these are languages that you are not willing to work with, consider contributing in other ways.</para></answer>
+        <answer><para>We’re working on a more formal process, but for now you should subscribe to the mailing list at <ulink url="&url-mail-li;gnucash-user" /> and <ulink url="&url-mail-li;gnucash-devel" /> and discuss what you can contribute with the participants on the lists. Please be aware that <application>&app;</application> is a large body of code written in C and Scheme (see <quote><link linkend="appendixb_general_WhyC" endterm="appendixb_general_WhyC.q"></link></quote> above, if you want to know why). If these are languages that you are not willing to work with, consider contributing in other ways.</para></answer>
       </qandaentry>
 
       <qandaentry id="appendixb_software_bugs">
         <question><para>I think I found a bug. How do I report it?</para></question>
-        <answer><para>First of all, try to verify that it is indeed a bug and that it has not been reported before. Search the mail list archives (see FAQ above). Then search the <ulink url="http://bugs.gnucash.org">&app; Bugzilla</ulink> database.</para>
-        <para>If you feel you have indeed found a bug, you can then report it at <ulink url="http://bugs.gnucash.org/enter_bug.cgi?product=&app;"></ulink>. Please bear in mind to report your bug as verbosely as possible. The trick here is to learn how to give the best information to the programmers about how to reproduce bugs. A Programmer will usually only be able to fix a bug they can see, if you can’t make the programmer see your bug, it won’t get fixed!</para></answer>
+        <answer><para>First of all, try to verify that it is indeed a bug and that it has not been reported before. Search the mail list archives (see FAQ above). Then search the <ulink url="&url-bug-start;">&app; Bugzilla</ulink> database.</para>
+        <para>If you feel you have indeed found a bug, you can then report it at <ulink url="&url-bug-start;" />. Please bear in mind to report your bug as verbosely as possible. The trick here is to learn how to give the best information to the programmers about how to reproduce bugs. A Programmer will usually only be able to fix a bug they can see, if you can’t make the programmer see your bug, it won’t get fixed!</para></answer>
       </qandaentry>
 
     </qandadiv>

commit 45767a71df5908e5c83e5061f030c9d3106c3d01
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date:   Mon Sep 9 05:42:24 2019 +0200

    Add ENTITY url-irc

diff --git a/docbook/gnc-docbookx.dtd b/docbook/gnc-docbookx.dtd
index 72a38ad..7af5f77 100644
--- a/docbook/gnc-docbookx.dtd
+++ b/docbook/gnc-docbookx.dtd
@@ -65,6 +65,7 @@ own entity definitions to use across all of our DocBook pages. -->
 <!ENTITY url-bug-search "https://bugs.gnucash.org/query.cgi">
 <!ENTITY url-bug-browse "https://bugs.gnucash.org/describecomponents.cgi">
 <!ENTITY url-gnome-dev "https://developer.gnome.org/">  <!-- Append the desired topic -->
+<!ENTITY url-irc "irc://irc.gnome.org/gnucash">
 <!ENTITY url-gnu "https://www.gnu.org/"> <!-- Append the desired topic -->
 <!ENTITY url-wiki-faq "https://wiki.gnucash.org/wiki/FAQ">
 <!ENTITY url-mail-li "https://lists.gnucash.org/mailman/listinfo/">  <!-- Append the desired list -->

commit 1323c3dfe2afc24998ed21059cec3c6b6e795b44
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date:   Sun Sep 8 23:28:07 2019 +0200

    Use <qandaset> for FAQ

diff --git a/guide/C/appendixb.xml b/guide/C/appendixb.xml
index 842c989..27bdf7c 100644
--- a/guide/C/appendixb.xml
+++ b/guide/C/appendixb.xml
@@ -5,6 +5,8 @@
       (Do not remove this comment block.)
   Version: 2.0.0
   Last modified: July 9th 2006
+  Converted to qandaset 2019-09-09 by Frank H. Ellenberger
+  
   Maintainers:
                Chris Lyttle <chris at wilddev.net>
   Author:
@@ -13,128 +15,131 @@
   Translators:
                (translators put your name and email here)
 -->
-  <appendix id="appendixb">
-    <title>Frequently Asked Questions</title>
-    <para>This is a list of questions asked on the mailing lists for which there really is no section in the documentation covering the subject.</para>
-    <sect1 id="appendixb_info">
+<appendix id="appendixb">
+  <title>Frequently Asked Questions</title>
+    <abstract><para>This is a list of questions asked on the mailing lists for which there really is no section in the documentation covering the subject.</para></abstract>
+  <qandaset defaultlabel='qanda'>
+    <qandadiv id="appendixb_info">
       <title>Sources of Information</title>
 
-      <sect2 id="appendixb_info_where">
-        <title>Q: Where’s the FAQ?</title>
-        <para>A: You’re looking at it. The most up-to-date copy can be found <ulink url="http://wiki.gnucash.org/wiki/FAQ">within the <application>&app;</application> Wiki</ulink>.</para>
-      </sect2>
+      <qandaentry id="appendixb_info_where">
+        <question><para>Where’s the FAQ?</para></question>
+        <answer><para>You’re looking at it. The most up-to-date copy can be found <ulink url="http://wiki.gnucash.org/wiki/FAQ">within the <application>&app;</application> Wiki</ulink>.</para></answer>
+      </qandaentry>
 
-      <sect2 id="appendixb_info_mail">
-        <title>Q: Are there mailing lists for <application>&app;</application>?</title>
-        <para>A: Yes. Go to <ulink url="http://lists.gnucash.org/mailman/listinfo/gnucash-user">http://lists.gnucash.org/mailman/listinfo/gnucash-user</ulink> and <ulink url="http://lists.gnucash.org/mailman/listinfo/gnucash-devel">http://lists.gnucash.org/mailman/listinfo/gnucash-devel</ulink> to subscibe.</para>
-      </sect2>
+      <qandaentry id="appendixb_info_mail">
+        <question><para>Are there mailing lists for <application>&app;</application>?</para></question>
+        <answer><para>Yes. Go to <ulink url="http://lists.gnucash.org/mailman/listinfo/gnucash-user">http://lists.gnucash.org/mailman/listinfo/gnucash-user</ulink> and <ulink url="http://lists.gnucash.org/mailman/listinfo/gnucash-devel">http://lists.gnucash.org/mailman/listinfo/gnucash-devel</ulink> to subscibe.</para></answer>
+      </qandaentry>
 
-      <sect2 id="appendixb_info_mailarchive">
-        <title>Q: Is there a searchable archive for the mailing lists?</title>
-        <para>A: Yes, you can search the mail list archives at <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.devel"></ulink> and <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.user"></ulink> (and <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.german"></ulink> if you speak German).</para>
-      </sect2>
+      <qandaentry id="appendixb_info_mailarchive">
+        <question><para>Is there a searchable archive for the mailing lists?</para></question>
+        <answer><para>Yes, you can search the mail list archives at <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.devel"></ulink> and <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.user"></ulink> (and <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.german"></ulink> if you speak German).</para></answer>
+      </qandaentry>
 
-      <sect2 id="appendixb_info_other">
-        <title>Q: Are there other means of obtaining support for <application>&app;</application>?</title>
-        <para>A: Yes. Many of the developers hang out on icq in the #gnucash discussion on irc.gnome.org. Also, there is a wiki online at <ulink url="http://wiki.gnucash.org/wiki/&app;">http://wiki.gnucash.org/wiki/&app;</ulink>.</para>
-      </sect2>
-    </sect1>
+      <qandaentry id="appendixb_info_other">
+        <question><para>Are there other means of obtaining support for <application>&app;</application>?</para></question>
+        <answer><para>Yes. Many of the developers hang out on icq in the #gnucash discussion on irc.gnome.org. Also, there is a wiki online at <ulink url="http://wiki.gnucash.org/wiki/&app;">http://wiki.gnucash.org/wiki/&app;</ulink>.</para></answer>
+      </qandaentry>
+    </qandadiv>
 
-    <sect1 id="appendixb_general">
+    <qandadiv id="appendixb_general">
       <title>General Information</title>
 
-      <sect2 id="appendixb_software_windows">
-        <title>Q: Can I run <application>&app;</application> on Windows?</title>
-        <para>A: Yes. Starting with release 2.2.0, <application>&app;</application> is also available on Windows.</para>
-        <para>Other related options would be colinux, VMWare and a windows-based X-server hosting a remote <application>&app;</application> session.</para>
-      </sect2>
-
-      <sect2 id="appendixb_general_hard2compile">
-        <title>Q: I heard it is too hard to compile <application>&app;</application>!</title>
-        <para>A: This was probably true at the time when 1.6.0 was released. It is no longer true today, as almost every distribution ships with all the necessary libraries (except g-wrap, which means there is in fact <quote>one</quote> extra library to be installed before compiling <application>&app;</application>). However, by default, distributions won’t install the development packages of the required libraries, so you might need to start your distribution’s installer program and tell it to install not only the library packages but also the -devel packages. In general, it was noted that this problem concerns many applications in the gnome domain, and this also boils down to the fact that there is no such thing as <quote>one monolithic gnome package</quote>.</para>
-      </sect2>
-
-      <sect2 id="appendixb_general_batchmode">
-        <title>Q: Is there a batch mode (non-interactive) available for <application>&app;</application>, for building reports, etc?</title>
-        <para>A: No, for now <application>&app;</application> must be run interactively.</para>
-      </sect2>
-
-      <sect2 id="appendixb_general_multuser">
-        <title>Q: Can multiple people access the same datafile in <application>&app;</application>?</title>
-        <para>A: You can have multiple people with access to the same datafile, but they cannot use the data file simultaneously.</para>
-        <para>To setup multi-person access, all the people must have read/write access to the directory containing the file (to read the other’s created files, and to create new files).  One way to do this is by creating a user group and setting the data directory to be owned by the shared group and set to mode 2775. The <quote>2</quote> makes the directory setgid which copies the permissions to all files.</para>
-      </sect2>
-
-      <sect2 id="appendixb_general_WhyC">
-        <title>Q: Why is <application>&app;</application> written in C?</title>
-        <para>A: The core functionality of <application>&app;</application> is written in C, but do not forget that much of this can be accessed through Guile (scheme).  There are a number of reasons for why <application>&app;</application> is written in C.  The first is historical, <application>&app;</application> was started in 1996 (or maybe even earlier!) and many of the OOP (C++, Java, Python) compilers were not yet mature and standarized enough on the variety of platforms considered at that time, so C was the only option at that time.  A second reason is because the standard GUI <application>&app;</application> uses is GTK, which is written in C.</para>
-      </sect2>
-
-      <sect2 id="appendixb_general_rewrite">
-        <title>Q: Why don’t you rewrite <application>&app;</application> in programming language xyz so that I can contribute easily?</title>
-        <para>A: The quick answer is <quote>We won’t</quote>. The longer answer is complex but still amounts to <quote>We won’t</quote>. <application>&app;</application> is a large body of code maintained by a small group of developers who are comfortable in C and Scheme (Guile). Actually, 80% of it is in C and approx. 13% is in Scheme/Lisp. There is no valid reason that would justify rewriting this amount of existing code in a newer language. Also, creating language bindings to recent languages such as Python or Ruby or (insert your favourite language here) is labor intensive, and we’re already stretched pretty thin maintaining and developing the existing code.</para>
-        <para>Having said that, this is an open source project and you’re free to do with it or contribute what you want. Just don’t expect much support if the reason for your changes is that you’re not willing to learn C or Scheme. Also, <application>&app;</application> used to have SWIG bindings (<ulink url="http://www.swig.org"></ulink>) which have been used for some perl programming code. According to a list discussion, these SWIG bindings might still be a way to include other languages into <application>&app;</application>, but currently they are unused and unmaintained.</para>
-      </sect2>
-
-      <sect2 id="appendixb_general_newFeatures">
-        <title>Q: I really want feature XYZ but <application>&app;</application> doesn’t have it. How do I get it added?</title>
-        <para>A: Ask nicely. :-) You can file an enhancement request at <ulink url="http://bugs.gnucash.org/enter_bug.cgi?product=&app;"></ulink>. Please bear in mind to describe your proposed enhancement as verbosely as possible. The trick here is to learn how to give the best information to the programmers about what your proposed new feature should do. If you want to speed up development significantly, consider donating some money as described on <application>&app;</application>Development.</para>
-      </sect2>
-
-      <sect2 id="appendixb_software_web">
-        <title>Q: Is there a web interface available for <application>&app;</application>?</title>
-        <para>A: No</para>
-      </sect2>
-
-      <sect2 id="appendixb_software_security">
-        <title>Q: How can I provide security for <application>&app;</application> data using CFS, etc.)</title>
-        <para>A: Unanswered</para>
-      </sect2>
-
-      <sect2 id="appendixb_software_contribute">
-        <title>Q: How can I contribute to the <application>&app;</application> project?</title>
-        <para>A: We’re working on a more formal process, but for now you should subscribe to the mailing list at <ulink url="http://lists.gnucash.org/mailman/listinfo/gnucash-user">http://lists.gnucash.org/mailman/listinfo/gnucash-user</ulink> and <ulink url="http://lists.gnucash.org/mailman/listinfo/gnucash-devel">http://lists.gnucash.org/mailman/listinfo/gnucash-devel</ulink> and discuss what you can contribute with the participants on the lists. Please be aware that <application>&app;</application> is a large body of code written in C and Scheme (see the FAQ above, <quote>Why is <application>&app;</application> written in C?</quote> if you want to know why). If these are languages that you are not willing to work with, consider contributing in other ways.</para>
-      </sect2>
-
-      <sect2 id="appendixb_software_bugs">
-        <title>Q: I think I found a bug. How do I report it?</title>
-        <para>A: First of all, try to verify that it is indeed a bug and that it has not been reported before. Search the mail list archives (see FAQ above). Then search the <ulink url="http://bugs.gnucash.org">&app; Bugzilla</ulink> database.</para>
-        <para>If you feel you have indeed found a bug, you can then report it at <ulink url="http://bugs.gnucash.org/enter_bug.cgi?product=&app;"></ulink>. Please bear in mind to report your bug as verbosely as possible. The trick here is to learn how to give the best information to the programmers about how to reproduce bugs. A Programmer will usually only be able to fix a bug they can see, if you can’t make the programmer see your bug, it won’t get fixed!</para>
-      </sect2>
-
-    </sect1>
-    <sect1 id="appendixb_using">
+      <qandaentry id="appendixb_software_windows">
+        <question><para>Can I run <application>&app;</application> on Windows?</para></question>
+        <answer><para>Yes. Starting with release 2.2.0, <application>&app;</application> is also available on Windows.</para></answer>
+        <answer><para>Other related options would be colinux, VMWare and a windows-based X-server hosting a remote <application>&app;</application> session.</para></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_general_hard2compile">
+        <question><para>I heard it is too hard to compile <application>&app;</application>!</para></question>
+        <answer><para>This was probably true at the time when 1.6.0 was released. It is no longer true today, as almost every distribution ships with all the necessary libraries (except g-wrap, which means there is in fact <quote>one</quote> extra library to be installed before compiling <application>&app;</application>). However, by default, distributions won’t install the development packages of the required libraries, so you might need to start your distribution’s installer program and tell it to install not only the library packages but also the -devel packages. In general, it was noted that this problem concerns many applications in the gnome domain, and this also boils down to the fact that there is no such thing as <quote>one monolithic gnome package</quote>.</para></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_general_batchmode">
+        <question><para>Is there a batch mode (non-interactive) available for <application>&app;</application>, for building reports, etc?</para></question>
+        <answer><para>No, for now <application>&app;</application> must be run interactively.</para></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_general_multuser">
+        <question><para>Can multiple people access the same datafile in <application>&app;</application>?</para></question>
+        <answer><para>You can have multiple people with access to the same datafile, but they cannot use the data file simultaneously.</para>
+        <para>To setup multi-person access, all the people must have read/write access to the directory containing the file (to read the other’s created files, and to create new files).  One way to do this is by creating a user group and setting the data directory to be owned by the shared group and set to mode 2775. The <quote>2</quote> makes the directory setgid which copies the permissions to all files.</para></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_general_WhyC">
+        <question><para>Why is <application>&app;</application> written in C?</para></question>
+        <answer><para>The core functionality of <application>&app;</application> is written in C, but do not forget that much of this can be accessed through Guile (scheme).  There are a number of reasons for why <application>&app;</application> is written in C.  The first is historical, <application>&app;</application> was started in 1996 (or maybe even earlier!) and many of the OOP (C++, Java, Python) compilers were not yet mature and standarized enough on the variety of platforms considered at that time, so C was the only option at that time.  A second reason is because the standard GUI <application>&app;</application> uses is GTK, which is written in C.</para></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_general_rewrite">
+        <question><para>Why don’t you rewrite <application>&app;</application> in programming language xyz so that I can contribute easily?</para></question>
+        <answer><para>The quick answer is <quote>We won’t</quote>.</para></answer>
+        <answer><para>The longer answer is complex but still amounts to <quote>We won’t</quote>. <application>&app;</application> is a large body of code maintained by a small group of developers who are comfortable in C and Scheme (Guile). Actually, 80% of it is in C and approx. 13% is in Scheme/Lisp. There is no valid reason that would justify rewriting this amount of existing code in a newer language. Also, creating language bindings to recent languages such as Python or Ruby or (insert your favourite language here) is labor intensive, and we’re already stretched pretty thin maintaining and developing the existing code.</para></answer>
+        <answer><para>Having said that, this is an open source project and you’re free to do with it or contribute what you want. Just don’t expect much support if the reason for your changes is that you’re not willing to learn C or Scheme. Also, <application>&app;</application> used to have SWIG bindings (<ulink url="http://www.swig.org"></ulink>) which have been used for some perl programming code. According to a list discussion, these SWIG bindings might still be a way to include other languages into <application>&app;</application>, but currently they are unused and unmaintained.</para></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_general_newFeatures">
+        <question><para>I really want feature XYZ but <application>&app;</application> doesn’t have it. How do I get it added?</para></question>
+        <answer><para>Ask nicely. :-) You can file an enhancement request at <ulink url="http://bugs.gnucash.org/enter_bug.cgi?product=&app;"></ulink>. Please bear in mind to describe your proposed enhancement as verbosely as possible. The trick here is to learn how to give the best information to the programmers about what your proposed new feature should do. If you want to speed up development significantly, consider donating some money as described on <application>&app;</application>Development.</para></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_software_web">
+        <question><para>Is there a web interface available for <application>&app;</application>?</para></question>
+        <answer><para>No</para></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_software_security">
+        <question><para>How can I provide security for <application>&app;</application> data using CFS, etc.)</para></question>
+        <answer><para>Unanswered</para></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_software_contribute">
+        <question><para>How can I contribute to the <application>&app;</application> project?</para></question>
+        <answer><para>We’re working on a more formal process, but for now you should subscribe to the mailing list at <ulink url="http://lists.gnucash.org/mailman/listinfo/gnucash-user">http://lists.gnucash.org/mailman/listinfo/gnucash-user</ulink> and <ulink url="http://lists.gnucash.org/mailman/listinfo/gnucash-devel">http://lists.gnucash.org/mailman/listinfo/gnucash-devel</ulink> and discuss what you can contribute with the participants on the lists. Please be aware that <application>&app;</application> is a large body of code written in C and Scheme (see the FAQ above, <quote>Why is <application>&app;</application> written in C?</quote> if you want to know why). If these are languages that you are not willing to work with, consider contributing in other ways.</para></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_software_bugs">
+        <question><para>I think I found a bug. How do I report it?</para></question>
+        <answer><para>First of all, try to verify that it is indeed a bug and that it has not been reported before. Search the mail list archives (see FAQ above). Then search the <ulink url="http://bugs.gnucash.org">&app; Bugzilla</ulink> database.</para>
+        <para>If you feel you have indeed found a bug, you can then report it at <ulink url="http://bugs.gnucash.org/enter_bug.cgi?product=&app;"></ulink>. Please bear in mind to report your bug as verbosely as possible. The trick here is to learn how to give the best information to the programmers about how to reproduce bugs. A Programmer will usually only be able to fix a bug they can see, if you can’t make the programmer see your bug, it won’t get fixed!</para></answer>
+      </qandaentry>
+
+    </qandadiv>
+    <qandadiv id="appendixb_using">
       <title>Using <application>&app;</application></title>
 
-      <sect2 id="appendixb_using_moveAtoB">
-        <title>Q: How can I move the transactions from account <quote>A</quote> into account <quote>B</quote>, thus combining them?</title>
-        <para>A: At present, <application>&app;</application> does not offer a way to move groups of splits from one account to another. You will need to move them one at a time. Open the register for account <quote>A</quote> and select the pulldown menu item <menuchoice><guimenu>View</guimenu><guimenuitem>Transaction Journal</guimenuitem></menuchoice> to expose all the splits.  For every split where the <quote>Account</quote> field shows account <quote>A</quote> reset it to account <quote>B</quote>. To do this quickly and safely, first use <keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo> to copy the destination account name (<quote>account B</quote>) to the clipboard.  Then highlight each reference to account <quote>A</quote> by double clicking on it and use <keycombo><keycap>Ctrl</keycap><keycap>V</keycap></keycombo> to paste the destination account name.  Pressing <keycap function="enter">Enter</keycap> after each paste, silently moves the transaction out of the register.</para>
-        <para>Be careful!  If you inadvertently set the <quote>Account</quote> field to an unintended location, you will need to search through all your accounts to find the lost transaction to correct your mistake.</para>
-      </sect2>
-
-      <sect2 id="appendixb_using_merge2files">
-        <title>Q: Is it possible to merge two <application>&app;</application> files?</title>
-        <para>A: At present this is not possible.</para>
-      </sect2>
-
-      <sect2 id="appendixb_using_SaveAcctTemplate">
-        <title>Q: How can I save a template of my account structure?</title>
-        <para>A: This is available from the menu: <menuchoice><guimenu>File</guimenu><guisubmenu>Export</guisubmenu><guimenuitem>Export Accounts</guimenuitem></menuchoice></para>
-      </sect2>
-      <sect2 id="appendixb_using_ListAll">
-        <title>Q: When I search for customers (or anything else for that matter), how can I return a list of everything?</title>
-        <para>A: Enter a search criteria of <guilabel>matches regex</guilabel>, and place a single dot <quote>.</quote> in the text field area. Then, click <guibutton>Find</guibutton>. The regular expression <quote>.</quote> means to match anything.</para>
-      </sect2>
-      <sect2 id="appendixb_using_Dates">
-        <title>Q: How can I record a transaction on different dates (actual date and bank date)?</title>
-        <para>A: You record the transaction on the date you write the check or initiate the transaction.  When it <quote>clears</quote> the bank, you can click in the <quote>Reconciled</quote> field to <quote>clear</quote> the transaction (change the <quote>n</quote>on-reconciled to <quote>c</quote>leared).</para>
-      </sect2>
-    </sect1>
-    <sect1 id="appendixb_accounting">
+      <qandaentry id="appendixb_using_moveAtoB">
+        <question><para>How can I move the transactions from account <quote>A</quote> into account <quote>B</quote>, thus combining them?</para></question>
+        <answer><para>At present, <application>&app;</application> does not offer a way to move groups of splits from one account to another. You will need to move them one at a time. Open the register for account <quote>A</quote> and select the pulldown menu item <menuchoice><guimenu>View</guimenu><guimenuitem>Transaction Journal</guimenuitem></menuchoice> to expose all the splits.  For every split where the <quote>Account</quote> field shows account <quote>A</quote> reset it to account <quote>B</quote>. To do this quickly and safely, first use <keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo> to copy the destination account name (<quote>account B</quote>) to the clipboard.  Then highlight each reference to account <quote>A</quote> by double clicking on it and use <keycombo><keycap>Ctrl</keycap><keycap>V</keycap></keycombo> to paste the destination account name.  Pressing <keycap function="enter">Enter</keycap> after each paste, silently moves the transaction out of the register.</para>
+        <caution><para>If you inadvertently set the <quote>Account</quote> field to an unintended location, you will need to search through all your accounts to find the lost transaction to correct your mistake.</para></caution></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_using_merge2files">
+        <question><para>Is it possible to merge two <application>&app;</application> files?</para></question>
+        <answer><para>At present this is not possible.</para></answer>
+      </qandaentry>
+
+      <qandaentry id="appendixb_using_SaveAcctTemplate">
+        <question><para>How can I save a template of my account structure?</para></question>
+        <answer><para>This is available from the menu: <menuchoice><guimenu>File</guimenu><guisubmenu>Export</guisubmenu><guimenuitem>Export Accounts</guimenuitem></menuchoice></para></answer>
+      </qandaentry>
+      <qandaentry id="appendixb_using_ListAll">
+        <question><para>When I search for customers (or anything else for that matter), how can I return a list of everything?</para></question>
+        <answer><para>Enter a search criteria of <guilabel>matches regex</guilabel>, and place a single dot <quote>.</quote> in the text field area. Then, click <guibutton>Find</guibutton>. The regular expression <quote>.</quote> means to match anything.</para></answer>
+      </qandaentry>
+      <qandaentry id="appendixb_using_Dates">
+        <question><para>How can I record a transaction on different dates (actual date and bank date)?</para></question>
+        <answer><para>You record the transaction on the date you write the check or initiate the transaction.  When it <quote>clears</quote> the bank, you can click in the <quote>Reconciled</quote> field to <quote>clear</quote> the transaction (change the <quote>n</quote>on-reconciled to <quote>c</quote>leared).</para></answer>
+      </qandaentry>
+    </qandadiv>
+    <qandadiv id="appendixb_accounting">
       <title>Accounting</title>
-      <sect2 id="appendixb_accounting_Taxes">
-        <title>Q: How do I treat taxes?  As an account payable or as an expense?</title>
-        <para>A: This is a loaded question, and you should really talk to your accountant.  How you treat taxes really depends on what kind of taxes they are, and how you WANT to treat them..  In some cases they are expenses, in some cases they are liabilities.</para>
-      </sect2>
-    </sect1>
-  </appendix>
+      <qandaentry id="appendixb_accounting_Taxes">
+        <question><para>How do I treat taxes?  As an account payable or as an expense?</para></question>
+        <answer><para>This is a loaded question, and you should really talk to your accountant.  How you treat taxes really depends on what kind of taxes they are, and how you WANT to treat them..  In some cases they are expenses, in some cases they are liabilities.</para></answer>
+      </qandaentry>
+    </qandadiv>
+  </qandaset>
+</appendix>



Summary of changes:
 CMakeLists.txt                       |   97 ++-
 Makefile.am                          |   22 +-
 cmake/AddGncDocTargets.cmake         |   13 +-
 cmake/MakeDist.cmake                 |   60 ++
 cmake/MakeDistCheck.cmake            |   53 ++
 docbook/gnc-docbookx.dtd             |   20 +-
 guide/C/appendixb.xml                |  233 ++++---
 guide/C/appendixc.xml                |   14 +-
 guide/C/appendixd.xml                |   53 +-
 guide/C/ch_basics.xml                |    4 +-
 guide/CMakeLists.txt                 |    9 +-
 guide/de/appendixb.xml               |  240 +++----
 guide/de/ch_import_business_data.xml | 1269 +++++++++++++++++++++++++---------
 guide/de/toc.xml                     |  237 -------
 guide/it/gnucash-guide.sgml          |  234 -------
 guide/pt/appendixb.xml               |  429 ++++++------
 help/CMakeLists.txt                  |    9 +-
 help/it/gnucash-help.sgml            |  174 -----
 xmldocs.make                         |    1 +
 19 files changed, 1681 insertions(+), 1490 deletions(-)
 delete mode 100644 guide/de/toc.xml
 delete mode 100644 guide/it/gnucash-guide.sgml
 delete mode 100644 help/it/gnucash-help.sgml



More information about the gnucash-changes mailing list