Dieses
Thema wird natürlich bei jedem Projekt heiß diskutiert.
Der Hintergrund
ist ganz klar, eine integrierte Buchhaltung und eine sofortige
Rückmeldung der damit verbundenen, diversen Aspekte ist mehr als nur
eine charmante Sache. Das Einfachste ist die Rückmeldung des Zahlstatus‘
einer Rechnung und der damit verbundenen Forderung, womit ein
integriertes Mahnwesen möglich ist, was wiederum den Mahnstatus des
Kunden für Vertrieb und Verkauf transparent darstellt.
Und natürlich erspart man sich eine Finanzsoftware und benötigt eine
Brücke, unabhängig, ob bidirektional oder unidirektional, ob manuell
oder automatisiert.
Doch warum die Diskussion?
Hier der aktuelle Stand aller relevanten Informationen, beginnend bei den bekanntesten Vertretern:
Datev
Pro Datev
Datev ist der Platzhirsch in Deutschland. Und wahrscheinlich auch nur
aus diesem Grunde führt man überhaupt diese Diskussion. Datev erscheint
unfehlbar und 100% sicher. Ob dem wirklich so ist, oder ob das Image
ähnlich ist wie das von SAP, das besagt, dass es keine gescheiterten SAP
Implementierungen gibt, und wenn doch, dann lag es nicht an der Wahl
des Systems, kann man wohl nicht genau sagen. Denn weder gibt es ein
unfehlbares System und noch weniger eines, das jede Art von Fehleingabe
verhindern kann. Denn das System würde es nur aus dem Grunde verhindern,
weil es niemand schaffen könnte, auch nur die kleinste Information
darin zu erfassen.
Doch das Gefühl an Sicherheit macht sicherlich den größten Anteil an
der Datev Vorherrschaft aus. Die Tatsache, dass Odoo in Deutschland
nicht zertifiziert ist, trägt ein übriges dazu bei. Hinzu kommt, dass
die meisten Fachkräfte die Erfahrung im Umgang mit Datev oder den
bekanntesten Alternativen haben.
Diese Punkte sprechen also eindeutig für Datev.
Schnittstellen und Datenaustausch
Es bleibt weiter gut, denn Datev hat immerhin einen CSV Export für
Stapelbuchungen und einen XML Export für belegbezogene Buchungen und
seit neuerdings eine REST-API. Über den Export ist auf jeden Fall der
Weg zu Datev tatsächlich gesichert. Die REST-API kennen wir aktuell noch
nicht gut genug um genau sagen können, was im Detail ausgetauscht
werden kann und was an Informationen wiederum abgefragt werden kann,
doch an sich sind die Hoffnungen und Erwartungen groß.
Was auch immer Teil des Datenaustausches sein wird, es bleibt bei
einer Anbindung, und eine Anbindung ist kostenintensiv in der
Implementierung und ebenso kostenintensiv in der Unterhaltung. Dazu gibt
es so oder so immer einen Zeitversatz in der Aktualität auf jeder
Seite, solange keine API im Einsatz ist.
Und diese Punkt sind zu bedenken, und sie sprechen nicht nur gegen Datev, sondern natürlich auch gegen Alternativen.
Der Datentransfer selbst
Welche Daten sind betroffen, was ist kritisch und was nicht?
Im Grunde gibt es maximal 2 Kategorien an Daten (Stammdaten und
Bewegungsdaten), doch Datev gliedert sie auf in 4 Kategorien:
Stammdaten, Konten, Kostenstellen und Buchungen. Das Gute ist, dass im
Gegensatz zu Shop-Anbindungen, ein bidirektionaler Datenaustausch bei
keiner Kategorie wirklich notwendig ist. Denn die Stammdaten sind meist
im ERP am aktuellsten. Getätigte Buchungen werden grundsätzlich nicht
geändert, sondern maximal durch Gegenbuchungen korrigiert. Wenn neue
Konten und Kostenstellen angelegt werden müssen, dann auch nur im
führenden System. Dies kommt bei einem einmal festgelegt Kontenrahmen so
oder so eher selten vor, solange nicht von Debitoren und Kreditoren die
Rede ist. Dies nimmt einen großen Teil an Brisanz heraus.
Doch betrachten wir die Punkte im Einzelnen:
Stammdaten
Die Stammdaten sind der vielleicht unkritischste Punkt, daher wird er hier auch als erster behandelt.
Grundsätzlich gibt es eine für den Import von Debitoren und
Kreditoren dedizierte Beschreibung und somit auch eine Datei, doch die
zu übermittelnde Anzahl von Spalten ist so immens umfangreich, dass eine
Entwicklung sehr aufwendig wäre. Dabei wären die Stammdaten
hauptsächlich für einen Mahnprozess notwendig, der in der Regel im ERP
durchgeführt wird. Daher hat dieser Datenübertrag nicht die höchste
Priorität, zumal Adressdaten mit dem Buchungssatz mitgegeben werden
können.
Buchungen
Am Ende des Tages generiert Odoo ebenfalls einen Buchungsstapel,
egal, ob dieser im Hintergrund durch die entsprechende Anlage der Belege
generiert wird oder vom Benutzer direkt. Da einmal gebuchte Buchungen
nicht mehr verändert werden können, durchläuft ein Export einfach nur
den bereits bestätigten Buchungsstapel und übermittelt diesen an eine
API oder in eine Datei. Bei Datev muss hier lediglich unterschieden
werden, ob es zu der Buchung einen Beleg gibt, dann erfolgt der Export
in eine XML, andernfalls in eine CSV. Theoretisch wäre auch nur eine CSV
denkbar.
Dieses Vorgehen setzt natürlich voraus, dass der Kontenplan und alle
in den Buchungen hinterlegten Zuweisungen mit Datev oder der
Finanzsoftware übereinstimmen.
Da Odoo nach einem erfolgreichen Exportdurchlauf die exportierten
Buchungssätze als „exportiert“ markieren kann, wäre sichergestellt, dass
es zu keinem Doppeltexport kommen kann.
Ob der umgekehrte Fall notwendig ist, ist sehr stark vom Aufsatz
abhängig. Erfolgt die Mahnung in Odoo, geht es nicht anders. Ist dies
nicht der Fall, ist ein Rückimport eher Luxusware, denn auch die
Ergebnisse eines Monats- oder Jahresabschlusses sind wenig ERP relevant.
Aber klar, auch wenn sie irrelevant ist, sollte man überlegen, ob eine
Abstimmung beider Seiten nicht sogar Sinn machen würde und zwar nur aus
einem Grund: Wenn es zu Differenzen kommt, muss es Ansätze geben, von
denen aus man ins Detail gehen kann, um den Grund für die Differenzen zu
finden. Wenn auf jeweils einer Seite immer ein Stück von der Gegenseite
fehlt, kann der Aufwand hier größer und quälender werden.
Doch soll das Mahnwesen in Odoo durchgeführt werden, weil es
mehrsprachig ist und Datev womöglich nicht oder weil der Mahnstatus für
die Lieferungen oder für einen Vorkassenprozess notwendig ist, müssen
wenigstens die Zahlungen zurückgebucht werden können. Denn der Status
einer Rechnung ist im Kern zwar ein physikalisch existierendes Feld,
doch dieser Wert kann nicht manuell von einem Benutzer bestimmt werden,
sondern wird vom System errechnet und auf Basis der offenen Posten
zugewiesen. D.h. der Saldo ergibt sich automatisch aus der Differenz der
miteinander verbundenen Buchungen für die Forderung bzw.
Verbindlichkeit und der Buchung für die Zahlung.
Wie das Szenario mit der REST API von Datev ausschaut, können wir
aktuell noch nicht sagen, demnach bleibt nur ein dateibasierter Export
an Odoo. Hier unterstützt Datev auch eine „XML Variante“, doch diese ist
eigentlich nur eine CSV in einer XML, mehr nicht. Das CSV ist ein
reiner Stapelexport der vorab markierten Buchungen. Und hier liegt die
Krux, denn die Buchungen müssen vorher in Datev markiert und können erst
dann exportiert werden. Einen Delta Export – à la „gib mir alles, was
noch nicht exportiert wurde“ – gibt es natürlich nicht.
Fehlerunanfällig ist etwas anderes, aber wenn es nicht anders geht,
dann muss man den Weg gehen. Womöglich ändert sich dies in der Zukunft
über die API.
Konten
Auch hier bietet Datev einen dedizierten Import zur Anlage der Konten
an. Doch wie oft ändert sich ein Kontenrahmen, wenn man mal Debitoren
und Kreditoren ausklammert? Da dies nicht sehr häufig vorkommen wird
bzw. sollte, ist die Nutzung dieses Punktes nicht notwendig, besonders
wenn man für die Ausnahmen Datev als das führende System definieren kann
und somit jedes angelegte Konto in Odoo ebenfalls angelegt werden
müsste.
Problematik Debitoren/Kreditoren
Problematischer wird es bei Debitoren und Kreditoren, denn hier gibt es zwei verschiedene Denkansätze in Datev und Odoo.
Odoo pflegt in den Stammdaten ein verstecktes Feld namens „Commercial
Partner“ oder auf Deutsch „gewerbliche Einheit“. Legt ein Benutzer ein
Unternehmen an, ist in dem Feld die eigene Datenbank ID hinterlegt. Legt
der Benutzer einen Kontakt an, ist dort die Datenbank ID des
zugehörigen Unternehmens hinterlegt. Wird also eine Rechnung erstellt,
egal, ob diese an das Unternehmen adressiert wird oder an die
abweichende Rechnungsadresse, wird bei der Validierung der Buchungssatz
geschrieben. Dabei erfolgen mehrere automatische Zuordnungen:
Erlöse/Aufwand
Jedes
Produkt hat eine Warengruppe. Entweder dort oder am Produkt können ein
Erlös- und ein Aufwandskonto konfiguriert werden. Diese Information wird
zur Verbuchung von Erlös respektive dem Aufwand genutzt
Steuern
Durch
den am Produkt hinterlegten Steuersatz und die am Kunden bzw der
Rechnung konfigurierte Steuerzuordnung ergibt sich die Steuerkonsequenz.
Dies sollte eine erhebliche Erleichterung in der Buchhaltung bedeuten.
Forderung/Verbindlichkeit
Bei
Anlage der Rechnung wird das Debitor- bzw. Kreditorkonto vom Kunden
oder Lieferanten gezogen und der Rechnung zugewiesen bzw. bei der
Formulierung des Buchungssatzes genommen und diesem der jeweilige
Bruttowert aus der Rechnung zugewiesen.
Das Prinzip ist gleich, egal ob Ausgangs- oder Eingangsrechnung bzw. Ausgangs- oder Eingangsrechnungskorrektur.
Doch wird in den Buchungssatz grundsätzlich der Commercial Partner
bzw. die gewerbliche Einheit in ein separates Feld geschrieben. Somit
ist egal, um welches Konto es geht oder um welche Kontenstruktur oder ob
diese vielleicht sogar gänzlich umgebaut wurde. Über diese Verknüpfung
können grundsätzlich immer über die Kunden- oder Lieferantenkarteikarte
die mit dem Partner verbundenen Buchungen geholt und eingesehen werden.
Dies funktioniert natürlich in beide Richtungen, denn so kommt man vom
Partner (also vom Kunden oder Lieferanten) zu den Buchungen oder von
einer Buchung auf das komplette Datenblatt des Debitoren bzw. Kreditoren
und von dort wieder zu allen Buchungen oder allen Rechnungen,
Aufträgen, oder was auch immer als Information benötigt wird und wofür
der Benutzer eine Berechtigung hat.
D.h. an sich spielt es in Odoo keine Rolle, mit einem allgemeinen
oder einem dedizierten Konto pro Partner zu arbeiten. Die eigentliche
Forderung oder Verbindlichkeit wird über die Commercial Partner
Zuweisung gesetzt. Das heißt aber natürlich auch, dass man in der
Stammdatenpflege Rechnungsadressen nicht umschreiben sollte!
Da dies Odoo deutlich flexibler macht, ist das System im Standard so
aufgesetzt, dass es auf ein allgemeines Konto bucht, das sogar das Konto
des Hauptbuches ist. Mir ist bewusst, dass dies zu einem Aufschrei in
der Buchhaltung kommt, doch hierauf werden wir separat eingehen. Der
Hintergrund, warum das so ist, ändert an diesem Punkt nicht, dass es so
ist. Denn Datev arbeitet hier mit einzelnen Konten im Nebenbuch und es
wird auf ein Konto im Hauptbuch hochkonsolidiert. Odoo wiederum schreibt
auf das Hauptbuch und legt demnach keine separaten Konten an, dafür
muss es nicht hochkonsolidieren. Mit anderen Worten, hier treffen zwei
unterschiedliche Ansätze aufeinander.
Natürlich kann man Odoo beibringen, dass es bei Auftrags- bzw.
Rechnungsbestätigung an einen Kunden prüft, ob es der erste Auftrag oder
die erste Rechnung ist, so dass vorab ein Konto für den Partner
angelegt und das allgemeine Konto gegen dieses ausgetauscht werden kann.
Damit ist man in der Logik Datev.
Doch dies bedeutet auch, man muss das Konto vor einem Export an Datev
erst einmal manuell in Datev anlegen. Ein weiterer Nachteil stellt sich
in Odoo ein. Die Konten, die in Datev zum Hauptbuch gehören, sind in
Odoo natürlich so konfiguriert, dass sie in der Bilanz erscheinen. Da
nun keine Konsolidierung vom Nebenbuch ins Hauptbuch in Odoo erfolgt,
ist demnach das Konto, ebenso wie der Punkt in der Bilanz. Alternativ
ist es natürlich möglich, die einzelnen Debitoren- und Kreditoren-Konten
bei der automatischen Anlage als bilanzrelevant zu konfigurieren, doch
dann wird jedes einzelne Konto in der Bilanz ausgewiesen, was natürlich –
dem Szenario angepasst – korrigiert werden kann.
Kurzum, wie man es dreht und wendet, jeder der möglichen Ansätze ist
nicht ganz zufriedenstellend. Am Einfachsten wäre womöglich ein
Rückimport aus Datev, doch wie gesagt, auch hier ist eine Fehlerquelle
enthalten.
Dies kann man nur durch gemeinsame Abstimmung lösen.
Kostenstellen
Odoo verknüpft die Kostenstelle ebenfalls in den Buchungssatz. Da
jeder Buchungssatz einzelne Zeilen generiert, können tatsächlich mehrere
Kostenstellen innerhalb einer Sachbuchung angesprochen werden und somit
kann die Information ebenfalls exportiert und an Datev übermittelt
werden.
Ob dies jedoch tatsächlich notwendig ist, bleibt die entscheidende
Frage. Denn jede Art von Kostenstelle ist eine betriebswirtschaftliche
Auswertungsebene und wenig relevant für die Sachbuchhaltung, für Monats-
oder Jahresabschlüsse. Das Gleiche gilt auch für Umbuchungen innerhalb
der Kostenstellenstruktur, sei es zur Auflösung von allgemeinen Kosten
auf Projekte oder zur Umbuchung von Materialien.
Sollte es jedoch mitgeführt werden, so wäre Odoo ebenfalls als
führendes System zu betrachten. Nach der Anlage eines neuen Projektes,
einer Kostenstelle, eines Kostenträgers, etc. müsste dies noch vor einem
Export in Datev angelegt werden.
Die Konfiguration
Natürlich müssen Odoo und Datev abgestimmt konfiguriert werden. Dabei
sind die angesprochenen problematischen Punkte mit besonderem Augenmerk
zu berücksichtigen. Durch den manuellen Export ist es in den einzelnen
Bereichen umso entscheidender, das führende System zu bestimmen.
Odoo
Man könnte meinen, das alles, was gegen Odoo spricht pro Datev ist
und umgekehrt. Doch ganz so einfach ist es nicht. Daher: Was spricht für
Odoo und was muss bei einem Aufsatz bedacht werden?
Was spricht für Odoo?
Was eindeutig für Odoo spricht, ist die in der Einleitung genannte
real-time Verarbeitung der Belege und direkte Verfügbarkeit der
Informationen in allen anderen Modulen, also das direkte Zusammenspiel
aller Komponenten. Ebenfalls dafür spricht, dass es keine Übersetzung
zwischen unterschiedlichen Logiken geben muss, denn jede Übersetzung ist
fehleranfällig und wartungsintensiv, und dies ganz besonders in der
Bereinigung von Fehlern, denn dabei muss die Logik der externen
Komponente mit bedacht werden.
Bei wachsender Anzahl der zu verarbeitenden Datenmengen sollte die
Anzahl der Spieler auf dem Spielfeld reduziert werden, um Schnittflächen
und Sollbruchstellen zu reduzieren. Die Nutzung der Buchhaltung ist das
Naheliegendste, denn zusammenfassend kann man sagen:
Odoo bringt ein paar neue Gedanken mit hinein, die für die sehr
klassischen Systeme ungewohnt sind, aber eine Erleichterung darstellen,
wenn man sie nutzt. Ansonsten sind die Prinzipien die gleichen, und
Odoo, wenn es richtig aufgesetzt ist, spielt auch in der Buchhaltung
nach den Regeln.
Was ebenso dafür spricht ist, dass durch die Nutzung der Module
Verkauf, Einkauf und Lager bereits ein Großteil aller Geschäftsvorgänge
soweit erfasst und vorbereitet ist, dass nach einer Prüfung die jeweils
zu verbuchenden Informationen bereits bekannt sind. D.h. in diesem Fall,
dass nach einer visuellen und inhaltlichen Prüfung direkt nach der
Bestätigung die Generierung der Buchungssätze/-zeilen vom System
vorgenommen werden kann. Und hierbei geht es nicht nur um die Erstellung
von Ausgangsrechnungen oder die Prüfung und Verbuchung der
Eingangsrechnungen und der dazugehörigen Zahlungen, sondern auch um die
Bewertung der Warenbewegungen sowie der Anlage von Verträgen und somit
um die Erstellung der darauf basierenden wiederkehrenden Buchungen.
Was muss bedacht werden
Um dies zu erwirken, müssen natürlich diverse Dinge beim Aufsatz und in der Nutzung bedacht werden:
Die technische Basis
Das Wichtigste ist, dass keine Module installiert sind, die die
Revisionssicherheit gefährden oder untergraben. Hierzu haben wir einen seperaten Blog veröffentlicht
Dazu gehört das Stornieren einer bestehenden Buchung ohne
Gegenbuchung und die Möglichkeit, generierte Rechnungsbelege löschen zu
können.
Fachpersonal
Auch wenn Odoo durch die Vorkontierung der Geschäftsvorfälle einen
Teil der Arbeit übernimmt, wird es bei der Verbuchung von Bankkonten,
Ausbuchung von Forderungen, beim Erfassen von Quittungen, oder bei der
Umbuchung auf Grund von falschen Stammdaten oder falsch verbuchten
Vorfällen, also bei der Bewertung und richtigen Erfassung der
Informationen, nicht viel einfacher als in anderen Systemen. Dies sollte
folglich von einem Benutzer mit entsprechenden Kenntnissen in der
Buchhaltung durchgeführt werden.
Schulung
Und ebenso wichtig ist natürlich die Durchführung einer Schulung
durch eine Person, die die typischen Anwendungsfälle kennt und im
Fachjargon Fragen beantworten kann. Dabei geht es nicht nur um die
Schulung in der richtigen Anwendung des Moduls, sondern auch darum,
Vertrauen ins System zu schaffen. Denn unabhängig davon, dass Odoo eine
webbasierte Anwendung und ein unbekannter Name ist, sind gedanklich neue
Ansätze integriert worden, deren Vorteile ebenfalls erklärt und gezeigt
werden müssen. Dies ist notwendig, um Bedenken zu nehmen und nicht nur
Vertrauen in die gleichen Ergebnisse zu schaffen, sondern auch um ein
Verständnis für diesen Ansatz zu vermitteln, damit der Vorteil auch
wirklich ein Vorteil wird.
Fehlende Zertifizierung
Nun verbleibt der letzte Kritikpunkt. Odoo hat bislang keine
Zertifizierung in Deutschland erlangt. Auch wenn dies an sich kein
Hexenwerk ist, existiert aktuell noch kein GoBD-konformer Export. Doch
dieser Export ist eine Empfehlung und muss nicht zwingend von einer
Software bereitgestellt werden. Voraussetzung ist natürlich, dass man
Einzelbuchungen auf einem Konto nachweisen und ausdrucken kann (wird von
Odoo erfüllt) und zu jeder belegbezogenen Buchung dieser Beleg bereit
gestellt werden kann (wird von Odoo erfüllt) und dass die Belege
unveränderbar sind (auch dies kann erfüllt werden, siehe oben
„Technische Voraussetzungen“).
Die Anbindung an Datev betreffend bedeutet dies, dass es nicht
ausreichend ist, monatlich eine SuSa mit Datev abzugleichen, sondern
hier ein Export der Einzelbuchungen erfolgen sollte. Doch würde auch in
Odoo ein Monatsabschluss erstellt werden, können die dazu gehörigen
Buchungen Teil des Stapelexports an Datev sein. Doch in diesem Fall
würde Odoo als führendes System genutzt und Datev für den
Jahresabschluss, wobei dies auch auf Basis der Einzelbuchungen erfolgen
könnte.
Fazit
Odoo erfüllt technisch und strukturell die Vorgaben, eine umfassende
Buchhaltung ordentlich zu integrieren. Da es jedoch einen
internationalen und einen generischen Ansatz verfolgt, sind teilweise zu
viele Dinge erlaubt und offen, die in Deutschland definiert und
reglementiert sind. Dies muss beim Aufsatz bedacht und entsprechend
umgesetzt werden. Hier ist der größte Teil durch Konfiguration lösbar,
aber ein Teil bleibt programmatisch.
Da wir die Details nicht genau kannten und demnach den Umfang nicht
genau abschätzen konnten, haben wir (wie wahrscheinlich viele andere)
auf den Datev-Export gesetzt, mit allen damit verbundenen Diskussionen
und halbherzigen Lösungen, wenn es um die Rückführung der Daten ging.
Doch abhängig von der Projektgröße und der Besetzung der Buchhaltung
beim Kunden, gehen wir auf eine integrierte Lösung. Denn auch wenn eine
Alternative im Einsatz ist, die eine deutlich bessere API zur Verfügung
stellt, würde dies einen höheren Aufwand im Aufsatz bedeuten, um diese
API entsprechend nutzen zu können. Obendrein müssten auch hier
unterschiedliche Logiken miteinander verknüpft werden.
Doch eine Präferenz bleibt eine Präferenz. Zum einen muss in jedem
Projekt mit Vernunft und Augenmaß an die Entscheidung herangegangen
werden. Außerdem müssen die einzelnen Pros und Cons bewertet werden, was
dann zur Entscheidung führt, wie viel von dem einen und wie viel von
dem anderen genutzt wird. Auch wenn Odoo eine Zertifizierung erreichen
wird, erledigt sich das Thema und dieses Augenmaß wohl erst einmal
nicht. Denn dazu wird Odoo erst einmal bekannter werden und somit einen
besseren Stand im Punkt „Vertrauen“ erlangen müssen.
Wir verwenden Cookies, um Ihnen ein besseres Nutzererlebnis zu bieten.