DATEV-Anbindung über KREXPORT (on premises, v5.8)
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.
Die automatische Ausführung beschreibt den Zugang/Zugriff auf einen Server mit DATEV, auf welchem auch OCT installiert werden kann.
1. Voraussetzungen
Um diese Schnittstelle nutzen zu können, benötigen Sie…
…den Zugriff auf das Programm DATEV-Kanzleirechnungswesen als Anwender.
…für die Variante der automatische Ausführung:
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.
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 automatische Datenextraktion
Führen Sie die Installation von OCT durch und beachten Sie bei dieser, dass…
..der User unter welchem der OCT Service läuft, Zugriffsberechtigung auf DATEV hat.
…am Installationsort (Computer) der DATEV-Client vorhanden ist.
…die OCT Exportformate im DATEV eingespielt sind.
Die OCT Exportformate können hier heruntergeladen werden: Download
Die OCT Exportformate können nach folgender Anleitung im DATEV Client/Arbeitsplatz eingespielt werden: DATEV-Formate
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:
Finance
DATEV Staging für Finance
2.1.2. Aktivierung des Validierungsmoduls
Laden sie die folgende Planungslösung herunter und aktivieren sie diese:
Validierung FIN - in der Registerkarte “Planungslösungen”
2.1.3. 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) …”
(b) Quellsystem: “DATEV”, Quellsystemtyp: “MSSQL”, Konnektor: “FIN (DATEV - Modul FIN) …”
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 ist unser Ziel: Zwei Datenquelle, eine davon ist die OCT Datenbank selbst
2.2.1. Einrichtung der Verbindung von DATEV zur Datenbank
Wählen sie als Quellsystem der neuen Datenquelle “DATEV (KREXP)” aus und starten sie die Einrichtung.
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 OCT die Daten automatisch exportieren soll, direkt auf “Weiter” klicken.
Dialog 3: “Mandantendetails ermitteln”
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.
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.2.2. Einrichtung des Tabellentransfers innerhalb der OCT-Datenbank
Wählen sie als Quellsystem der neuen Datenquelle “DATEV (MSSQL)” aus und starten sie eine zweite Einrichtung.
Tragen Sie die Verbindungsdaten zum SQL Server der OCT Datenbank ein.
Wählen Sie die OCT-Datenbank aus.
Wählen Sie die gewünschten Mandanten aus.
2.3. Einrichtung einer Pipeline
Der Ablauf von DATEV kann allgemein in drei Phasen beschrieben werden:
Export der Daten aus DATEV und speichern als “.csv”- oder ”.txt”-Datei auf der Festplatte. (https://saxess-software.atlassian.net/wiki/pages/createpage.action?spaceKey=OH&title=3.3.3.%20Step%3A%20DATEV%20Export)
Einlesen der Dateien von der Festplatte und Übertragung in die integration-Tabellen. (https://saxess-software.atlassian.net/wiki/pages/createpage.action?spaceKey=OH&title=3.3.5.%20Step%3A%20DATEV%20Dateiverarbeitung)
Ü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. (https://saxess-software.atlassian.net/wiki/pages/createpage.action?spaceKey=OH&title=4.2.7.%20Step%3A%20Datenbereitstellung)
Ziel - eine Pipeline mit vier Steps
Anlegen einer neuen Pipeline.
(a) https://saxess-software.atlassian.net/wiki/pages/createpage.action?spaceKey=OH&title=3.3.3.%20Step%3A%20DATEV%20Export anlegen und folgende Inhalte auswählen:
Name: DATEV Dateiexport
Datenquelle - des Quellsystem(-typs) “DATEV (KREXP)”
Modul: “FIN_DATEV”
die gewünschten Mandanten
Beginn / Enddatum
Es erfolgt ein Export der Daten aus DATEV und diese Daten werden als .csv/.txt-Dateien auf der Festplatte gespeichert.
Wenn eine Kostenrechnung mit Microsoft Access-Datenbanken vorliegt, müssen Sie die “KOST.mdb kopieren”. Diese Funktion kopiert die KOST.mdb-Dateien von den FM-Ordnern (wenn ein KOST-Verzeichnis beim Anlegen der Datenquelle hinterlegt wurde).
(b) https://saxess-software.atlassian.net/wiki/pages/createpage.action?spaceKey=OH&title=3.3.5.%20Step%3A%20DATEV%20Dateiverarbeitung 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
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) https://saxess-software.atlassian.net/wiki/pages/createpage.action?spaceKey=OH&title=3.3.1.%20Step%3A%20SQL-%20und%20Pentaho-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
Es erfolgt ein Transfer der Daten von den integrations-Tabellen "tDATEV" in unsere Verarbeitungstabellen mit dem Präfix “integration.tFIN”.
Name: DATEV Datenbereitstellung
Datenquelle - des Quellsystem(-typs) “DATEV on….”. Das entspricht der Datenquelle “DATEV (MSSQL)” und enthält Server- und Datenbanknamen.
Modul FIN
die gewünschten Mandanten
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 2. 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
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
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 !