Der ultimative Leitfaden für eine erfolgreiche Odoo-ERP-Implementierung   Gratis Download

Was man zu Datev und Odoo wissen sollte

Die wohl häufigste Suche zu Odoo bei Google in Deutschland ist „Odoo Datev“. Auch wir haben dazu schon viel geschrieben und waren mit dem Thema schon bei unserem allerersten Projekt, damals noch mit OpenERP konfrontiert. Zu diesem Zeitpunkt waren wir noch zwei junge Entwickler, die „openfellas“ gegründet haben, dann Odoo Partner wurden. Unerfahren, wie wir waren, haben wir versucht, die Buchhaltung erst ganz zum Schluss des Projekts zu klären.

Das sieht heute natürlich komplett anders aus: Das Thema Buchhaltung steht in jedem Projekt mit an erster Stelle und wird von erfahrenen Beratern, ja einem eigenen, hoch spezialisierten Team betreut.

Seit einigen Jahren hat auch Odoo die Wichtigkeit des Themas erkannt und liefert eine Datev-Exportmöglichkeit als Teil der beiden in Deutschland verfügbaren Lokalisierungen SKR03 und SKR04 mit aus.

Bevor wir zum Prozess kommen, wie Daten von Odoo an Datev übertragen werden, vielleicht ein paar grundlegende Antworten zur Klärung häufiger Fragen.

Warum sollten Daten von Odoo nach DATEV übertragen werden?

Gerade in mittelständischen Unternehmen wird der Export an Datev vorausgesetzt oder ist ein zwingend zu erfüllendes Kriterium. Da Odoo jedoch ein vollumfängliches Modul Buchhaltung und Finanzen hat, ist dies tatsächlich keine notwendige Voraussetzung. Im Gegenteil, zur Steigerung der Effizienz und der Transparenz wäre es eher empfehlenswert, die Buchhaltung mindestens bis zum Monatsabschluss in Odoo zu behalten.

Die Gründe hierfür sind, dass

  1. Odoo ARAP und PRAP automatisch erkennt und als Buchungsstapel für den Monatsabschluss vorschlägt.
  2. Anlagen ebenso wie a) von der Eingangsrechnung aus erkannt, automatisch monatlich abgeschrieben und dem Anlagenspiegel hinzugefügt werden können,
  3. die Inventurbewertung mit einem automatisch gepflegten Bewertungspreis unter Berücksichtigung der Einstandskosten durchgeführt werden kann.

Die Integration der Bankverbuchung bietet die Möglichkeit des integrierten Mahnwesens und erhöht die Transparenz um einen weiteren wesentlichen Faktor.

Eine Grundvoraussetzung ist dabei die GoBD-konforme Konfiguration der Buchhaltung.

Natürlich kann sogar die UstVA aus Odoo heraus gemacht werden. Aber der Export an Datev könnte bereits vorab erfolgen und die Elster-Meldung aus Datev heraus. D.h. die Antwort auf die Frage, warum eine Übertragung aus Odoo an Datev erfolgen sollte, ist eigentlich nur die, dass so die Steuerkanzlei einfacher angebunden werden kann.

Welche Art von Daten wird übertragen?

Wie wir später sehen werden, überträgt der Standard-Datev-Export der Odoo Enterprise Version die Stammdaten der Debitoren und Kreditoren, alle Buchungssätze der ausgewählten Journale (theoretisch alle: Ausgangs- und Eingangsrechnungsbuch, Bank, Kasse, ARAP, PRAP, Abschreibung Anlagen, Reisekosten, Inventurbewertung, etc.) sowie zugehörige Belege. Vollständiger kann ein Export nicht sein.

Welche Möglichkeiten gibt es, Buchungsdaten von Odoo nach Datev zu übertragen?

Der wohl naheliegendste Weg ist der in Odoo Enterprise implementierte Export, da er am umfangreichsten ist. Sollte er nicht ausreichend sein, sollte die Frage geklärt werden, was darin fehlt. Natürlich könnte man über eine Individualisierung (die Antwort auf alles vermeintlich Fehlende in Odoo) den Export erweitern, doch in der Regel ist die Ursache hierfür, dass die Verantwortung der Datenhoheit zwischen den Systemen und Prozessen bis zur Erhebung der Auswertungen nicht eindeutig festgelegt wurde.

