CSV-Importmodul

Allan Anderson

Gründe für den Import von CSV-Dateien

Normalerweise ist der OFX-Import zu bevorzugen. Leider liefern nicht alle Banken die Daten in diesem Format. CSV-Dateien (durch Komma getrennte Werte) sind immer verfügbar, manchmal wird dieses Format Excel oder Tabellenkalkulation genannt. Außerdem dann dieses Format einfach durch Aufnehmen der Daten, die Sie importieren möchten, und manuelles Bearbeiten erstellt werden.

Die wichtigste Anwendung des Moduls ist der Import von Kontoauszügen einer Bank, es können aber auch einige Kontoauszüge von Investitionen importiert werden. Zusätzlich können Sie mit diesem Modul CSV-Daten in das QIF-Format umwandeln.

Installation des Moduls

diese Anwendung kann CSV-Dateien mit durch Komma getrennten Werten importieren. Diese Funktion ist jedoch nicht im Kernprogramm enthalten, der Quelltext dieses Importmoduls ist jetzt im Quelltextarchiv (Tarball) von diese Anwendung. Dieses Importmodul muss installiert werden, dann ist diese Aktion automatisch im Menü DateiImportieren verfügbar.

Das CSV-Importmodul ist neuer als das OFX-Modul, daher kann es einige Zeit dauern, bis Pakete von diese Anwendung für Ihre Distribution mit dem CSV-Importmodul oder mit dem CSV-Importmodul als eigenes Paket zu Verfügung stehen. Um zu überprüfen, ob Ihre Version von diese Anwendung dieses Modul bereits enthält, öffnen Sie die Seite Einstellungendiese Anwendung einrichten ...Erweiterungen. Fehlt hier das CSV-Importmodul, sollten Sie als erstes in der Bezugsquelle des diese Anwendung-Pakets nach diesem Modul suchen.

Haben Sie das Programm aus RPM-Paketen installiert, dann ist das CSV-Importmodul im RPM-Paket kmymoney-csv enthalten. Dieses Paket finden Sie im Archiv, aus dem Sie das Programm diese Anwendung installiert haben. Installieren Sie diese Anwendung aus den Quelltexten, dann gibt es keine zusätzlichen Anforderungen. Beim Kompilieren von diese Anwendung werden dann die Quelltexte des Moduls gefunden und das Modul erstellt.

Haben Sie Probleme beim Kompilieren von diese Anwendung, aber der Quelltext des Moduls ist vorhanden, bitten Sie auf der Entwicklerliste um Hilfe. Fügen Sie der E-Mail eine Kopie Ihrer Protokolldatei der Kompilierung als komprimierte GZip-Datei hinzu.

Import einer CSV-Datei

Um eine CSV-Datei zu importieren, wählen Sie aus dem Menü DateiImportierenCSV .... Ist dieser Menüeintrag bei Ihnen nicht vorhanden, ist das Modul nicht installiert. Im vorherigen Abschnitt finden Sie Hinweise zur Installation des CSV-Importmoduls.

Das Fenster für den CSV-Import besteht aus drei Bereichen.

  • Oben links finden Sie die drei Karteikarten Bank, Investition und Allgemein. Bank- und Investitionsdaten werden unterschiedlich verarbeitet, daher müssen Sie vor der Auswahl der Importdatei die Art der Daten angeben. Dazu klicken Sie entweder auf Bank oder Investition. Die gewählte Karteikarte wird durch das Symbol „*“ hinter dem Namen markiert. Wechseln Sie zu einer anderen Karteikarte, erscheint ein Warnhinweis, das Ihre aktuellen Einstellungen verworfen werden. Sie können das Wechseln dann abbrechen. Alle drei Karteikarten werden weiter unten ausführlich beschrieben.

  • im unteren Teil des Fensters wird der Inhalt der zu importierenden CSV-Datei angezeigt.

  • Oben rechts befinden sich einige Knöpfe, um den Importprozess zu steuern.

    Datei öffnen. Mit diesem Knopf wird die Datei für den Import ausgewählt. Wie bereits vorher erläutert, werden die Datei entweder als Bank- oder Investitionsdaten importiert. Dies wird durch ein angehängten Stern ("*") am Namen der Karteikarte angezeigt.

    Importieren. Mit diesem Knopf starten Sie tatsächlich den Import der Daten aus der Datei. Dabei werden die Einstellungen auf den Karteikarten Bank oder Investition und auf der Karteikarte Allgemein verwendet, die im nächsten Abschnitt erläutert werden.

    Als QIF-Datei speichern. Nach dem Beenden des Imports können Sie mit diesem Knopf die Daten der CSV-Datei im QIF-Format speichern, falls Sie die Daten in diesem Format benötigen.

    Beenden. Beendet das Modul, nachdem Ihre Einstellungen gespeichert wurden.

    Auswahl löschen. Löscht alle Spalten und Einstellungen, die ausgewählt oder geändert wurden.

