Skip to main content
Skip table of contents

OCT Gateway DATEVCONNECT.Accounting

Funktionalität

  • Das Gateway überträgt die Daten folgender DATEV Datenbestände in die staging Schicht einer OCT Datenbank

  • Mit diesen Datenbeständen lassen sich folgende Auswertungen erstellen

    • Bilanz und GuV mit der Auflösung bis auf Einzelbuchungen

    • Kostenrechnungsauswertungen, die NUR auf den KOST1 und KOST2 Buchungsfeldern basieren (Bezeichnungen für KOST1 / KOST2 Felder sind teilweise verfügbar, je nach DATEV Konfiguration)

    • Offene Posten debitorisch / kreditorisch

    • Dokumentaufrufe über Beleglink

  • Die OCT Datenbank stellt eine Validierungsoberfläche für diese Daten bereit

Systemvoraussetzungen

Systemvoraussetzungen DATEV

  • Zugang zu einer DATEVCONNECT.Accounting URL mit einem Benutzerkonto, welches über lesende Rechte auf allen Endpunkten verfügt. Die Einrichtung von DATEVconnect unterscheidet je nachdem ob,

    • der Kunde DATEV on-premises nutzt.

    • der Kunde DATEVasp, DATEV PARTNERasp oder DATEV SmartIT nutzt.

  • Der Ablauf der Einrichtung ist hier beschrieben: Zugang für eine DATEV Desktop API erstellen

Systemvoraussetzungen OCT

  • OCT Applikation 5.11 oder höher - je nach Einrichtungsvariante lokal oder in der Azure Cloud

  • OCT Datenbank

    • eine OCT Datenbank als Zieldatenbank muss on-prem oder in einer Cloudumgebung erreichbar sein

Technische Einrichtung

Variante A: Einrichtung des Gateways (OCT Dienst läuft on-premises)

  • Python Arbeitsumgebung für OCT einrichten

    • Python Installation 3.13 oder höher

    • ODBC Treiber 18 für MSSQL Server

    • Visual Studio Code mit Python Erweiterung (optional, für Testläufe)

    • Python und Visual Studio Code sollten / müssen in der Variante Systeminstaller / für alle Benutzer installiert sein, sonst ist eine Ausführung als anderer Benutzer (und meist ist der OCTService ein solcher) nicht möglich

  • Den Deployment Ordner “_Build.latest” aus Bitbucket Repo herunterladen, umbennen in “DATEVconnect” und nach C:\ProgramData\Saxess Software\DATEVconnect kopieren (ist eine Konvention, keine Bedingung) grafik-20250325-194342.png

  • Datenbankobjekte durch Ausführen des Scripts “SETUP_STAGING_DATEVCONNECT.Accounting.sql” einspielen

  • Die “config.json” Datei Ordner config des DATEV Gateway Ordner bearbeiten (Credentials für DATEVCONNECT, Datenbankverbindung mit SQLUser, globales Startjahr für den Abruf der Wirtschaftsjahre)

    • DATEV_SystemID = beliebige ID (da man mehrere DATEV Systeme an eine OCT Datenbank anbinden kann)

  • optional: testweise Direktausführung

    • Python Script main.py im Modus 1 ausführen, um die Steuerungstabelle des Gateways aufzubauen → “1_Steuerungstabelle aktualisieren.bat”

    • Steuerungstabelle konfigurieren → manuell oder mit Script Gatewaysteuerung.sql

    • Das Python Script in Modus 2 ausführen, um die Daten zu lesen → “2_Daten abrufen.bat”

  • Pipeline RUNME einrichten

    • globalen Parameter “DatenquellenID” an der Pipeline definieren → DATEV_SystemID eintragen

    • Step 1 einzeln ausführen (nur diesen allein !) → baut die Steuerungstabelle auf

    • Step 2 anpassen → Mandanten und Jahre definieren, welche übernommen werden sollen, dann per “Ausführung testen” testweise ausführen

    • Step 3 ausführen → ruft die Daten ab

  • Datenvalidierung in OCT über die Factory ZV, Productline Staging DATEVconnect.Accounting

grafik-20250214-145209.png

