Hallo zusammen,
bekanntermaßen kann ja mit dem Tool KREXPORT (liegt im Rewe-Programmordner) einen ASCII-Export automatisieren z.B. über die Windows Aufgabenplanung.
Ein Kunde möchte Buchungsstapel aus DATEV in ein selbstgestricktes Folgesystem automatisiert einspielen und der KREXPORT.exe hat hier die massive Einschränkung, dass man bei Buchungsstapeln nur einstellen kann, welche Stapel-ID exportiert wird, was man dann aber auch immer erst auslesen müsste. Gibt man keine Stapel-ID an, werden immer alle Stapel in die Exportdatei geschrieben, was bei einer großen Fibu natürlich lang dauert und das Folgesystem müsste wieder erkennen können, welche Buchungen bereits importiert wurden.
Gesucht wird daher ein Tool eines Drittanbieters, welches via DATEV Connect Schnittstelle tiefergehende automatische Exporte erlaubt, z.B. "exportiere mir alle Buchungsstapel, die seit dem letzten Export neu festgeschrieben wurden".
Kennt da jemand was?
... klingt nach 'unbescheidenen' Wünschen, die evtl. so nicht erfüllbar sind, jedenfalls nicht vollständig 😅
... aber vielleicht kommt man mit dem vorherigen Export und der Auswertung der "Buchungsstapel-Liste" (Datenkategorie-Id: 32) weiter, in der die Buchungsstapel-IDs stehen.
... keine Ahnung, ob man so auch gezielt an die neu festgeschriebenen Buchungsstapel herankommt.
... aber die Zielanwendung müsste ja wissen, welche IDs schon importiert wurden 😉
Mit welchen Parametern wird denn exportiert? Wenn ich mal den kompleten KRExport Befehl samt Parametern habe, kann ich gucken, ob sich aus dem Export das passende per PowerShell auslesen und für den nächsten Export wiederverwenden lässt.
Nachtrag:
in der "Buchungsstapel-Liste" stehen die folgenden Informationen bzgl- der Festschreibung
Festschreibenummer;Festschreibedatum;Festschreibungskennung
... die man dann sicher auch auswerten könnte, wenn man wollte
... habe soeben mal spaßeshalber eine solche Liste exportiert
Beispiel (die letzten 4 Einträge des Headers und des ersten Datensatzes) :
LfdNr;Festschreibenummer;Festschreibedatum;Festschreibungskennung
1;0;;""
... ziemlich 'puristisch' 😎
ausführlicher:
LfdNr:1
nicht festgeschrieben
also auch kein Festschreibedatum
und keine Festschreibungskennung
... werde später mal ein ausführlicheres Beispiel bringen, falls dann noch nicht 'Schnee von 17:42 Uhr', also obsolet
Beispiel (die letzten 4 Einträge des Headers und des ersten Datensatzes) :
LfdNr;Festschreibenummer;Festschreibedatum;Festschreibungskennung
1;0;;""
Ist ja jetzt auch erst mal nur "CSV" und lässt sich recht gut (und easy) mit PowerShell beackern.
$csvKRExport = Import-Csv -Path C:\Test\KRExport-Test.csv `
-Delimiter ";"
$csvKRExport
$csvKRExport.LfdNr
$csvKRExport.Festschreibenummer
$csvKRExport.Festschreibedatum
$csvKRExport.Festschreibungskennung
"Ergibt":
LfdNr Festschreibenummer Festschreibedatum Festschreibungskennung
----- ------------------ ----------------- ----------------------
1 0
1
0
Die letzten beiden Zeilen sind halt leer, da "Festschreibedatum" und "Festschreibekennung" leer sind.
@janm ,
meine verwendete Syntax ist :
"%DATEVPP%\Programm\RWApplic\KRExport.exe" -Berater:98765 -DatenkategorieId:32 -Zieldatenpfad:"C:\KRExport" -Datenpfad:"L:\Datev\Daten\Rwdat\Data\Standard" -Zieldatei:"Buchungsstapel-Liste.txt" -WjBeginn:20230101 -format:"Buchungsstapel-Liste" -Mandant:12345
Die 'Ergebnis-Datei' "Buchungsstapel-Liste.txt" ist per Editor etwas schwer zu lesen,
aber umbenannt mit der Datei-Extension "CSV" schön 'strukturiert' mit Excel zu öffnen.
Wenn man mit Powershell die Ergebnisse so schön 'easy' auswerten kann ..... umso besser
Eigentlich müsste es so möglich sein, den/die gewünschten, neu festgeschriebenen Buchungsstapel automatisch identifizieren und exportieren zu können
Sofern der Export die Werte chronologisch liefert und die neuesten Daten immer am Ende stehen:
(Je nachdem wie groß die Exporte werden, kann man dann auch deutlich schneller ohne das ganze "gepipe" an die Werte kommen.)
$csvKRExport = Import-Csv -Path "C:\KRExport\Buchungsstapel-Liste.txt" `
-Delimiter ";"
# Letzter Buchungsstapel
$csvKRExport |
Select-Object -Last 1
# Letzter, festgeschriebener Buchungsstapel
$csvKRExport |
Where-Object { -not [string]::IsNullOrEmpty($_.Festschreibedatum) } |
Select-Object -Last 1
Wenn die Werte im Export auch durcheinander gewürfelt sein könnten, muss halt noch ein wenig sortiert werden.
Die Frage wäre jetzt, ob man mit den ermittelten Werten einen neuen KRExport ab dem ermittelten Datum / Stapel starten kann oder man jetzt mit der PowerShell einfach "KRExport - 1" und "KRExport aktuell" vergleicht und nur die neuen Werte in "KRExport gesuchte Werte" ausgibt.
Da müsste sich jetzt aber @unklarer_Posten äußern.
Falls es hier (Accounting - DATEV Developer Portal | DATEV Developer Portal) etwas gibt, wo man an die Buchungsstapel kommt, lässt sich das ebenfalls mit der PowerShell beackern.
... habe mal mit Musterdaten 'gespielt', da die Anonymisierung von Realdaten etwas mühsam ist
Die Buchungstapel-Liste kann auch noch deutlich länger und 'unübersichtlicher' sein
Mich irritiert dabei, dass die LfdNr über das gesamte WJ nicht eindeutig ist
Buchungsstapelpruefstatus;Buchungstyp;Stapel-Nr.;Bezeichnung;Datum von;Datum bis;Diktatkürzel;Herkunft-Kz;LfdNr;Festschreibenummer;Festschreibedatum;Festschreibungskennung
1;1;01-2022/EB01;EB-Werte der OPOS-Konten;01.01.2022;01.01.2022;;RE;1;0;;
1;1;01-2022/0001;EB-Werte;01.01.2022;01.01.2022;;RE;1;1;13.03.2022;Vogtsburger
1;1;01-2022/0002;Rechnungen Januar;01.01.2022;31.01.2022;;SV;2;2;20.03.2022;Vogtsburger
1;1;01-2022/0003;Lohn-Buchungen Januar 22;01.01.2022;31.01.2022;LO;SV;3;3;27.03.2022;Vogtsburger
1;1;01-2022/0004;Kasse/Bank Januar;01.01.2022;31.01.2022;;SV;4;4;03.04.2022;Vogtsburger
1;1;01-2022/0005;AN - Buchungen;31.01.2022;31.01.2022;;AN;5;5;10.04.2022;Vogtsburger
1;1;01-2022/0006;FY - Buchungen;01.01.2022;31.01.2022;;FY;6;6;17.04.2022;Vogtsburger
1;1;01-2022/0007;Verkaufsbelege 01-2022;01.01.2022;31.01.2022;BK;AW;7;7;24.04.2022;Vogtsburger
1;1;02-2022/0001;Rechnungen Februar;01.02.2022;28.02.2022;;SV;1;8;01.05.2022;Vogtsburger
1;1;02-2022/0002;Lohn-Buchungen Februar 22;01.02.2022;28.02.2022;LO;SV;2;9;08.05.2022;Vogtsburger
1;1;02-2022/0003;Kasse/Bank Feburar;01.02.2022;28.02.2022;;SV;3;10;15.05.2022;Vogtsburger
1;1;02-2022/0004;AN - Buchungen;28.02.2022;28.02.2022;;AN;4;11;22.05.2022;Vogtsburger
1;1;02-2022/0005;FY - Buchungen;01.02.2022;28.02.2022;;FY;5;12;29.05.2022;Vogtsburger
1;1;02-2022/0006;Verkaufsbelege 02-2022;01.02.2022;28.02.2022;BK;AW;6;13;05.06.2022;Vogtsburger
1;1;03-2022/0001;Rechnungen März;01.03.2022;31.03.2022;;SV;1;0;;
1;1;03-2022/0002;Lohn-Buchungen März 22;01.03.2022;31.03.2022;LO;SV;2;0;;
1;1;03-2022/0003;weitere Rechnungen März;01.03.2022;31.03.2022;;SV;3;0;;
1;1;03-2022/0004;Kasse/Bank März;01.03.2022;31.03.2022;;SV;4;0;;
1;1;03-2022/0005;AN - Buchungen;31.03.2022;31.03.2022;;AN;5;0;;
1;1;03-2022/0006;FY - Buchungen;01.03.2022;31.03.2022;;FY;6;0;;
1;1;03-2022/0007;Verkaufsbelege 03-2022;01.03.2022;31.03.2022;BK;AW;7;0;;
Ich selbst würde mir automatisch ein eigenes kleines 'Logbuch' (z.B. eine CSV-Datei) aller KRExporte schreiben und neue Einträge immer wieder ergänzen lassen.
In dieser Logdatei stünde dann das jeweils letzte Festschreibedatum und die letzten Buchungsstapel-IDs
Leider wird ein Export-Protokoll nur bei Fehlern und Hinweisen erstellt und nicht auch bei erfolgreichen Exporten.
... keine Ahnung, warum diese nützliche Funktion nicht mehr unterstützt wird
Die Buchungssatznummerierung ist DATEV Standardnomenklatur. Es beginnt mit dem Monat - Jahr / Nummer der Anlage (hier stumpf gezählt, jeder Monat neu ab 0001). Der Text ist die Eingabe bei der Anlage des Stapels, AN und FY sind Herkunftskennzeichen (AN = Anlag, FY = Kreditbuchungen).
Alles Weitere ist selbsterklärend.
meine Irritation bezog sich auf das Feld "LfdNr"
In der Dokumentation zu "KRExport.exe" steht eine Formulierung, die mich nach wie vor ein wenig 'irritiert'
Eine Liste der vorhandenen Buchungsstapel mit ID kann über das Format „BuchungsstapelListe“ ausgegeben werden. Die ID ist dort dem Feld „LfdNr“ zu entnehmen.
... aber egal ...
ich selbst habe zur Zeit keine Verwendung für diese ID
... und der Thread-Ersteller sucht wahrscheinlich nicht nach einer Script-Lösung, sondern nach einem schicken, schlüsselfertigen, komfortablen Drittanbieter-Tool
... und der Kunde oder Mandant wünscht sich vielleicht insgeheim einen RealTime-Zugriff auf die Buchführungsdaten und ist mit den derzeitigen Auswertungsmöglichkeiten von KANZLEI-RWE sowieso noch nicht 'glücklich'😎
... also sind unsere 'Gedankenspiele' wahrscheinlich sowieso nur für die 'Schublade'
Hallo @unklarer_Posten ,
konnten Sie Ihr Problem zwischenzeitlich lösen? Falls nein - ich stand vor kurzem vor einem sehr ähnlichen Problem und habe dafür eine Lösung gebaut. Vermutlich könnte ich auch Ihnen helfen.
Melden Sie sich gerne, wenn noch Bedarf besteht 🙂
Hallo @seb_ms ,
ich wäre an dieser Lösung interessiert. Schreib mit gern mal dazu.
VG Rüdiger
Moin @smurftoe ,
ich habe eine Software geschrieben, die mit einem Klick vollautomatisch Buchungsstapel bestimmter Mandanten exportiert (und im Nachgang noch transformiert).
Im Detail: man kann in einer Konfiguration die Mandantendaten eintragen: Mandantennummer, KOST1, WJ Beginn, Datum der ältesten zu exportierenden Buchung.
Dann kann man noch diverse Kontenüberleitungen einstellen: 1. Einzelkonto überleiten (aus Konto A wird Konto B), 2. Bereichsweise überleiten (Buchungen im Kontenbereich von x bis y werden in einen anderen Kontenbereich X bis Y verschoben) und 3. Kontenbereich auf Einzelkonto überleiten (Buchungen im Bereich von Konto x bis y werden alle auf Konto Z verschoben).
Dann kann man noch einzelne Konten oder auch Kontenbereiche einstellen, die im Export berücksichtigt werden - also nicht nur ein einfaches Konto von - Konto bis, sondern deutlich detaillierter als man das in KREXPORT kann 😉
Ach ja, und wenn man in der Konfiguration zu einem Mandanten eine (oder mehrere) Kostenstellen hinterlegt hat, dann werden auch nur Buchungen auf die(se) Kostenstelle(n) exportiert.
Und man kann auch sagen, ob man Buchungen aus dem Handelsrecht oder Steuerrecht oder beide haben möchte.
Wenn man die Software startet, sucht sie selbstständig für jeden Konfigurierten Mandanten die Liste der verfügbaren Buchungsstapel aller Jahre (bis zum Jahr der ältesten Buchung) raus, ruft dann alle Buchungsstapel ab und wendet die Konvertierungsregeln an. Und erstellt dann die Buchungsstapel. Beim nächsten Start der Software läuft das Ganze wieder von vorne an, nur dass bereits exportierte Stapel nicht nochmal exportiert werden.
Das Ganze läuft ziemlich zuverlässig, und kann natürlich noch weiter angepasst werden. 🙂