Der Import von CSV-Dateien wird in mehreren Schritten durchgeführt. Nicht immer sind alle Schritte erforderlich. Die genaue Reihenfolge dieser Schritte hängt von den zu importierenden Daten ab.

  1. Wählen Sie aus. ob Sie Bank- oder Investitionsdaten importieren möchten

  2. Öffnen Sie die Datei mit den Daten.

  3. Passen Sie die Einstellungen für das Feldtrennzeichen und das Textbegrenzungszeichen an und geben Sie die erste und letzte Zeile für den Import an.

  4. Geben Sie an, welche Felder oder Spalten bestimmte Datentypen für den Importtyp enthalten.

  5. Passen Sie die Einstellungen für das Datumsformat und das Dezimalzeichen an.

  6. Bestätigen Sie den Import

Haben Sie eine der Karteikarten Bank oder Investition ausgewählt, klicken Sie auf Datei öffnen und wählen Sie die CSV-Datei für den Import. Ehe der Import tatsächlich beginnen kann, müssen Sie die Anordnung der Datei in der Datei angeben. Diese Anordnung ist bei Bank- und Investitionsdaten verschieden. Zuerst sollten Sie jedoch die gemeinsamen Einstellungen für beide Dateiarten anpassen.

Einstellungen für das CSV-Importmodul

Wählen Sie im Importdialog die Karteikarte Allgemein. Die Einstellungen hier sind für die richtige Interpretation der Daten erforderlich. Normalerweise bearbeiten Sie diese Einstellungen, nachdem Sie Bank- oder Investitionsdaten ausgewählt und die Datei geöffnet haben. Ist die Anzeige der Daten offensichtlich falsch, korrigieren Sie als erstes Feldtrennzeichen. Dann weisen Sie den Spalten bestimmte Felder zu. Diese Einstellungen werden gespeichert und können daher wiederverwendet werden, wenn die Einstellungen in der CSV-Datei unverändert sind. Einige Felder werden mit den Vorgaben der Regionaleinstellungen belegt.

Feldtrennzeichen. Auch wenn die Datei als "durch Komma getrennt" bezeichnet wird, können beliebige Zeichen wie Komma, Semikolon oder Tabulatoren als Feldtrennzeichen benutzt werden. Ist hier das richtige Zeichen eingestellt, werden Ihre Daten mit der korrekten Aufteilung in einzelne Felder angezeigt.

Textbegrenzungszeichen. Dies ist normalerweise ein einfaches oder doppeltes Anführungszeichen. Diese Einstellung ist wichtig, wenn Feldtrennzeichen in einer Spalte wie zum Beispiel in einem Notizfeld vorkommen.

Anmerkung

Werden die Felder richtig angezeigt, müssen Sie als nächstes die Anordnung der Spalten in der Importdatei auf der Karteikarte Bank oder Investition angeben. Sie können zwischen den Karteikarten Allgemein und einer der beiden Datenarten wechseln, ohne Ihre Einstellungen zu verlieren. Haben Sie auf den Karteikarten Bank oder Investition eine Spaltennummer falsch angegeben, korrigieren Sie diesen Fehler. Alternativ klicken Sie den Knopf Auswahl leeren, um alle Spalteneinstellungen zurückzusetzen.

