CSV-Import: Standard Profile bereitstellen

 
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 21
Dabei seit: 01 / 2019
Betreff:

CSV-Import: Standard Profile bereitstellen

 · 
Gepostet: 26.01.2019 - 12:09 Uhr  ·  #1
Ich finde es super dass es möglich ist eigene CSV-Import-Profile zu erstellen.

Gerne würde ich mein CSV-Import Profil für "WISO Mein Geld 365 Professional" auch anderen Nutzern leicht verfügbar machen. Wäre es möglich, dass Hibiscus diese (und zukünftig weitere) als "build-in" Profil mit an Board hat? Ich denke das würde die Hemmschwelle (zum Umsteigen auf Hibiscus) weiter senken.

Vermutlich dominieren weniger als 10 Anwendungen mehr als 80% des deutschsprachigen HomeBanking Marktes - mein Ziel ist es für diese Profile in Hibiscus aufzunehmen und zu pflegen.

Code

<object class="de.willuhn.jameica.hbci.io.csv.Profile" id="Profile0">
  <void property="columns">
   <void method="add">
    <object class="de.willuhn.jameica.hbci.io.csv.Column">
     <void property="column">
      <int>0</int>
     </void>
     <void property="name">
      <string>Datum</string>
     </void>
     <void property="property">
      <string>datum</string>
     </void>
     <void property="serializer">
      <object class="de.willuhn.jameica.hbci.io.ser.DateSerializer" id="DateSerializer0"/>
     </void>
    </object>
   </void>
   <void method="add">
    <object class="de.willuhn.jameica.hbci.io.csv.Column">
     <void property="column">
      <int>1</int>
     </void>
     <void property="name">
      <string>Gegenkonto</string>
     </void>
     <void property="property">
      <string>gegenkontoNummer</string>
     </void>
     <void property="serializer">
      <object class="de.willuhn.jameica.hbci.io.ser.DefaultSerializer" id="DefaultSerializer0"/>
     </void>
    </object>
   </void>
   <void method="add">
    <object class="de.willuhn.jameica.hbci.io.csv.Column">
     <void property="column">
      <int>2</int>
     </void>
     <void property="name">
      <string>Gegenkonto BLZ</string>
     </void>
     <void property="property">
      <string>gegenkontoBLZ</string>
     </void>
     <void property="serializer">
      <object idref="DefaultSerializer0"/>
     </void>
    </object>
   </void>
   <void method="add">
    <object class="de.willuhn.jameica.hbci.io.csv.Column">
     <void property="column">
      <int>3</int>
     </void>
     <void property="name">
      <string>Gegenkonto Inhaber</string>
     </void>
     <void property="property">
      <string>gegenkontoName</string>
     </void>
     <void property="serializer">
      <object idref="DefaultSerializer0"/>
     </void>
    </object>
   </void>
   <void method="add">
    <object class="de.willuhn.jameica.hbci.io.csv.Column">
     <void property="column">
      <int>4</int>
     </void>
     <void property="name">
      <string>Betrag</string>
     </void>
     <void property="property">
      <string>betrag</string>
     </void>
     <void property="serializer">
      <object class="de.willuhn.jameica.hbci.io.ser.ValueSerializer" id="ValueSerializer0"/>
     </void>
    </object>
   </void>
   <void method="add">
    <object class="de.willuhn.jameica.hbci.io.csv.Column">
     <void property="column">
      <int>5</int>
     </void>
     <void property="name">
      <string>Valuta</string>
     </void>
     <void property="property">
      <string>valuta</string>
     </void>
     <void property="serializer">
      <object idref="DateSerializer0"/>
     </void>
    </object>
   </void>
   <void method="add">
    <object class="de.willuhn.jameica.hbci.io.csv.Column">
     <void property="column">
      <int>6</int>
     </void>
     <void property="name">
      <string>Verwendungszweck</string>
     </void>
     <void property="property">
      <string>zweck</string>
     </void>
     <void property="serializer">
      <object idref="DefaultSerializer0"/>
     </void>
    </object>
   </void>
   <void method="add">
    <object class="de.willuhn.jameica.hbci.io.csv.Column">
     <void property="column">
      <int>7</int>
     </void>
     <void property="name">
      <string>Saldo</string>
     </void>
     <void property="property">
      <string>saldo</string>
     </void>
     <void property="serializer">
      <object idref="ValueSerializer0"/>
     </void>
    </object>
   </void>
   <void method="add">
    <object class="de.willuhn.jameica.hbci.io.csv.Column">
     <void property="column">
      <int>8</int>
     </void>
     <void property="name">
      <string>Kundenreferenz</string>
     </void>
     <void property="property">
      <string>customerRef</string>
     </void>
     <void property="serializer">
      <object idref="DefaultSerializer0"/>
     </void>
    </object>
   </void>
   <void method="add">
    <object class="de.willuhn.jameica.hbci.io.csv.Column">
     <void property="column">
      <int>9</int>
     </void>
     <void property="name">
      <string>Kategorie</string>
     </void>
     <void property="property">
      <string>umsatzTyp</string>
     </void>
     <void property="serializer">
      <object class="de.willuhn.jameica.hbci.io.ser.UmsatzTypSerializer"/>
     </void>
    </object>
   </void>
   <void method="add">
    <object class="de.willuhn.jameica.hbci.io.csv.Column">
     <void property="column">
      <int>10</int>
     </void>
     <void property="name">
      <string>Notiz</string>
     </void>
     <void property="property">
      <string>kommentar</string>
     </void>
     <void property="serializer">
      <object idref="DefaultSerializer0"/>
     </void>
    </object>
   </void>
   <void method="add">
    <object class="de.willuhn.jameica.hbci.io.csv.Column">
     <void property="column">
      <int>11</int>
     </void>
     <void property="name">
      <string>Art der Buchung</string>
     </void>
     <void property="property">
      <string>art</string>
     </void>
     <void property="serializer">
      <object idref="DefaultSerializer0"/>
     </void>
    </object>
   </void>
  </void>
  <void property="fileEncoding">
   <string>UTF-8</string>
  </void>
  <void property="name">
   <string>WISO Mein Geld 365 Professional (Umsatz-Import)</string>
  </void>
  <void property="skipLines">
   <int>1</int>
  </void>
 </object>