Variante B: Einrichtung des Gateways (OCT Dienst läuft in der Azure Cloud)

  • Einen Storage Account vom Typ FileStorage als Datenquelle anlegen

  • grafik-20250213-094527.png
  • Im Azure Storage Account eine Dateifreigabe “python” (Name ist Konvention) mit einem Ordner “scripts” (Name ist verpflichtend) anlegen

  • Den Deployment Ordner “_Build.latest” aus Bitbucket Repo herunterladen und den Inhalt in den Ordner “scripts” kopieren

  • grafik-20250515-193053.png
  • Datenbankobjekte durch Ausführen des Scripts “SETUP_STAGING_DATEVCONNECT.Accounting.sql” einspielen

  • Die “config.json” Datei im Ordner config bearbeiten (Credentials für DATEVCONNECT, Datenbankverbindung mit SQLUser, globales Startjahr für den Abruf der Wirtschaftsjahre)

    • DATEV_SystemID = beliebige ID (da man mehrere DATEV Systeme an eine OCT Datenbank anbinden kann)

  • Pipeline RUNME einrichten

    • globalen Parameter “DatenquellenID” an der Pipeline definieren → DATEV_SystemID eintragen

    • Step 1 löschen und durch folgenden Containerstep ersetzen → baut die Steuerungstabelle auf

    • grafik-20250515-192744.png

    • Step 2 anpassen → Mandanten und Jahre definieren, welche übernommen werden sollen, dann per “Ausführung testen” testweise ausführen

    • Step 3 löschen und durch folgenden Containerstep ersetzen → ruft die Daten ab

    • grafik-20250515-192852.png

  • Datenvalidierung in OCT über die Factory ZV, Productline Staging DATEVconnect.Accounting

grafik-20250214-145209.png

Fachliche Einrichtung

Der Datenbestand umfasst mehrere Abschlussarten, über das Feld accounting_reason der Tabelle staging.tDATEVCONNECT_AccountPostings muss eine passende Kombination gefiltert werden

  • Handelsbilanz = independent_from_accounting_reason + commercial_law

  • Steuerbilanz = independent_from_accounting_reason + tax_law

  • Andere Abschlussarten =independent_from_accounting_reason + reserved1 .. x etc.

Die Periode muss aus der Bezeichnung des Buchungsstapels ermittelt werden - nicht aus dem Buchungsdatum.

Offene Posten liegen jahresweise vollständig vor - es darf also nur der Bestand des letzten Geschäftsjahres für die Auswertung des Bestandes der aktuell offenen Posten herangezogen werden.

Expertenwissen

Konfiguration der Batchgröße

  • config.json bearbeiten

    • api_financialaccount_batchsize - default: 10.000.000 für bis zu 100.000 Buchungen pro Mandant und Jahr

      • dieser Parameter steuert die Blockgröße beim KontoVon / KontoBis Abruf der Sachkontobuchungen - nur ändern falls Abbruch mit default

      • da alle Konten 8 stellig sind, somit von 1 bis 99.999.999 abgefragt werden muss, ist die Batchsize recht groß

      • die Anzahl der Request sollte klein sein (insbesondere bei Cloudrouten mit hoher Latenz), die Datenmenge pro Batch darf aber nicht zu groß werden

      • Anpassung auf 1.000.000 für bis zu 2 Mio Buchungen pro Jahr

      • Anpassung auf 100.000 für mehr als 2 Mio Buchungen pro Jahr

    • api_debcredaccount_batchsize - default: 100.000.000 für bis zu 100.000 Buchungen pro Mandant und Jahr

      • dieser Parameter steuert die Blockgröße beim KontoVon / KontoBis Abruf der Personenkontobuchungen - nur ändern falls Abbruch mit default

      • hier muss von 9 stellig abgefragt werden, von 100.000.000 bis 999.999.999

      • Anpassung auf 10.000.000 für bis zu 2 Mio Buchungen pro Jahr

      • Anpassung auf 1.000.000 für mehr als 2 Mio Buchungen pro Jahr

Extraktion der Daten aus mehreren DATEV Systemen

Es können mehrere Systeme extrahiert werden, hierfür werden mehrere config Dateien im config Ordner angelegt.

Dann kann dem main.py Script der Namen der config Datei als Parameter mitgeben werden.

  • python main.py --modus=2 --configfile=”configDATEV1.json”

  • python main.py --modus=2 --configfile=”configDATEV2.json”

Containerworker

Die Container können von einer anderen OCT Datenbank ausgeführt werden, als der Datenbank welches Ziele der Datenspeicherung des Containers ist. Die Zieldatenbank kann so irgendeine Datenbank (OCT beliebigier Version / Nicht OCT Datenbank) sein

JavaScript errors detected

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

If this problem persists, please contact our support.