Dezimalzeichen. Bei jedem Import sollte nach der Auswahl der Felder das richtige Dezimalzeichen eingestellt werden. Die löst eine Überprüfung der Spalten mit Geldbeträgen auf den Karteikarten Bank oder Investition aus. Passen Sie das Dezimalzeichen an das in der Importdatei benutzte Zeichen an, nicht an das Zeichen aus den Regionaleinstellungen. Verwenden Sie in den Regionaleinstellungen ein anderes Zeichen, wird das Dezimalzeichen in der Importdatei beim Einlesen passend geändert. Im unteren Bereich des Dialogfensters mit den Daten aus der Datei werden numerische Felder grün hervorgehoben angezeigt, wenn mit dem eingestellten Dezimalzeichen gültige Werte erzeugt werden, ansonsten werden die numerischen Felder in roter Farbe hervorgehoben. Die Hervorhebung zeigt auch die Einstellung der Start- und Endzeilen an.Enthalten einige der ausgewählten Zellen anscheinend nicht das ausgewählte Zeichen, wird ein Warnhinweis angezeigt.

Tausender-Unterteilung. Diese Einstellung kann nicht geändert werden, sie wird automatisch aus der Einstellung des Dezimalzeichens abgeleitet. Dieses Feld ist nur ein Hinweis für den Benutzer.

Datumsformat. Hier muss die Reihenfolge von Jahr, Monat und Tag passend zum Datumsformat in der Datei eingestellt werden. Stimmen diese Formate nicht überein, erhalten Sie beim Import einen Warnhinweis. Wenn die Einstellung zwar falsch ist, aber keine ungültigen Daten ergibt, erhalten Sie falsche Daten. Dies passiert zum Beispiel wenn alle Tagesdaten in der Datei kleiner als 12 sind. Dann können beim Import Tag und Monat vertauscht werden und dieser Fehler wird vom Importmodul nicht erkannt. Nach dem Import sind diese Fehler im Kontenbuch offensichtlich zu erkennen.

Erste Zeile. Stellen Sie hier den richtigen Wert ein, so dass beim Import die Vorspannzeilen in der Datei übersprungen werden.

Letzte Zeile. Das Importmodul nimmt automatisch die letzte Zeile der Datei als Voreinstellung an. Sie müssen diesen Wert nur dann anpassen, wenn es Fußzeilen in der Datei gibt, die beim Import ausgelassen werden sollen, da diese Fußzeilen wahrscheinlich zu Warnungen über Datenfehler führen.

Bankdaten importieren

Der Import von Bankdaten ist ziemlich unkompliziert, Sie müssen nur die passenden Spaltennummern auswählen. Dies erfolgt auf der Karteikarte Bank.

  • Enthält Ihre Datei nur eine einzelne Spalte mit dem Betrag, aktivieren Sie den Auswahlknopf Betragspalte und stellen die richtige Spaltennummer im Auswahlfeld Betrag ein.

  • Gibt es zwei Spalten mit Soll und Haben, dann drücken Sie den Auswahlknopf Soll- / Haben-Spalten. Stellen Sie dann die passenden Spaltennummern in den Auswahlfeldern Soll und Haben ein.

  • Möchten Sie Werte von mehreren Spalten in das Notizfeld einfügen, wählen Sie diese Spalten nacheinander aus. Als Hinweis wird ein Sternsymbol an den ausgewählten Spaten angezeigt.

  • Das Modul stellt fest, ob die gleiche Spalte für zwei verschiedene Felder ausgewählt wurde. Da die richtige Spalte nicht bestimmt werden kann, wird die Auswahl beider Felder gelöscht.

Haben Sie alle Einstellungen und angepasst die Spalten richtig ausgewählt, können Sie den Import beginnen. Dies wird im Folgenden beschrieben.

Import von Investitionsdaten

