Skip to main content
Skip table of contents

DATEV-Anbindung mit manuellem Datenexport (KRExport)

Beschreibt die Extraktion und Weiterverarbeitung von Daten aus DATEV über die DATEV-Schnittstellentechnologie “KREXPORT”. Diese Schnittstellentechnologie ist der DATEV-Standard und für alle Anwender ohne DATEV-Zusatzkosten verfügbar.

Der manuelle Export beschreibt das Szenario, falls Sie DATEV auf einem Server von Dritten (z.B. Ihrem Steuerberater) nutzen und dort OCT nicht installieren dürfen/können.


1. Voraussetzungen

1.1. Konnektorverwaltung

  • OCT-Instanzen besitzen seit der Generation v5.9 eine neue Konnektorverwaltung. Diese ist automatisch nach einem/r Update/Installation aktiviert:

Beispiel für die neue Konnektorverwaltung im Bereich “Administration”

Um die hier im Artikel beschriebene DATEV-Anbindung umsetzen zu können, müssen sie die neue Konnektorverwaltung deaktivieren.
Gehen Sie dafür in den Bereich “Administration” (ehemals “Datenbankeinstellungen”) und deaktivieren Sie die neue Konnektorverwaltung in den “Experimentellen Funktionen” :

Deaktivieren der neue Konnektorverwaltung

Deaktivieren sie den Toggle-Button und speichern Sie die Änderungen ab. Nun sollten Sie den Reiter “Konnektoren” in der Modulverwaltung wieder sehen können (alte Konnektorverwaltung):

Die alte Konnektorverwaltung ist wieder aktiv


1.2. Technische Voraussetzungen

  • Zugriff auf das Programm DATEV-Kanzleirechnungswesen als Anwender

1.2.1 manuelle Datenablage

  • Kunde die Dateien in einer bestimmten Ordnerstruktur im Staging Ordner (Bsp: C:\ProgramData\Saxess Software\CPCE\cpce\cpce\Staging\1) ablegen

  • die Struktur kann der Anleitung https://help.saxess-software.de/sx-cpce-portal/Working-version/datev-upload entnommen werden

  • falls der Kunde die Dateien nur in einem “Zwischenordner” ablegen kann, kann optional ein PowerShell Skript zum kopieren der Dateien genutzt werden

  • Optional wäre zu klären ob das Unternehmen DATEV-KOST nutzt.

    • DATEV-KOST ist ein Zusatzmodul zur Finanzbuchhaltung, welches Umlagen und andere Prozesse durchführt.

    • für die Ablage der KOST.mdb Dateien muss pro Wirtschaftsjahr ein Ordner im jeweiligen Mandanten abgelegt werden

image-20240213-130714.png

Bsp. eines DATEV Ordners

1.2.2 automatische Ausführung

  • Kunde benötigt einen administrativen Zugriff auf einen Server, auf welchem ein DATEV-Client installiert ist.

    • Auf dem DATEV-Server müssen die notwendigen Systemvoraussetzungen für die Installation von OCT erfüllt sein.

    • Optional wäre zu klären ob das Unternehmen DATEV-KOST nutzt.

      • DATEV-KOST ist ein Zusatzmodul zur Finanzbuchhaltung, welches Umlagen und andere Prozesse durchführt.


1.3. Benötigtes Wissen

  • Für die Einrichtung muss die Thematik “Strukturbruch”, bezogen auf Mandanten in DATEV, bekannt sein.

    • Beim ersten Mal können nur die Jahre mit der aktuellen Struktur übernommen werden.

    • Mehr Informationen, Erklärungen und Details zu dem Thema sind zu finden unter “5. Expertenbereich”.


2. Anleitung der manuellen Datenextraktion

  • Richten Sie OCT in einer geeigneten Umgebung ein.

  • Kopieren Sie die OCT-Exportformate auf den DATEV-Server und spielen Sie diese im DATEV ein.

