Hallo zusammen,
ich nutze Dolibarr 23.1 für den deutschen Markt und habe Schwierigkeiten bei der Generierung der Buchungskonten für einen korrekten DATEV-Export.
Ich verwende das Elephant-Modell für die Drittparteien:
Das funktioniert perfekt für die Felder code_client und code_fournisseur. Gemäß DATEV-Anforderungen müssen die Buchungskonten (Personenkonten) jedoch identisch mit den Kunden-/Lieferantennummern sein – ohne Präfixe und ohne zusätzliche Ziffern.
Was ich bisher versucht habe:
-
Modul Aquarium: Es setzt beharrlich die Präfixe 411 (Kunden) und 401 (Lieferanten) davor. Ich finde in der Benutzeroberfläche keine Möglichkeit, das Präfix leer zu lassen. Selbst der Versuch, dies über die Datenbank mit einem leeren String (‘‘) zu überschreiben, schlug fehl; das System setzt 411/401 automatisch zurück.
-
Modul Panicum: Hier bleibt das Feld leer, was eine manuelle Eingabe erfordert (sehr fehleranfällig).
-
Versteckte Einstellungen (Hidden Constants): Ich habe folgende Parameter unter „Sonstige Einstellungen“ hinzugefügt, aber sie scheinen keine Wirkung zu zeigen:
-
MAIN_COMPANY_CODE_ALWAYS_REQUIRED = 1
-
SOCIETE_SYNAUX_WITH_CLIENTCODE = 1
-
ACCOUNTING_FORCE_AUTO_ACCOUNTANCY_CODE = 1
Meine Frage: Gibt es einen Standardweg, um zu erzwingen, dass das Buchungskonto einfach den vom Elephant-Modell generierten Code übernimmt, ohne Präfixe hinzuzufügen?
Ich ziehe derzeit einen Cronjob mit einem PHP-Skript als Workaround in Betracht, würde aber eine native Lösung oder ein spezifisches Modul bevorzugen.
Vielen Dank im Voraus für die Hilfe von anderen deutschen Nutzern oder DATEV-Experten!
VG
Hallo,
für das Modul „Aquarium“ habe ich den GlobalString „COMPANY_AQUARIUM_NO_PREFIX“ gefunden, setze den mal dann dürfte kein Präfix mehr vorangestellt werden.
if (getDolGlobalString('COMPANY_AQUARIUM_NO_PREFIX')) {
$this->prefixcustomeraccountancycode = '';
$this->prefixsupplieraccountancycode = '';
} else {
$this->prefixcustomeraccountancycode = getDolGlobalString('COMPANY_AQUARIUM_MASK_CUSTOMER');
$this->prefixsupplieraccountancycode = getDolGlobalString('COMPANY_AQUARIUM_MASK_SUPPLIER');
}
Super DG-rilling! Das ist die Lösung für das Problem. Vielen Dank!
P.S. Wie ich bereits in meinem ersten Post erwähnt habe, habe ich als Zwischenlösung (oder ergänzend) ein PHP-Skript geschrieben, das täglich per Cronjob prüft, ob die Buchungskonten für Kunden/Lieferanten mit den Kundennummern übereinstimmen, und mich benachrichtigt, falls es Abweichungen gibt.
Hallo Doli-Rob,
DG-rillings Tipp mit COMPANY_AQUARIUM_NO_PREFIX ist hier die saubere Lösung — damit übernimmt Aquarium die Nummer ohne die 411-/401-Präfixe.
Für andere Mitleser noch ein paar DATEV-Praxis-Ergänzungen:
Personenkonten-Bereiche (SKR03 / SKR04)
Üblich ist:
| Kontenrahmen |
Sachkonten |
Debitoren (Kunden) |
Kreditoren (Lieferanten) |
| SKR03 |
4-stellig |
10000–69999 |
70000–99999 |
| SKR04 |
4-stellig |
10000–69999 |
70000–99999 |
Dein Setup mit Kunden 10000–69999 und Lieferanten 70000–90000 liegt damit im üblichen DATEV-Bereich. Wichtig ist nur, dass sich die Nummernkreise nicht überlappen und genug Reserve für Wachstum bleibt.
Buchungskonto = Drittparteien-Nummer
Für DATEV-Exporte ist es in der Praxis sehr sinnvoll, wenn code_client / code_fournisseur und das Personenkonto identisch sind. DATEV interessiert am Ende das gültige Personenkonto; eine 1:1-Zuordnung in Dolibarr vermeidet aber Mapping-Fehler und erleichtert OPOS/Abstimmung deutlich.
DATEV-Export prüfen
Je nach Exportmodul sollte man zusätzlich testen:
- ob BU-/Steuerschlüssel für Sonderfälle korrekt gesetzt werden, z. B. Reverse Charge, innergemeinschaftliche Lieferung, OSS
- ob Rechnungen, Gutschriften und Stornos im Belegfeld sauber unterscheidbar bleiben
- ob Debitoren-/Kreditoren-Stammdaten mit exportiert werden oder vorab in DATEV vorhanden sein müssen
Ich würde nach der Umstellung einmal einen kleinen Testexport mit 1–2 Kunden, 1 Lieferant, Rechnung, Gutschrift und Zahlung durch den Steuerberater prüfen lassen. Dann sieht man sofort, ob Nummernkreis, Personenkonten und Belegfelder DATEV-seitig sauber ankommen.
Viele Grüße
Patrick (Basix IT GmbH, Hamburg)