Um Investitionsdaten zu importieren, klicken Sie auf die Karteikarte Investitionen. Die Vorgehensweise ist ähnlich wie bei Bankdaten.

  • Wählen Sie eine Spalte, die das Datum der Buchung enthält.

  • Wählen Sie die Spalte, die den Preis enthält. Mit der Einstellung Preisfaktor passen Sie die Einheit der importierten Preise an die vorhandenen Preise an, wenn zum Beispiel $ und cent oder £ und pence usw. benutzt werden. Haben die Preise in Ihrer diese Anwendung-Datei die Einheit Dollar wie auch die Preise in der CSV-Datei, setzen Sie diesen Wert auf 1.0. Sind aber die Preise in der CSV-Datei in cent angegeben, stellen Sie 0,01 als Preisfaktor ein.

  • In der Spalte Typ/Aktion wird die Aktivität beschrieben: kaufen, verkaufen, wieder anlegen usw.

  • Wählen Sie die Spalte, die die Menge oder Anzahl der Aktien der Buchung enthält.

  • Enthält die Buchung Gebühren, wählen Sie eine Gebühren-Spalte aus und aktivieren Sie Gebühren in Prozent, wenn prozentuale Gebühren und nicht ein absoluter Betrag vorliegt. Es kann sein, dass Gebühren bereits im Einheitspreis enthalten sind. Wählen Sie in diesem Fall keine Spalte für Gebühren, obwohl jede angezeigte Gebühr beibehalten werden kann, wenn die Gebühren-Spalte als weitere Memo-Spalte ausgewählt wird.

  • Wie bei den Bankdaten kann das Feld Notiz benutzt werden, um fortlaufend mehr als eine Spalte zu wählen. Damit können mehrere Werte in das Notizfeld der importierten Buchung eingefügt werden.

  • Wählen Sie die Spalte, die den Betrag enthält.

  • Tragen Sie den Namen des Wertpapiers in das angegeben Feld ein. Achten Sie darauf, dass der Name genauso schrieben ist wie das vorhandene Wertpapier in diese Anwendung. Erscheint der Name des Wertpapiers in der importierten Datei, wählen Sie ihn durch Doppelklicken aus und kopieren und bearbeiten ihn. Achten Sie darauf in diese Anwendung keine abweichenden Schreibweisen oder Abkürzungen zu verwenden. Nach der Eingabe der Namen werden diese in die Ressourcendatei eingefügt, weitere Details zu dieser Datei finden Sie weiter unten. Benutzen Sie das Importmodul das nächste Mal, werden alle vorher eingegebenen Name im Auswahlfeld angezeigt. Sie können aber auch die Ressourcendatei direkt bearbeiten und eine Liste aller Wertpapiere eingeben, die in Ihren Importdateien vorkommen. Haben Sie einen Namen falsch eingegeben, drücken Sie den Knopf Wertpapier ausblenden. Damit wird der Name aus der im Modul verwendeten Liste entfernt. Das hat keinen Einfluß auf die Daten in diese Anwendung.

    Wegen der fehlenden Standardisierung des Formats kann die aktuelle Version des Moduls auf einmal nur Daten eines Wertpapiers in ein Konto importieren. Enthält Ihre Datei Daten mehrere Wertpapiere, importieren Sie die Daten in mehreren Schritten, indem Sie den Datenbereich mit passenden Werten für die erste und letzte Zeile auf ein Wertpapier beschränken.

Import fertigstellen

Haben Sie die Spalten für die Bank- oder Investitionsdaten richtig zugeordnet, klicken Sie auf Importieren. Dann wird ein Auswahlfeld angezeigt, in dem Sie das richtige Konto für den Import der Daten auswählen. Benötigen Sie die Daten auch im QIF-Format, drücken Sie den Knopf QIF-Datei speichern.

Betrifft bei Investitionsdaten eine Buchung ein anderes Konto, z. B. ein Scheck- oder Wertpapierkonto für eine ausgeschüttete Dividende oder ein Zahlung, erscheint ein Dialog, in dem der Kontenname für die Buchung eingegeben werden kann. Können in dem Investitionskonto Schecks ausgestellt werden, geben Sie den Namen eines vorhandenen Scheck- oder Wertpapierkontos ein, ebenso die Nummer der Spalte mit dem Zahler/Zahlungsempfänger. Fehler bei der Eingabe des Kontennamens werden übergangen, aber nicht erkannt. Diese Buchungen werden wegen fehlender Zuweisung einer Kategorie als fehlerhaft markiert. Ist der einzugebende Kontenname sehr lang, geben Sie nur einige Zeichen ein. Der Import wird fortgesetzt. aber die Buchung wird als fehlerhaft markiert und das richtige Buchungskonto muss noch ausgewählt werden.