Die OCT Exportformate für DATEV können hier heruntergeladen werden: Download


2.1. Download und Aktivierung von Modulen, Planungslösungen und Konnektoren

2.1.1. Aktivierung von Modulen

Laden sie die folgenden Module herunter und aktivieren sie diese:

Benötigte Module in der Modulverwaltung

  • DATEV Staging für Finance

  • Finance

    • Das Modul Finance legt automatisch eine Planungslösung zur Validierung des Moduls an.

    • Die Validierungen & Auswertungen sind in einer Produktlinie als Tabs zusammengefasst:

Beispielhafte Validierung des Moduls FIN


2.1.2. Aktivierung von Konnektoren

Laden sie folgende Konnektoren herunter und aktivieren sie diese:

  • (a) Quellsystem: “DATEV”, Quellsystemtyp: “KREXP”, Konnektor: “FIN_DATEV (DATEV für Modul FIN_DATEV) …”

KREXP-Konnektor für DATEV

  • (b) Quellsystem: “DATEV”, Quellsystemtyp: “MSSQL”, Konnektor: “FIN (DATEV - Modul FIN) …”

MSSQL-Konnektor für DATEV


2.2. Einrichtung der Datenquellen

  • Im Hauptmenu der Datenflüsse (links) den Reiter Datenquellen öffnen.

  • Über das kleine “+” oben links fügen sie eine neue Datenquelle hinzu - es öffnet sich ein Dropdownmenü mit allen verfügbaren Quellsystemen:

  • Das Ziel sind zwei Datenquellen - die Verbindung zu DATEV und die Verbindung zur OCT-Datenbank:

Beispielhafte Darstellung der anzulegenden Datenquellen

Die OCT-Datenbank ist seit der Generation v5.9 immer automatisch als Datenquelle mit der ID = 0 angebunden. Es benötigt kein manuelles Anlegen dieser.


2.2.1. Einrichtung der Verbindung von DATEV zur Datenbank

  • Wählen sie als Quellsystem der neuen Datenquelle “DATEV” aus und starten sie die Einrichtung.

Auswahl der Quellsysteme für eine neue Datenquelle

Dialog 1: “Verbindung konfigurieren”

Dialog 1: “Verbindung konfigurieren”

  • Der “Pfad zu KrExport.exe” sollte automatisch vorgegeben sein. Typischerweise liegt der Pfad im DATEV-Unterordner “RWAPPLIC”.

  • Über den “Datenpfad” kann man den Pfad des Überordners eintragen, in welchem die verschiedenen FM-Ordner & damit die Wirtschaftsjahr-Ordner/KostSt.MDB-Dateien enthalten sind.

Wenn keine Microsoft Access-Datenbanken und damit keine Kostenrechnungen angebunden werden sollen, kann das Eingabefeld “Datenpfad” leer bleiben. Es befüllt später lediglich die Eingabefelder der KOST-Pfade vor.

Dialog 2: “Mandantenliste abrufen”

  • Wenn die Daten manuell zur Verfügung gestellt werden (z.B. Upload von extern), muss die Option “Skript manuell ausführen” aktiviert werden:

Manuelle Ausführung

  • Mit der Aktivierung der Checkbox öffnet sich unterhalb eine Infobox mit Anweisungsschritten.

  • Führen Sie diese Schritte nacheinander aus auf dem DATEV-Server aus.

  • Transferieren sie die “Mandantenliste.csv” von ihrem DATEV-Server zurück auf den OCT-Server:

    • C:\ProgramData\Saxess Software\<OCT-Dienstname>\<Datenbankserver-ID>\<Datenbankname>\Staging\<Datenquellen-ID>

Dialog 3: “Mandantendetails ermitteln”