Dieses ist derzeit in meiner persönlichem Profildatei gespeichert:
C:\Users\Christian\.jameica\hibiscus\csv\de.willuhn.jameica.hbci.io.csv.UmsatzFormat.xml (unterhalb des "java" Elements)

Aktuell gibt es dafür noch kein Verzeichnis im github repo, wogegen ich das committen kann, sobald es einen entsprechend Ordner (Feature) gibt, wirst Du Pull Requests von mir bekommen. :-)

BTW:
Grundsätzlich finde ich es robuster, wenn diese XML sich nicht auf Hibiscus-Defaults verlässt, sondern ALLE Einstellungen explizit speichert - dann könnte man die Defaults später in Hibiscus auch mal verändern, ohne das bestehende Profile brechen.

EDIT: Ich habe den Beitrag noch mal bearbeitet. Jetzt sind alle exportierbaren/importierbaren Spalten enthalten. Die Schritt-für-Schritt Anleitung ist entsprechend aktualisiert und jetzt eine separate Seite (wurde einfach zu Umfangreich). https://www.willuhn.de/wiki/do…-mein-geld
Ich habe noch 2 Felder gefunden, die aktuell vom Importer nicht gefüllt werden, wäre schön, wenn diese in die Importfunktion aufgenommen werden: "GV-Code", "End-to-End ID". Auf den "GV-Code" kann man vielleicht verzichten (zumindest für WISO Mein Geld nicht relevant), aber die "End-to-End ID" liegt in WISO Mein Geld vor und hilft den Datensatz genau zu identifizieren (falls es z.B. mal was mit der Bank oder dem Zahlungsempfänger zu prüfen gibt). Leider fehlen in Hibiscus die Felder "Mandatsreferenz" und "Gläubiger ID", welche bei SEPA-Abbuchungen interessant sind und meines Wissens auch von der Bank bereitgestellt werden (FinTS).

Mit o.g. "Build-In" Profil könnte ich die Anleitung ca. um ein Drittel kürzen, und das wiederum wäre sehr anwenderfreundlich.
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10064
Dabei seit: 03 / 2005
Betreff:

Re: CSV-Import: Standard Profile bereitstellen

 · 
Gepostet: 27.01.2019 - 11:45 Uhr  ·  #2
Die End2End-ID kann ich in den Import mit aufnehmen. Bei Glaeubiger-ID und Mandatsreferenz geht das derzeit leider nicht, weil hierfuer keine Felder in der Umsatztabelle vorhanden sind.

Zu der Sache mit dem Ausliefern von weiteren Import-Profilen fuer konkrete andere Bankingprogramme: Hierzu muesste der Import/Export nochmal umfangreicher umgebaut werden. Denn die Benutzer-Profile werden ja im Benutzerordner gespeichert. "Ab Werk" kann man die dort nicht mit ausliefern, da diese Ordner ja erst bei der Benutzung des Programms erstellt werden. Man muesste diese Profile also irgendwie im Programmordner mit liefern. Und dann muesste man noch ueberlegen, wie man damit umgeht, wenn der User diese "Werksprofile" aendern will. Und dann muesste das halt noch implementiert werden.
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 21
Dabei seit: 01 / 2019
Betreff:

Re: CSV-Import: Standard Profile bereitstellen

 · 
Gepostet: 27.01.2019 - 14:43 Uhr  ·  #3
Für den Anfang wäre es für mich ok, wenn Sie im Programm-Ordner mitinstalliert / geupdated werden und erstmal nicht "scharf geschaltet" sind.
Ein Hinweis im CSV-Importer auf die Werksprofile (Pfad) wäre auch nicht schlecht.

Später könnte man ein "Werksprofil(e) laden" ergänzen (im CSV-Importer), der diese Werksprofile dann in den Benutzer-Ordner übernimmt - dort wären sie dann veränderbar.
Man könnte überlegen ob man noch ein "read-only" in o.g. XML einbaut und dann ein "Profil kopieren" anbietet bzw. ein Speichern unter selben Namen verbietet (das gibt es so ja schon fast; zumindest den letzen Punkt).
Bei einem Update müssten bereits importierte Werksprofile ggf. automatisch im Benutzerordner aktualisiert werden.
Aber, wie gesagt, nicht im ersten Schritt. Lieber mehrere kleine Improvements als lange auf ein Big Bang Release zu warten...
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10064
Dabei seit: 03 / 2005
Betreff:

Re: CSV-Import: Standard Profile bereitstellen

 · 
Gepostet: 27.01.2019 - 14:58 Uhr  ·  #4
Also wenn du willst, kannst du dich auch selbst am Code betun und es mir dann per Pull-Request in Github einstellen.
Gewählte Zitate für Mehrfachzitierung:   0