Hallo Liebe Mitstreiter!
Ich versuche eine MT940 Datei aus StarMoney nach Datev zu exportieren und dort einzulesen.
Leider werden dort die Umlaute nicht erkannt und in Phantasiezeichen umgewandelt.
Obwohl in der MT940 Ursprungsdatei die ä ö etc richtig angegeben sind .
Aufjeden Fall kann ich die Datei mit dem Editor öffnen und je nachdem wie ich die Codierung ändere werden die Umlaute umgewandelt.
Aber nie wie sie in der Datei stehen. Bei Datev kommt immer ein unbrauchbares Sonderzeichen an dieser Stelle an.
Vielleicht hat jemand dieses Problem auch gehabt und es gelöst?
Vielen Dank im voraus!
MfG
Riegel
Ich habe exakt das gleiche Problem mit den Umlauten.
Könnte vielleicht jemand von DATEV oder aus der Community helfen?
Danke
Bei Umlautenfehler in CSV-Dateien (z. B. bei PayPal) verwende ich folgendes VBS-Tool:
Option Explicit
Dim objFSO
Dim sFile
Set objFSO = CreateObject("Scripting.FileSystemObject")
Private Const adReadAll = -1
Private Const adSaveCreateOverWrite = 2
Private Const adTypeBinary = 1
Private Const adTypeText = 2
Private Const adWriteChar = 0
sFile=WScript.Arguments(0)
UTF8toANSI sFile, sFile
Private Sub UTF8toANSI(ByVal UTF8FName, ByVal ANSIFName)
Dim strText
With CreateObject("ADODB.Stream")
.Open
.Type = adTypeBinary
.LoadFromFile UTF8FName
.Type = adTypeText
.Charset = "utf-8"
strText = .ReadText(adReadAll)
.Position = 0
.SetEOS
.Charset = "_autodetect" 'Use current ANSI codepage.
.WriteText strText, adWriteChar
.SaveToFile ANSIFName, adSaveCreateOverWrite
.Close
End With
End Sub
Einfach in eine Textdatei kopieren und als VBS-Datei z. B. "Convert_UTF2ANSI.vbs" speichern. Anschließend die MT940-Datei auf das Script per Drag&Drop ziehen. Die Konvertierung sollte problemlos funktionieren.
Gruß A. Martens
Danke sehr Herr Martens!
Leider erhalte ich eine Fehlermeldung. In Zeile 1 Zeichen 7 würde sich ein ungültiges Zeichen befinden. (Code: 800A0408, Kompilierungsfehler in Microsoft VBScript).
können Sie vielleicht ein paar Beispiele kopieren und posten ?
Kodierungs-Probleme sind uuuuralt aber sehr überlebensfähig
Haben Sie die Codierung z.B. mit Notepad++ geändert oder mit welchem Editor ?
Übrigens, in Buchungsstapeln gibt es 'verbotene bzw. ungültige Zeichen, die man vermeiden sollte, wenn man keine Hieroglyphen 'ernten' will
Manchmal hilft auch das Öffnen der MT940 (Text-Datei) mit Excel und das Speichern als txt-Format (ANSI)
Danke an alle soweit.
Ich beschreibe die Situation jetzt nochmal in den wesentlichen Punkten:
... man könnte sich auch mit der Funktion "suchen/ersetzen" jedes Editors oder jedes Textprogramms behelfen und die deutschen Umlaute ersetzen mit ae, ue, oe ss usw.
... oder in ein Makro oder ein Script gepackt und ausgeführt
VG
Michael Vogtsburger
Das Problem ist, wenn ich die MT940-Datei mit dem Editor öffne, steht beispielsweise die "Gebühr" sauber drin. Erst nach dem Einspielen in DATEV wird sie zur "Geb³hr". Es scheint irgendwie ein Problem im DATEV ReWe zu geben damit...
In DATEV KaReWe kann ich leider auch nichts ersetzten mit STRG+H...
die Suchen-Ersetzen-Funktion bzw. das Makro VOR dem Einspielen bzw. vor dem Erzeugen von Buchungsvorschlägen über die MT940-Datei laufen lassen.
Zusätzlich zu den Umlauten kann Ihnen auch das Datumsformat , das Währungsformat und der Dezimal-Punkt, das Dezimal-Komma in die Quere kommen (wenn die Daten aus dem Ausland stammen)
Danke sehr. Wahrscheinlich die Lösung... Ist dann natürlich ein gewisser Aufwand...
aber es sind so viele Transaktionen bei den Kreditkarten, die händisch zu erfassen ist auch kaum möglich
Solche "Konvertierungen" habe ich schon sehr oft gebraucht, z.B. auch, wenn man exportierte Daten von einer Anwendung in eine andere Anwendung importieren musste.
Herr Martens ist ein VBS-Spezialist und würde sowas mit Visual Basic lösen.
Ich selbst nehme das was mir gerade in den Sinn kommt.
Mit aufgezeichneten Makros in Word oder Excel geht auch schon Vieles.
Dann ist es nur ein schneller Klick, mit dem Sie viele Änderungen gleichzeitig erledigen können.
VG
Michael Vogtsburger
Hallo mosachse,
ohne ein Beispiel kann ich nicht viel helfen.
Ich selber nutzte das Tool (natürlich erheblich umfangreicher) schon seit Jahren für meine Konvertierung der PayPal-Daten und habe da nie Probleme gehabt.
Gruß A. Martens
mosachse,
das Thema 'Zeichen-Kodierung' ist in Textdateien immer 'hässlich', da in einer 'nur-Text'-Datei (ASCII, ANSI, UTF-8 usw.) keine Information über die Kodierung der Quelle enthalten ist.
Editoren und Textprogramme können i.d.R. automatisch die Quellkodierung erkennen und stellen die enthaltenen Zeichen, z.B. Umlaute, ausländische Zeichensätze, Sonderzeichen dann richtig dar.
REWE hat offensichtlich nicht diese Fähigkeit der automatischen Erkennung.
Die Aufzeichnung eines Word-Makros ist eine Sache von 2-3 Minuten. Man öffnet die Textdatei mit Word, startet die Makroaufzeichnung, führt alle Befehle zum Konvertieren aus, stoppt die Aufzeichnung, weist diesem Makro z.B. ein individuelles Symbol in der Symbolleiste zu und speichert das Makro in der normal.dotm.
Wenn die Quelldatei immer den gleichen Namen hätte, könnte man das Öffnen und Speichern der Datei auch noch mit in das Makro aufnehmen.
Beispiel-Makro:
Hinweis: .... es wurde nichts 'von Hand' sondern alles von Word während der Makroaufzeichnung 'geschrieben'
*****************************
Sub Suchen_Ersetzen_Umlaute()
'
' Suchen_Ersetzen_Umlaute Makro
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "ä"
.Replacement.Text = "ae"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "ö"
.Replacement.Text = "oe"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "ü"
.Replacement.Text = "ue"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "ß"
.Replacement.Text = "ss"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
*****************************
Das Makro kann dann zukünftig immer mit einem einzigen Klick ausgeführt werden und ist dann eine Sache von Sekundenbruchteilen
Diese Methode ist wenigstens eine Notlösung, falls Sie nicht aus Gründen der "Schönheit" auf die originalen Umlaute bestehen
VG
Michael Vogtsburger
Und aus Emanuelle wird Emanülle?!
Suchen und Ersetzen birgt halt viele Gefahren, daher ist die Umstellung des Codecs immer der bessere Weg.
VBS vs. VB(A):
Ich nehme für diese Art der Arbeiten gerne VBS, da das ganz schnell wartbar ist und ich eine IDE dafür gekauft habe. VBNet wäre auch möglich, ist aber für so kleine Dinge einfach zu sperrig. Und VB(A) kann ich nur mit Office nutzen, und manche haben halt kein MS Office.
Gruß A. Martens
nein , aus Emanuelle wird nicht Emanülle !
sondern :
ü zu ue
ö zu oe
ä zu ae
ß zu ss
natürlich ist das nur eine Notlösung, aber wie erkennen Sie in einer Text-Datei die Codepage ?
VBS ist toll aber auch verdammt sperrig.
Ein Anwender hat keine Chance, mal eben ein Visual Basic Script zu schreiben
Sorry, da haben Sie natürlich recht. Ich hatte mich da vertan. So herum geht es natürlich.
---
Ach jeder hat einmal klein angefangen. Ein guten Editor für ein paar Euro waren da schon sehr gut investiert. Ich habe mir damals VBSEdit zugelegt. Es gibt laufend Updates und erfüllt alle Zwecke.
Gruß A. Martens
Vielen Dank nochmals an Sie beide Herr Martens und Herr Vogtsburger!
ich habe es jetzt tatsächlich so gemacht, dass ich im Vorfeld z.B. ü durch ue ersetzt habe.
Insgesamt habe ich jetzt eine interne Lösung für Kreditkarten gefunden. Sogar inkl. Saldenständen. Die PDF-Dokumente zur KK-Abrechnung lasse ich automatisiert abholen über getmyinvoices und verknüpfe den PDF-Auszug dann noch mit der ersten Transaktion. Das alles ist nicht so komfortabel wie z.B. RZ-Bankinfo, weil ständig Ex-und Import-Vorgänge gemacht werden müssen, aber allemal besser als teuer händisch zu erfassen.
Lächerlich, dass die 29 EUR Software Money Money scheinbar problemlos für die wesentlichen Kreditkarten die Transaktionen elektronisch abrufen kann, die DATEV hier seit Jahren nicht weiterkommt. Starmoney kann es beispielsweise auch.
Den DATEV Zahlungsverkehr um den Abruf von KK-Transaktionen zu erweitern, wäre das Mindeste was man erwarten kann.... Mag sein, dass die Daten teilweise unstrukturiert kommen und Screen Scraping kein standardisiertes Verfahren ist.. Ich hatte bisher keine Probleme. Der manuelle Aufwand ist wirklich sehr hoch bei KK...
... ja, der derzeitige Flickenteppich bei den Schnittstellen in der Bankenwelt ist (und war schon immer) extrem ärgerlich.
Ich rechne auch nicht damit, dass die API-Schnittstellen wg. PSD2 jetzt standardisiert werden.
Es gibt ja keine Verpflichtung zu diesem Standard.
Die Konto- und Zahlungsinformationen müssen nur "irgendwie" zur Verfügung gestellt werden. Der Weg wird sicher sehr 'steinig'.
Übrigens, Starmoney wird inzwischen auch von der Deutschen Bank (Deutsche-Bank-Edition) angeboten.
Starmoney macht es dem Anwender tatsächlich sehr einfach, diverse Online-Banking-Zugänge sehr schnell einzurichten, nicht nur Girokonten.
VG
Michael Vogtsburger
Um PDF-Dateien in ein importierbares Format zu transformieren, kann ich nur von xPDF das Tool pdftotext empfehlen. Selbiges nutze ich schon seit zig Jahren um PDF für den DATEV-Import zu konvertieren und das vollautomatisch.
Gruß A. Martens
Hallo Herr Martens,
Orgien sind aufregend, aber wenn ich eine lange Liste von gleichbleibenden Tätigkeiten immer wiederholen muss, regt diese Klick-Orgie nur auf.
Dann ist z.B. die Möglichkeit, Excel-Makros aufzuzeichnen und später immer wieder mit einem einzigen Klick auszuführen, ein wahrer Segen und führt zu dramatischen Zeitersparnissen.
Beispiel:
Wenn ich immer wieder fremde CSV-Datei mit Buchungs-Informationen umformen muss, Spalten hinzufügen, Spalten entfernen, Sortieren, Spaltenreihenfolge ändern, Überschriften ändern oder hinzufügen, suchen & ersetzen, filtern etc. , um daraus einen Datev-Buchungsstapel zu machen, dann ist ein Excel-Makro sehr hilfreich.
Danke für den Tipp mit VBSEdit.
... klingt tatsächlich interessant.
Anhand der Scriptbeispiele kann man sich bestimmt ein paar Basiskenntnisse aneignen.
VG
Michael Vogtsburger
Hallo Frau Voigt,
haben Sie jetzt auch Ihre Pins und die Kork-Pinnwand digitalisiert ?
Viele Grüße
Michael Vogtsburger