locked
Export als csv oder qif-Datei RRS feed

  • Frage

  • Ich möchte gerne Konten mit in qif- oder csv-Dateien exportieren und in einem anderen Finanzprogramm importieren.
    Bei qif-Dateien sagt das neue Programm, dass die Daten im Format JJJMMTT und JJJTTMM vorliegen und verweigert die Übernahme.
    Der Versuch, Konten im cvs-Format zu exportieren scheitert daran, dass der Export nur im qif-Format angeboten wird:
    Die Sequenz "Datei->Exportieren->Normal " bringt das gleiche Ergebnis wie die Sequenz "Datei->Exportieren->QIF-Kompatibel".
    MS-Money läuft unter Windows10 Home.
    Vielen Dank
    Dienstag, 27. April 2021 22:23

Alle Antworten

  • Joachim,

    hast Du eine Dokumentation über das 'erwartete' QIF-Format Deines anderen Finanzprogramms ? Exportiere mit dem anderen Finanzprogramm mal Konten und vergleiche das Format mit dem Money-Export.

    Beispiel Money Export - Normal:

    !Type:Bank
    D24/3'21
    T0.00
    CX
    POpening Balance
    L[PB Depot xxxxx (Verr)]
    ^
    D24/3'21
    CX
    Mnnnnnn/deIBAN Auf Anlagekonto BIC PBNKDEFFXXX IBAN
    T100.00
    Pxxxxx, xxxxx {Anlagekonto}
    L[Postgiro xxxxx]
    ^
    D6/4'21
    CX
    MUmbuchung BIC PBNKDEFF IBAN iban Verfügbar Ab dd.mm.jjjj
    T1,000.00
    Pxxxxx, xxxxx {Anlagekonto}
    L[Postgiro xxxxx]
    ^

    Beispiel Money Export QIF:

    !Type:Bank
    D24/3'21
    T0.00
    CX
    POpening Balance
    L[PB Depot xxxxx]
    ^
    D24/3'21
    CX
    Mnnnn /deIBAN A
    T100.00
    Pxxxxx, xxxxx {Anlagekonto}
    L[Postgiro xxxxx]
    ^
    D6/4'21
    CX
    MUmbuchung BIC PBNKDEFF IBAN DE0
    T1,000.00
    Pxxxxx, xxxxx {Anlagekonto}
    L[Postgiro xxxxx]
    ^

    Mit ein 'bisschen Programmieren' kann man vielleicht die Formate entsprechend umwandeln. Erstmal bei einigen Buchungen mit EDIT probieren und schauen, ob zumindestens die notwendigen Informationen alle vorhanden sind. Z.B. nur die Datum-Strings zu verändern, sollte einfach machbar sein.

    Ich habe vor 2 Wochen zum ersten Mal ein Powershell-Script geschrieben bzw. angepasst. War gar nicht so schwierig ;-)

    Historische Kurse nach Money übertragen mit QuoteCompiler (google.com)

    MfG

    Volker.



    • Bearbeitet Volker Halle Mittwoch, 28. April 2021 15:40 Beispiele
    Mittwoch, 28. April 2021 12:59
  • Hallo Volker,

    vielen Dank für Deine schnelle Antwort.
    Mit dem Programmieren habe ich nicht so viele Erfahrung.
    Hat sich bei MS Money hinsichtlich des cvs-Export etwas geändert?
    Ich meine vor drei Jahren noch die verschiedenen Konten im cvs-Format exportiert zu haben.

    MfG

    Joachim

    Freitag, 30. April 2021 15:19
  • Joachim,

    an MS Money hat sich seit 22 Jahren nichts geändert ;-)

    Die einzigen Export-Formate aus Money sind m.E. .QIF und .TXF (DATEV). Ein Export in .CSV Format gibt es meines Wissens aus MS Money nicht.

    In HBCIFM99 gibt es unter -> Extras -> DATEV-Export einen DATEV-Export im .csv Format.

    Wenn Du aus Deinem 'anderen Finanzprogramm' ein paar Buchungen exportierst (im .QIF Format) und das Format mit dem .QIF Export von Money vergleichst und nur die Datumszeilen unterschiedlich sind, poste doch mal ein paar Beispiele hier - natürlich kannst Du Buchungstexte und Beträge vorher unkenntlich machen.

    Vielleicht wäre es sehr einfach ein kleines Konvertierungs-Programm mit PowerShell zu schreiben...

    MfG

    Volker.


    • Bearbeitet Volker Halle Freitag, 30. April 2021 16:16 DATEV-Export
    Freitag, 30. April 2021 16:11
  • Hallo Volker, 

    Das Problem ist wohl nur die Form des Datums.
    Money gibt es in der Form  DD/M`YY aus, das Zielprogramm erwartet es in der Form DD.MM.YYYY
    Kann man Money dazu bewegen, es in der "normalen" Form auszugeben?

    MfG

    Joachim

    Samstag, 1. Mai 2021 06:33
  • Joachim,

    hast Du mal ausprobiert, das Datum mit dem Editor zu ändern ? Konnte die .QIF Datei dann erfolgreich importiert werden ?

    Nein, MS Money kann man nicht ändern.

    Aber ich kann versuchen, Dir ein PowerShell Skript zu schreiben, mit dem die Konvertierung automatisch erfolgen kann. Interesse ? Sollten nicht viel mehr asl 1-2 Dutzend Zeilen sein. Und das Skript ist lesbarer Text...

    MfG

    Volker.

    Samstag, 1. Mai 2021 07:07
  • Volker,

    wenn ich das Datumsformat in der .QIF-Datei händisch anpasse, kann ich das Ergebnis im neuen Programm übernehmen.
    Da ich ein wenig Zeit habe, würde ich mal versuchen mich in die PowerShell einzulesen und die Konvertierung selber versuchen.
    Gibt es eine kurze Einweisung in die PowerShell, die Du empfehlen kannst?

    Vielen Dank.

    MfG

    Joachim

    Samstag, 1. Mai 2021 10:46
  • Joachim,

    das Problem beim MS Money .QIF Export besteht darin, daß Datums-Angaben aus dem 21. Jahrhundert als Ddd/mm'yy exportiert werden, Datums-Angaben aus dem 20. Jahrhundert werden exportiert als Ddd/mm/yy

    Am einfachsten ist es also, im Editor mit Bearbeiten -> Ersetzen die Jahreszahlen zu ändern:

    '2  ändern in  /202

    '1  ändern in  /201

    '0  ändern in  /200

    Das sollte problemlos funktionieren, wenn in den Buchungsausgaben keine Strings "'2", "'1" oder "'0" existieren. Für einen einmaligen Export ist das sicher am einfachsten.

    Ansonsten konvertiert das folgende PowerShell-Skript (sind doch 46 Zeilen geworden - mit Kommentaren) die Datumsangaben in einer MS Money .QIF Export-Datei in das korrekte .QIF Datums-Format fürs 20. bzw. 21. Jahrhundert:

    Convert_QIF.PS1:

    # Convert_QIF.ps1 - MS Money .QIF Export: Datum konvertieren
    #
    $path = "D:\Volker\Documents\Money\Beta-Test\"
    $input = $path + "msmoney-normal.qif"
    $output = $path + "msmoney-converted.qif"
    $records = Get-Content -Path $input
    $recnum=0
    #
    foreach ($temp in $records)
    {
    if ($temp[0] -eq "D")
    {
    # Datum in MS Money Export .QIF: Ddd/mm'yy konvertieren in Ddd/mm/20yy
    # Datum aus dem letzten Jahrhundert: Ddd/mm/yy konvertieren in Ddd/mm/19yy
    $dd = $temp.split("/")[0]
    $dd = $dd.split("D")[1]
    #
    $mm = $temp.split("/")[1]
    if ( $mm.length -gt 2 )
    {
    $yy = $mm.split("'")[1]
    $mm = $mm.split("'")[0]
    $yy = "20" + $yy
    }
    else
    {
    $yy = $temp.split("/")[2]
    $yy = "19" + $yy
    }
    $datum = "D" + $dd + "/" + $mm + "/" + $yy
    "Datum: " + $temp + " konvertiert nach: " + $datum
    $datum | Out-File -FilePath $output -append -encoding ascii
    }
    else
    {
    if ($recnum -eq 0)
    {
    $temp | Out-File -FilePath $output -encoding ascii
    $recnum = 1
    }
    else
    {
    $temp | Out-File -FilePath $output -append -encoding ascii
    }
    }
    }

    Datei abspeichern als Convert_QIF.PS1

    PowerShell aufrufen und die Datei öffnen

    Im Befehlsfenster (unten) ggfls. eingeben > set-executionpolicy RemoteSigned

    In Zeile 3 den 'Path' anpassen (gelesen wird von msmoney-normal.qif, geschrieben wird nach msmoney-converted.qif, beides im Directory '$path')

    Skript ausführen mit F5 oder dem 'grünen Pfeil' in der oberen Symbol-Leiste

    Die konvertierten Datumszeilen werden auch am Bildschirm (unteres Fenster) angezeigt:

    PS C:\Users\Volker> D:\Volker\Documents\Money\Beta-Test\Convert_QIF.ps1
    Datum: D24/3'21 konvertiert nach: D24/3/2021
    Datum: D24/3/99 konvertiert nach: D24/3/1999
    Datum: D6/4'21 konvertiert nach: D6/4/2021

    Feedback erbeten...

    Viel Erfolg,

    Volker.





    • Bearbeitet Volker Halle Samstag, 1. Mai 2021 15:54 execution-policy
    Samstag, 1. Mai 2021 10:46
  • Volker,

    hat wunderbar funktioniert.

    Vielen Dank für Deine Unterstützung. 
    Bis ich mich in die PowerShell eingearbeitet habe, wird noch einige Zeit vergehen.

    Einen schönen Feiertag noch.

    MfG 

    Joachim

    Samstag, 1. Mai 2021 13:58