Für diesen Teil brauchen Sie die manuell transferierten Dateien vom DATEV-Server!

  • Filterung der Mandantenliste…

    • …zuerst über das Datum auf die benötigten Geschäftsjahre - bei Strukturbrüchen muss hier auf das erste Wirtschaftsjahr der aktuellen Struktur gefiltert werden.

    • …und dann auf die gewünschten Mandanten.

  • Auslösen eines Abrufs von Detaildaten mittels des Buttons “Mandantendetails abrufen”.

    • Dabei werden pro Mandant die Details aller Wirtschaftsjahre ermittelt:

Beispielhafte Ansicht für Mandantendetails beim Einrichten einer DATEV-Datenquelle

Sind alle Mandanten im “Bearbeitungsstatus” = grün, dann kann im nächsten Fenster fortgefahren werden - Sie klicken unten auf “Weiter”.

Dialog 4: “Übersicht”

  • Über “Mandanten aus Quelle auswählen” können nun die gewünschten Mandanten vorselektiert werden.

  • Ferner erfolgt die Auswahl der technischen Mandanten:

  • Die MandantenID wird zusammengesetzt aus Beraternummer_Mandantennummer_Geschäftsjahresbeginn_Kontenrahmen_Sachkontenlänge. Bei Strukturbrüchen durch Änderungen beim Geschäftsjahresbeginn, Kontenrahmen oder der Sachkontenlänge werden die Daten automatisch in einzelne technische Mandanten geladen. Die Vorgehensweise bei einer Zusammenführung von zwei technischen Mandanten muss je nach Anforderung individuell gelöst werden.

  • Optional: Angabe es Pfades zum KOST Verzeichnis.

Hier wird die Eingabe aus dem Feld “Datenpfad”, des ersten Dialogs der Einrichtung, automatisch in alle Eingabefelder “Kost-Pfad” voreingetragen.


2.3. Einrichtung einer Pipeline

Der Ablauf von DATEV kann allgemein in drei Phasen beschrieben werden:

  1. Export der Daten aus DATEV und speichern als “.csv”- oder ”.txt”-Datei auf der Festplatte. (3.3.3. Step: DATEV Export)

  2. Einlesen der Dateien von der Festplatte und Übertragung in die integration-Tabellen. (3.3.5. Step: DATEV Dateiverarbeitung)

  3. Übertragung der Daten von den integration-Tabellen in die result-Tabellen - das ist vergleichbar bei allen anderen Datenbereitstellung und damit kein für DATEV spezifischer Prozess. (3.3.7. Step: Datenbereitstellung )

  • Das Ziel ist eine Pipeline mit drei oder vier Steps:

image-20240213-131642.png

Beispielhafte DATEV-Pipeline mit allen Zwischenschritten

(der erste Step ist optional)

  • Legen Sie nun die 3-4x Pipelines nacheinander mit den folgenden Spezifikationen an:

  • (a) Optional: Power Shell Skript um Dateien von Ablageort (irgendwo auf Server) in Saxess Staging Ordner zu kopieren

    • Name: Dateien von [ORT] kopieren

  • (b) 3.3.5. Step: DATEV Dateiverarbeitung anlegen und folgende Inhalte auswählen:

    • Name: DATEV Stagingtabellen füllen

    • Datenquelle - des Quellsystem(-typs) “DATEV (KREXP)”

    • Modul: “FIN_DATEV”

    • Mandanten

    • den gewünschten Zeitraum

Beispielhafte Einrichtung des Steps: “DATEV-Dateiverarbeitung”

Es erfolgt das Einlesen der Dateien von der Festplatte und eine Übertragung der Daten in die integration-Tabellen der OCT-Datenbank. Der Tabellenpräfix dieser Tabellen ist “integration.tDATEV….”.