Der einfachste Weg ist die Schließung des Nebenbuches in Odoo und der Übertrag an Datev nach dem Monatsabschluss. Die Auswertung der Kostenträger und Kostenstellenrechnung sollte rein in Odoo verbleiben. Jede Vermischung setzt eine Individualisierung des Standardexports voraus und erschwert die Transparenz, ganz abgesehen davon, dass Prozesse dadurch meist auch komplexer werden.

Doch kommen wir zur Durchführung des Datev-Exports selbst.

Allgemein

Wenn man sich klassische Buchhaltungssysteme anschaut, wird oft zwischen Haupt- und Nebenbuchhaltung unterschieden. Im Nebenbuch werden die Kreditoren und Debitoren sowie die OPOS auf beiden Seiten (also Forderungen und Verbindlichkeiten) geführt. Am Monatsende wird der Saldo auf das Hauptbuch übertragen und dieses entsprechend geschlossen.

Doppelte Buchhaltung

Odoo sieht das genauso, löst es jedoch etwas anders als manche klassischen Kandidaten. Vor allem muss man festhalten, dass die Buchhaltung bei entsprechend erfolgreichem Aufsatz weitestgehend automatisiert wird, somit ist sie am Ende der ERP-Einführung meist die Abteilung mit dem größten Effizienz- und Transparenzgewinn. Gleichzeitig wird die Notwendigkeit manuell angelegter Buchungen auf ein Minimum reduziert.

Der Ansatz von Odoo ist, die doppelte Buchhaltung nicht als zwei getrennte Buchungskreise zu betrachten, sondern als einen. Das bedeutet, dass in Odoo ein Buchungssatz gleichzeitig mit einem Nebenbuch- und einem Hauptbuchkonto kontiert wird, sollte es sich um einen Buchungssatz handeln, der durch einen debitorischen oder kreditorischen Beleg erzeugt wird.

Ein Screenshot aus einer Odoo Demoversion zeigt das. Hier gruppieren wir nach Journal, Sachkonto (Hauptbuch) und Partner (Nebenbuch):

In den jeweiligen Finanzberichten ist hinterlegt, ob die Analyse auf die Hauptbuchkonten der Buchungszeilen durchgeführt werden soll (wie Bilanz, GuV, Prüfberichte) oder auf die Partner bzw. Nebenbuchkonten (OPOS Forderung, OPOS Verbindlichkeit).

Auch wenn an dieser Stelle nicht relevant, ist der Vorteil beim Monatsabschluss hervorzuheben, der auf der Basis dieser technischen Struktur deutlich einfacher ausfällt. Dies bedeutet, dass zum Monatsabschluss die Buchungs- und Finanzperiode nur festgeschrieben werden muss und kein Saldenübertrag von den Nebenbuchkonten auf das jeweilige Hauptbuchkonto überführt wird.

Export und Prozess

Kommen wir zum Prozess der Übergabe Odoo an Datev: Seit Odoo 14 befindet sich der Datev-Export im Auslieferungspaket von Odoo Enterprise. Die dabei erzeugte Datei ist in Datev Rechnungswesen zu importieren und enthält die Buchungssätze, Stammdaten und auf Wunsch auch die Belegbilder (wenn vorhanden).

Hinweis: Bei diesem Prozess werden keine ggfls. fehlenden Belegbilder erzeugt, sondern ausschließlich vorhandene exportiert.

1. Schritt

Als erstes sollte die Periode für den Monatsabschluss vorbereitet werden. Dafür geht man auf den Menüpunkt Sperrdatum oder engl. „Lock Dates“ im Menü „Buchhaltung“. Im nun erscheinenden Bildschirm setzen wir das linke obere Datum:


Dies hat zur Folge, dass alle Benutzer mit der Berechtigung Nebenbuch (also „Billing“ und „Buchhaltung“) keine weiteren Dokumente oder Buchungen für den Zeitraum vor dem gesetzten Datum mehr erfassen oder anlegen dürfen.

2. Schritt

Nun werden alle nötigen Schritte für den Monatsabschluss durchgeführt (Generieren der Abschreibungen und Abgrenzungen). Diese Schritte wurden mit Ihnen im Rahmen des Einführungsprojektes bestimmt, festgelegt und geschult.

3. Schritt