Findet das Modul beim Import einer Buchung keinen gültigen Buchungstyp, wird die betreffende Buchung angezeigt und Sie können einen passenden Typ abhängig von der Kombination von Menge, Preis und Betrag als Ersatz auswählen. Bei jeder Buchung überprüft das Modul, ob der Inhalt der Spalte zu dem Aktivitätstyp passt. Wenn zum Beispiel eine Menge ohne Preis oder Betrag vorkommt, wird angenommen, das bei der Buchung nur die Anzahl der Aktien geändert wird. Kommt nur ein Betrag ohne Preis und Menge vor, wird das als Dividendenzahlung eingestuft.

Enthalten Ihre Investitionsbuchungen Aktivitätstypen, die nicht erkannt werden, fügen Sie sie in den entsprechenden Abschnitt der Ressourcendatei ein. Weitere Informationen zu dieser Datei finden Sie im folgenden Abschnitt. Der Abschnitt [InvestmentSettings] in der Ressourcendatei enthält zum Beispiel das Feld „BuyParam“ mit Einträgen für „Purchase“, „Buy“, „New Inv“ und „Switch In“. Benötigen Sie einen weiteren Aktivitätstyp, fügen Sie ihn in die richtige Liste ein und starten das Importmodul neu. Es gibt ähnliche Einträge in verschiedenen Feldern, daher wird manchmal der falsche Aktivitätstyp ausgewählt. Das Importmodul überprüft die Liste in folgender Reihenfolge: „Shrsin“, „DivX“, „Reinvdiv“, „Brokerage“, „Buy“, „Sell“, „Remove“. Eine Änderung dieser Reihenfolge in der Liste funktioniert nicht, da die Einträge in der Ressourcendatei in alphabetischer Reihenfolge sortiert werden. Benötigen Sie den störenden Parameter nicht, löschen Sie ihn aus der Datei. Ist das nicht möglich, müssen Sie die Datei vor dem Import bearbeiten.

Achtung

Beachten Sie, dass die im unteren Bereich des Importdialogs zwar bearbeitet werden können, diese Änderungen aber nicht benutzt werden. Dieser Bereich ist nur für die Anzeige und nicht für das Bearbeiten von Daten vorgesehen. Die Daten in der Importdatei werden vom Modul nicht geändert. Tatsächlich werden die Daten aus der Datei und nicht aus der Anzeige importiert.

Einrichtung des CSV-Importmoduls

Ein bekannter Nachteil von QIF-Daten ist das ziemlich unbestimmte Format. Mit CSV-Daten gibt es das noch größere Problem, dass überhaupt kein allgemein anerkannter Standard existiert. Besonders bei Investitionsdaten gibt es einen weiten Spielraum für die Spezifizierung der verschiedenen Arten von Aktivitäten in den Daten. Das Importmodul verwendet eine Liste von Aktivitäten, die in der Ressourcendatei „csvimporterrc“ gespeichert werden. Der Speicherort dieser Datei ist je nach Ihrer Distribution normalerweise in „~/.kde4/share/config/“ oder „~/.kde/share/config/“. In dieser Ressourcendatei können Sie neue Aktivitätstypen einfügen. Gibt es diese Datei nicht, wird Sie bei der ersten Ausführung des Importmoduls in einer Standardversion mit den am häufigsten benötigten Werten erstellt.

Im Ordner „kmymoney/contrib/csvimporter/“ im Quelltextarchiv finden Sie einige Beispiele von CSV-Dateien, die vielleicht hilfreich sind. Im Beispiel einer CSV-Datei für Investitionen gibt es die Aktivität „ReInvestorContract Buy : ReInvested Units“. Bei der Überprüfung wird zuerst „ReInv“ in „ReInvestorContract Buy“ gefunden, daher wird diese Buchung als „Reinvdiv“eingestuft, obwohl auch „Buy“ in dem Begriff vorkommt. Ein weiteres Beispiel ist der Aktivitätstyp Reinvest bei einer Buchung ohne Preis oder Betrag, aber nur mit einer Menge. Dies muss als „Add Shares“ oder „Shrsin“ eingestuft werden.

Als dieses Modul entwickelt wurde, gab es nur wenige Beispiele von Investitions-Formaten. Daher wird Ihr Format möglicherweise nicht richtig verarbeitet. Haben Sie ein Beispiel für eine solche Datei, senden Sie sie bitte ohne persönliche Daten an die Benutzerliste oder die Entwicklerliste . Dann können die Entwickler diese Datei untersuchen und das Modul anpassen.