Wenn eine Kostenrechnung vorliegt, dann müssen Sie nun die “KOST.mdb” abfragen. Diese Funktion sucht nach den zuvor kopierten Ordnern in unseren OCT-Pfaden und verarbeitet die Dateien - ein Transfer in unsere Tabellen.

  • (c) 3.3.1. Step: SQL- und Pentaho-Konnektor (SQL) anlegen und folgende Inhalte auswählen:

    • Name: DATEV integration Tabellen füllen

    • Datenquelle - des Quellsystem(-typs) “DATEV on….”. Das entspricht der Datenquelle “DATEV (MSSQL)” und enthält Server- und Datenbanknamen.

    • Modul: “FIN”

    • den gewünschten Zeitraum

Beispielhafte Einrichtung des Steps: “SQL Konnektor”

Es erfolgt ein Transfer der Daten von den integrations-Tabellen "tDATEV" in unsere Verarbeitungstabellen mit dem Präfix “integration.tFIN”.

Beispielhafte Einrichtung des Steps “Datenbereitstellung”

Der Konnektor holt in diesem Step die Daten aus den "integration.tFIN"-Tabellen ab und stellt diese im "result"-Schema bereit.


2.4 Einrichten des Mandantenmappings

  • Aus technischen Gründen erscheinen die Datev Mandanten mit einer langen technischen Nummer, diese muss zurück gemappt werden auf die Datev Beraternummer_Mandantennummer. Dafür werden diese Nummer in der Tabelle global.tCompanies eingetragen bei der Datenquelle 0. Ggf. werden hierbei auch mehrere technische Mandanten zusammengeführt. Das Ergebnis des Mappings sieht man nach einem neuen Prozessdurchlauf mit Datenbereitstellung.

  • Den Prozess zwei mal laufen lassen, dann müssten auch die alten (langen) Mandantennummern rausgeflogen sein (der agent prüft die Anzahl und entscheidet zwischen truncate und delete). Falls nicht einfach alle result Tabellen per Truncate einmal löschen.

  • Details dazu unter: Mandantenmapping


2.5. Nacharbeiten

  • Alle Exportbefehle zu einem Gesamtskript zusammenfügen.

  • Jede Aktualisierung des Datenbestandes erfolgt dann durch eine einzige Skriptausführung.


3. Expertenwissen - Umgang mit Strukturbrüchen

Als Strukturbrüche bezeichnen wir alle Änderungen an einem DATEV Mandanten, welche ein Änderung der Verarbeitungslogik erfordern. Da in DATEV nahezu alle Eigenschaften eines Mandanten von Wirtschaftsjahr zu Wirtschaftsjahr geändert werden können, kann es mit jedem Wirtschaftsjahreswechsel zu einem Strukturbruch kommen - diese sind:

  • ein Wechsel des Kontorahmens (in Jahr 1 wird SKR03 genutzt, in Jahr 2 wird SKR04 genutzt) - die gleiche Kontonummer hat somit in Jahr 1 eine andere Bedeutung als in Jahr 2

  • ein Wechsel der Kontonummernlänge (von 4 stelligen Kontonummern auf 5 stellig Kontonummern) - somit ist das Konto 1200 aus Jahr 1 im Jahr 2 als Konto 12000 zu finden. Die Konten differenzieren sich meist auch in 12001, 12002, 12003 etc.

  • eine Anderung des Beginn des Geschäftsjahres (Umstellung von Geschäftsjahr = Kalenderjahr auf verschobenes Geschäftsjahr, somit mit einem eingeschobenem Rumpfgeschäftsjahr)

Die DATEV Anbindung über KREXPORT erstellt automatisch pro Strukturbruch einen neuen technischen Mandanten. Man kann diese anhand der Mandantennummer leicht unterscheiden, die Mandantennummer setzt sich zusammen aus:

  • [Beraternummer]_[Mandantennummer]_[TagMonatWJBeginn]_[Kontorahmen]_[Kontonummernlänge]

  • 800_2222_0101_03_4 bedeutet somit Berater 800, Mandant 2222, WJBeginn 01.Januar, Kontorahmen SKR03, 4stellige Kontonummern