Nun wird der gleiche Dialog erneut aufgerufen und das rechte Datum identisch zum linken gesetzt. 
Damit ist die Periode für jede Berechtigung (inklusive der administrativen) geschlossen.

4. Schritt

Um den Datev Export zu starten, gehen wir im Menü „Berichtswesen“ oder „Reporting“ auf das Hauptbuch (bzw. „General Ledger“):


 
An dieser Stelle finden wir dann auch den Export:



Dieser generiert eine ZIP-Datei, die ohne weitere Zwischenschritte direkt in das Datev Rechnungswesen importiert werden kann. Darin enthalten sind:

Dabei enthalten die Dateien folgende Informationen:

  • EXTF_accounting_entries.csv: Alle Buchungssätze der ausgewählten Periode
  • EXTF_customer_accounts.csv: Stammdaten der Debitoren (Konto und Name)
  • EXTF_vendor_accounts.csv: Stammdaten der Kreditoren (Konto und Name)

Zusätzlich werden die Belegbilder als PDF exportiert, dabei ist der Dateiname entsprechend der Buchungsnummer. In unserem Beispiel wurde in den Demodaten zu keiner Rechnung ein Belegbild erzeugt, daher enthält die Archivdatei ausschließlich Buchungs- und Stammdaten.

Nicht Teil des Exports

Die Übermittlung von KOST1 und KOST2 ist nicht Teil des Standardexports.. Bei der Belegung der Felder fokussiert sich Odoo tatsächlich auf das Wesentliche. Abgesehen davon, dass die Anzahl der von Datev zur Verfügung gestellten Felder sehr umfangreich ist, kommt das Thema der Split-Buchungen hinzu. Im Gegensatz zu Datev erlaubt Odoo eine deutlich komplexere Kontierung, ohne dass die Notwendigkeit entsteht, den Buchungssatz aufsplitten zu müssen. Das bedeutet aber auch, dass die Schnittstelle zwei unterschiedliche Logiken zueinander bringen muss. Da in solchen Situationen jede Komplexität ein hohes Fehlerpotential bedeutet, hat man sich bewusst auf ein Minimum an Informationen beschränkt, zumal auch die Belegbilder Teil der Übertragung sind.

Da Odoo eine voll integrierte Kostenstellen- und Kostenträgerrechnung enthält, empfehlen wir diese auch zu nutzen. Denn die integrierte Kostenstellenbuchhaltung kann durchaus auch Kostenbuchungen über die Leistungserfassung/Stundenbuchung im Projektmanagement oder der Fertigung erfassen, womit Aufwand auf den entsprechenden Kostenstellen erzeugt wird. Diese Buchungen haben jedoch keinen Bezug zur Sachbuchhaltung. Das gleiche gilt für erfasste Urlaubstage oder Krankheitszeiten. Das allein ließe sich nicht an Datev übergeben, unabhängig von der bereits angedeuteten unterschiedlichen Datenstruktur. Da Odoo hier filigrane Auswertungsmöglichkeiten integriert bereit stellt, ist ein Übertrag an Datev ohne Mehrwert.

Fortlaufende Nummer

Oft wird bemängelt, dass Odoo vermeintlich kein Debitoren- oder Kreditorenkonto erstellt. Dabei wird meist unter dem Reiter Buchhaltung/Accounting nachgeschaut, der allerdings lediglich die beiden Hauptbuchkonten der jeweiligen Lokalisierung für Forderungen und entsprechende Verbindlichkeiten angibt:


 
Das ist soweit auch korrekt. Denn ein häufig gemachter Denkfehler ist, den Prozessgedanken von Datev hier mit hineinzubringen und im Kontenrahmen pro Unternehmensdatensatz jeweils ein eigenes Debitoren- und Kreditorenkonto anzulegen. Abgesehen vom manuellen Aufwand würde das dazu führen, dass der Buchungssatz falsch kontiert wird. Denn dort, wo Odoo das Hauptbuchkonto hinterlegt und entsprechend in den dazugehörigen Finanzberichten auch erwartet, würde dann ein Nebenbuchkonto stehen.

So stellt sich also nun die Frage, wie Odoo dann für den Datev-Export eine eindeutige Kontonummer für das Nebenbuch erzeugt.

