Duplicate entry im Kontenplan

Dolibarr meldet bei Konto 1110 Postbank1 im Kontenplan SKR03 „Duplikate entry 111-1-SKR03“, wenn ich versuche das Konto zu ändern, indem ich Felder pgc-type und fk_accounting_category ergänzen will. Ein Konto mit der Kontonummer 111-1 existiert im SKR03 aber nicht, Wohl gibt es ein Konto 111.01 im Kontenplan SAT/24-2019, den ich zur Ansicht einmal geladen hatte. Dieser Kontenplan ist auch komplett in der Tabelle llx_accounting_account enthalten. Das Löschen dieses Kontos über die Benutzeroberfläche Kontenplan brachte nichts. Auch nach dem Löschen direkt aus der Datenbank über phpmyadmin kam dieselbe Fehlermeldung. Ich konnte nur direkt in der Datenbank-Tabelle über phpmyadmin die beiden oben genannten Felder bearbeiten.
Dolibarr hat offenbar ein Problem mit führenden oder nachfolgenden Ziffern 0 in Feldern vom Typ varchar. Ist das ein Bug in Dolibarr oder liegt es an der MySQL-Datenbank mit dem Typ InnoDB?

Hallo,

ich kann den Fehler in v15.0.3 (mit MariaDB) bestätigen. Ich habe lediglich das Konto aufgerufen, auf ändern und direkt auf speichern geklickt und die meldung ist erschienen. Es hat also nichts mit dem zur Ansicht geladenen Kontenplan zu tun.

Ein weiterer Test mit der aktuellen Development-Version hat aber ergeben, dass dort kein Problem auftritt. Ich gehe daher von einem Dolibarr-Bug aus, der inzwischen behoben ist.

Gruß

Joachim

Hallo Joachim,

der Fehler tritt auch in Version 15.0.2 bei anderen Konten des Kontenplanes SKR03 auf: z.B: bei 100 Fabrikbauten. Die offizielle Kontonummer ist 0100. In SKR03 werden alle Kontonummern 4-stellig dargestellt beginnend mit 0001. Durch die Unterdrückung führender Nullen beim Laden des Kontenplanes entsteht auch eine fehlerhafte Sortierung nach Kontonummern. Wenn man selbst ein neues Konto mit führenden Nullen in der Kontonummer anlegt, wird es richtig dargestellt. Die Kontogruppe „0“ wird aber nicht akzeptiert, obwohl sie im geladenen Kontenplan eingetragen ist. Offenbar liegt der Fehler in dem Programm, das den Kontenplan lädt.
Sind diese Fehler bereits in der aktuellen Development-Version behoben?

Viele Grüße
Johannes

Hallo Johannes,

hab’s mir gerade angeschaut: Die Sortierung ist auch in der Development-Version fehlerhaft.

Wobei sie genau genommen technisch gar nicht fehlerhaft ist. Die Kontonummer wird as String abgelegt. Und in der Definitionsdatei für den SKR03 (llx_accounting_account_de.sql) ist das Konto 1 tatsächlich als ‚1‘ und nicht als ‚0001‘ hinterlegt. Das erklärt auch, warum bei einer manuellen Eingabe die führenden Nullen erhalten bleiben. - Jemand müsste im Sourcecode manuell bei 320 Einträgen die führenden Nullen ergänzen. Ab Konto 1000 ist ja alles automatisch vierstellig. Aber bei bestehenden Installationen würde die einmal angelegte Tabelle mit den Kontodaten auch bei einem Update auf ein neues Release nicht ausgetauscht, so dass ein manueller Eingriff erforderlich wäre, um dann von den neuen Werten zu profitieren.

Soweit zu SKR03. In den Sourcen findet sich zu SKR04 noch die folgende Bemerkung:

– SKR04
– Some lines of SKR04 has been disabled because the field account_parent were wrong or there is a doubt, it must be the rowid of parent line and not the account_number of parent line

Und letztlich sind dort ziemlich viele Zeilen mit Konten einfach auskommentiert.

Die Kontogruppe verhält sich bei 0 weiterhin fehlerhaft: Ich vermute, dass bei der Prüfung der Eingabe 0 gleichgesetzt wird mit einer leeren Eingabe.

Es würde sich wohl anbieten, auf GitHub zwei Issues zu eröffnen. Bei genügend Mitstreitern wäre es klasse, wenn wir das Buchhaltungsthema für Deutschland geradeziehen könnten. Für v16 habe ich schon einiges bei den deutschen Übersetzungen angepasst und vereinheitlicht, aber die zugrundeliegende Funktionalität muss natürlich auch passen.

Gruß

Joachim

Hallo Joachim,
auf Grund deiner Analyse bin ich auf folgende Lösung gekommen:

Um den oben beschriebenen Fehler zu vermeiden, muss man den Parameter Buchhaltung/Einstellungen/Allgemein/

Verwalten der Null am Ende eines Buchhaltungskontos. In einigen Ländern notwendig (z.B. Schweiz). Standardmäßig deaktiviert. Wenn ausgeschaltet, können die folgenden zwei Parameter konfigurieren werden, um virtuelle Nullen anzuhängen

aktivieren.

Warnung! Keinesfalls darf man diesen Parameter unaktivert lassen und den nachfolgenden Parameter auf 4 setzen. Dann werden alle Kontonumern, die nicht 4-stellig sind, rechts mit Nullen aufgefüllt und man hat viele doppelte Kontonummern im Kontenplan.

Man kann die 320 Kontonummern der Kontogruppe 0 ändern und die führenden Nullen ergänzen, sollte das aber nur tun, solange die Konten nicht bebucht sind.

Bei der Änderung der Kontonummer an bereits bebuchten Konten werden im Hauptbuch und beim Saldo Sachkonten nur die bisher bebuchte Kontonummern, aber keine Kontobezeichnung mehr angezeigt, weil diese nicht mehr gefunden werden können.

Wenn die Kontonummer eines Kontos geändert wird, das in Einstellungen Standardkonten verwendet wurde, ist es dort nicht mehr sichtbar.

Es ist deshalb ratsam bei den Einstellungen der Berechtigungen für normale Benutzer das Recht zum Kontenplan verwalten zu deaktivieren und als Administrator schon bei der Einrichtung des Systems möglichst alle erforderlichen Eingaben an Konten zu setzen. Ein Ändern der Kontonummer im laufenden System sollte auch von Administratoren vermieden werden.

Gruß
Guillaume2