Natürlich ist von der Geschäftsführung die Sicht auf den logischen Mandanten gewünscht - egal wie gebucht wird, es kommt ja immer eine GuV und Bilanz im HGB Layout etc. heraus. Die buchhalterische Umsetzung des Rechnungswesen mit verschiedenen Kontorahmen etc. muss also wieder zusammengeführt werden auf einen einheitlichen Datenbestand mit

  • einheitlichem Kontorahmen

  • einheitlicher Kontonummernlänge

  • periodengerechten Werten

Dafür werden die technischen Mandanten wieder zuammengeführt auf einen logischen Mandanten und dabei die Strukturbrüche wie folgt behandelt

  • wechselnde Kontonummernlänge → alle Kontonummer werden auf die größte Länge gebracht, bei kurzen Kontonummern also eine / mehrere 0 hinten angehängt Mandant mit Rumpfgeschäftsjahr und kalendarischem GJ zusammenführen / vereinigen / verschmelzen in OCT

  • Wechsel des Geschäftsjahresbeginns → überschreiben der Periodennummern / Periodenamen und darauf aufbauender Kumulation (ein Geschäftsjahr ist eigentlich nur die Definition der Grenzen der Kumulation, wir können also unserer Bewegungswerte anderes kumulieren, müssen aber aufpassen mit den Saldovorträgen)

  • Wechsel des Kontorahmen - die Konten des alten Kontenrahmens werden auf die die Konten des neuen Kontorahmens gemappt, oder beide werden gleich auf einen Konzernkontenrahmen gemappt

Es ist somit möglich, alle Arten von Strukturbrüchen wieder zu einem logischen Mandanten zusammenzuführen - oder gleich auf einen Konzernstandard mit Konzernkontenrahmen, Konzerngeschäftsjahr und Konzernkontonummernlänge zu bringen.


3.1. Umsetzung des Mandantenmapppings

  • A: jedem Mandant wird der logische Mandant [Beraternummer]_[Mandantennummer] hinterlegt

  • B: jedem alten Mandant wird die Mandantennummer des neuen Mandanten hinterlegt

  • Mandantenmapping


3.2. Umsetzung der wechelnden Kontonummernlänge

  • A: alle Kontonummern werden auf 8 stellig aufgefüllt (so sind die Kontonummern DATEV intern gespeichert)


3.3. Umsetzung des Kontenrahmenwechsels

  • A: gar nicht - beide Kontorahmen sind bereits auf die Auswertungsstruktur HGB gemappet und es kann über HGB Struktur mandantenübergreifend ausgewertet werden

  • B: beide Mandanten werden auf einen Konzernkontenrahmen gemappt

  • C: der alte Mandant wird auf die Konten des neuen Mandanten gemappt (das geht nicht immer 1:1)


3.4. Umsetzung des Geschäftsjahreswechsels

  • Individuelle Perioden werden definiert

  • alle Werte werden zu Bewegungswerten gemacht

    • vorhandene Bewegungswerte bleiben unverändert

    • am Ende jeder Ursprungskumulation werden die Salden auf dem Konto ausgebucht

    • alle Saldenvorträge werden als Bewegungswert behandeltüber diese läuft die Kumulation

  • über die individuellen Perioden läuft die Kumulation


4. Expertenoptionen

4.1. Datenextraktion über Powershell Step für spezielle KREXPORT Parameter

  • In seltenen Fällen (bspw. Beginn des Wirtschaftsjahres nicht am 01. eine Monats) ist es notwendig in die KREXPORT Kommandos einzugreifen. Von OCT wird das Extraktionsscript immer im Datenquellenverzeichnis erzeugt.

  • Diese kann kopiert, modifziert und über über Powershell an Stelle der originalen Datenextraktion ausgeführt werden.

Wartung: bei neuen Mandanten / Geschäftsjahren muss das Script manuell modiziert werden !

Datenextraktion per Powershell ausführen

Datenextraktion per Powershell Step statt Step Datev Export ausführen


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.