Wirft man einen Blick in die beiden im Export enthaltenen Stammdatendateien, so stellt man fest, dass die Datensatz-ID verwendet wird und – abhängig von den Vorgaben der Lokalisierung – mit einem Präfix für Debitoren oder entsprechend für Kreditoren versehen wird. Da eine Datensatz ID eindeutig sein muss, ist somit auch die Eindeutigkeit des Kontos gewährleistet.

Viele Module im Netz bieten die Generierung zusätzlicher, fortlaufender Nummern an. Um es klar zu sagen, dies macht es vielleicht gefühlt schöner, doch technisch oder gesetzlich ist es nicht notwendig.

Die Konfiguration zur Steuerung des Datev-Exports

Die Konfiguration zur Steuerung der Länge der zu generierenden Nebenbuchkonten findet sich in den Einstellungen der Buchhaltung bzw. der Finanzen. Auf der Einstellungsseite findet sich hierzu eine eigene Option:


Darüber hinaus sollte natürlich am Mandanten bzw. der Firma in Odoo die Datev-Berater- und Mandantennummer konfiguriert sein:



Prüfung Aufsatz nach GoBD

Seit etlichen Versionen wird ein Buchungssatz im Moment der Festschreibung mit einem Hashwert versehen, denn im Standard erlaubt Odoo die Korrektur eines Buchungssatzes innerhalb einer offenen Finanzperiode ohne die Generierung eines Korrekturbuchungssatzes. Anhand des Hashwertes lässt sich nachträglich feststellen, welcher Buchungssatz verändert wurde. Ob das vorteilhaft ist oder nicht, lässt sich diskutieren. Es handelt sich dabei um eine Funktion, die pro Journal/Buch aktiviert oder unterbunden werden kann und auf den Namen „Lock Posted Entries with Hash“ hört:

 

 
Kurz gesagt, wer den Haken setzt, folgt dem Prinzip: „Gebucht ist gebucht“

Die Prüfung über alle Journale hinweg ist einfach durchgeführt. Hierzu gibt es in den Einstellungen der Buchhaltung eine Option „Download the Data Inalterability Check Report“, die ein PDF mit einer entsprechend integrierten Übersicht aufruft:

In unserem Fall heißt es jedoch, dass jedes einzelne Journal dies erlaubt und noch geschlossen werden sollte.

Wie sind Bestandsdaten zu behandeln?

Im Fall einer Datenübernahme muss es natürlich möglich sein, die bis dato vergebenen Kontonummern dem jeweiligen Debitor bzw. Kreditor im Neusystem zuweisen zu können, so dass hier keine neuen Werte vergeben werden müssen.

Wer in die Feldliste schaut (der Screenshot zeigt die Exportmaske), findet zwei selbsterklärende Optionen:



Die Felder „DateV Customer“ (für die Debitor ID) und „DateV Vendor“ (für die Kreditor ID) stehen hier zur Verfügung.

Beide Felder kann man mit einem kleinen Trick auch am Adressdatensatz sichtbar machen, sollte hier eine manuelle Korrektur notwendig werden. Dazu muss man in den Entwicklermodus wechseln, dann erscheinen sie unterhalb der Hauptbuchkonten:

 

Warum keine Daten von Datev an Odoo?

Es gibt individuelle Module, die eine Rückspielung von Korrekturbuchungen von Datev an Odoo ermöglichen und bewerben. Doch sollte der Monatsabschluss in Odoo gemacht und die Finanzperiode geschlossen sein, ist eine Rückspielung nicht nur nicht notwendig, sondern bedarf auch eines Vorgangs, der eben diese Periode wieder bebuchbar macht.

Da Odoo die Buchhaltung weitestgehend automatisieren soll, stellt sich sowieso die Frage, wieso eine Rückspielung notwendig sein sollte. Denn sollte die Steuerberatung Korrekturbuchungen haben, würde dies bedeuten, dass es Fehler in der Konfiguration der Buchhaltung in Odoo gibt oder Stammdaten falsch angelegt wurden.

Würde man also den Korrekturstapel einfach importieren, würden diese Fehler nicht korrigiert werden. Demnach ist es empfehlenswert, sich die Fehlerliste geben zu lassen, die Ursachen in Odoo zu lokalisieren und zu korrigieren, um ein neues Abbild an die Steuerkanzlei zu übergeben.


Parameter-Entscheidung in Odoo Teil 1
Wichtige Parameter für eine System-Entscheidung