Skip to main content
Skip table of contents

OCT Gateway DATEVCONNECT.Accounting

Funktionalität

Systemvoraussetzungen OCT

  • Python Arbeitsumgebung für OCT

    • Python Installation 3.13 oder höher

    • ODBC Treiber 18 für MSSQL Server

    • Visual Studio Code (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

  • OCT Datenbank

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

  • OCT Applikation

    • eine OCT Applikation kann lokal installiert sein, kann aber auch in der Cloud Variante genutzt werden, falls die OCT Datenbank in der Cloud liegt

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

grafik-20250207-150045.png

Konfiguration der Gatewayvariante DATEVConnect

  • 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

Einrichtung des Gateways on-premises

  • Python Version 3.13 oder höher ist installiert (“für alle Benutzer”, um den automatischen Aufruf durch OCT zu ermöglichen) https://www.python.org/.

  • ODBC Treiber 18 in 64Bit für MSSQL Server ist installiert (https://learn.microsoft.com/de-de/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver16).

  • Visual Studio Code ist in der Variante “System Installer” Nimm den System Installer - dann kannst Du VS Code auch als anderer Benutzer starten, sonst geht das nicht. mit den Erweiterungen Python / Python Debugger von Microsoft grafik-20250203-082453.png installiert.

  • Zugangsdaten für eine MSQL Server Datenbank mit db_owner Rechten sind vorhanden - diese Datenbank ist typischerweise eine OCT Datenbank, muss es aber nicht sein.

  • Vom Rechner mit der Python Installation kann eine Verbindung über den SQL Server Port (meist 1433) zur MSSQL Server Datenbank aufgebaut werden.

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

  • Datenbankobjekte durch Ausführen des Scripts “SETUP_DATEV_REWE connect” 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)

  • Python Script main.py im Modus 1 ausführen, um die Steuerungstabelle des Gateways aufzubauen:

    • A: durch Doppelklick auf “1_Steuerungstabelle aktualisieren.bat”

    • B: in VSCode oder CMD per “python main.py --modus=1”

  • Steuerungstabellen konfigurieren (manuell oder mit Script Gatewaysteuerung.sql)

  • Das Python Script in Modus 2 ausführen, um die Daten zu lesen:

    • A: durch Doppelklick auf “2_Daten abrufen.bat”

    • B: in VSCode oder CMD per “python main.py --modus=2”

  • Datenvalidierung in OCT über die Factory ZV oder über XLSX Tabelle “Validierung DATEVConnect.Accounting.xlsx”, das Gateway stellt eine umfassende Validierungsoberfläche bereit

grafik-20250214-145209.png
  • Pipeline RUNME einrichten, welche …

Ausführung on-premises über Powershell Step

grafik-20250325-201908.png

Einrichtung des Gateways als Cloudvariante via Container

  • Storage Account bereitstellen

    • Python Scripte im Filestorage ablegen

    • Sharename = python (zwingend, nach diesem Ordner sucht die run.py, welche im Container liegt)

    • Unterordner = scripts (zwingend, dort wird von run.py nach main.py gesucht)

grafik-20250213-094845.png
grafik-20250213-094527.png
  • Step konfigurieren

    • Ressourcengruppp = eine Ressourcengruppe in welcher die UMI die Rolle Contributor hat

    • Container Registry = URL (ohne http..) in welcher die UMI ArcPull Rechte hat

    • Image Name = Name des Containers mit Tag

    • Containergroupname = beliebiger String (Kleinschreibung ohne Leerzeichen)

    • Containername = beliebiger String (Kleinschreibung ohne Leerzeichen)

    • Anzahl Prozessoren: 0.25 bis 4

    • RAM GB: 1 bis 4

    • User managed Identity: Name der UMI mit obengenannten Rechten

    • Storage - die oben ausgewählte Datenquelle vom Typ Filestorage

    • Share Name / Volume Name = python (eine der beiden Eigenschaften ist überflüssig, oder ?)

grafik-20250213-141910.png
  • Startbefehl = starte im python das script run.py (Starthelfer, welches im Ordner python liegt), dieses soll das Script main.py aufrufen und diesem die beiden Parameter übergeben

    • python,run.py,--ScriptName=main.py,--ScriptArguments=--modus=1

    • python,run.py,--ScriptName=main.py,--ScriptArguments=--modus=2

Expertenwissen

  • man kann dem main.py Script auch den Namen der config Datei als optionalen Parameter mitgeben, so kann man im Ordner config mehrere config Dateien ablegen, falls man mehrere DATEV Systeme angebunden hat

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

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

JavaScript errors detected

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

If this problem persists, please contact our support.