De/Baustelle

From GnuCash
Revision as of 03:22, 17 April 2011 by Karen (talk | contribs) (Beispiel A: mit verschiedenen Ergebnissen)
Jump to: navigation, search

Online Banking einrichten, Vorbereitung

  • Dort steht (unter anderem), dass nachdem die Hashwerte verglichen wurden, der ini-Brief für die Bank gedruckt werden soll.
  • Wenn ich das richtig in Erinnerung habe, mußt du zunächst den ini-Brief ausdrucken, zur Bank schicken und kannst dann, wenn das Konto bankseitig freigeschaltet ist, synchronisieren. Immer mal probieren oder telefonisch nachfragen. Bei mir hatte es - mit Schneckenpost - so 5 Tage gedauert.
  • Wie gesagt so ganz genau weiß ich es nicht mehr, wie das genau bei mir war, aber eine nochmalige Online-Ubermittlung eines Schlüssels an die Bank, war glaube ich nicht notwendig.
  • ... könnte es sein, dass Sie bei der Kunden-ID die Kontonummer hinterlegt haben?
    • Bei der Einrichtung wurde fälschlicher Weise in dem Feld Kunden ID statt der Benutzerkennung des Kontos (die auch gleich der Kunden ID war) die Kontonummer eingetragen.


how to install hbci with debian

  • add .... to your source-list
  • install gnucash 2.0 (with hbci-flag)
    • - how to check?
  • install aqbanking-tools
    • - how to check?
  • open gnucash / werkzeuge / hbci-einrichtung
  • talk to your bank
    • + request hbci with hbci-ini-brief
    • + about wich accounts are connected and when
    • + what about customer-id
    • + what is your correct userid
      • + different uid are used for different medias
    • + which cards to be used readonly RSA or writable DDV
    • - get bank-key
      • - manual request using aqbanking
  • - create you own key with your own
  • - print your own key
    • - aqbanking .....
  • - sign printout and send it to your bank
    • - print with aqbanking -......
  • - check every day and talk to your bank-responsible


Ini-Brief für die Bank erzeugen:

Ini-Briefn

Datum          : 15.08.2006
Zeit           : 22:35:53
Bank           : <blz>
Schlüsselnummer1
Schlüsselversion    :1

Öffentlicher Schlüssel für die elektronische Signatur

  Exponent

  XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
  XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
  XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
  XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
  XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
  XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX

  Modulus

  XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
  XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
  XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
  XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
  XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
  XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX

  Hash

  XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX


HBCI Version ändern

Einige Banken unterstützen mehrere Versionen der HBCI-Spezifikation (z.B. 2.01, 2.1 oder 2.2), aber manche HBCI-Funktionen sind dann nicht in allen dieser Versionen verfügbar. OpenHBCI benutzt als Voreinstellung die niedrigste (d.h. älteste) der unterstützten Versionen. Wenn sich herausstellen sollte, daß dann einige Funktionen (z.B. Abruf des Kontostandes) nicht wie gewünscht funktionieren, muß man auf eine höhere (d.h. neuere) HBCI-Version wechseln.


Mit AqMoney

Das Tool AqMoney hat dazu ein eigenes Kommando: --command=chgversion. Dazu gibt man die zu verwendende HBCI Protokoll-Version mit dem Schalter --hversion=XYZ an. Als Werte für XYZ sind die folgenden zulaessig: Protokoll-Version Wert

 2.01  201
 2.10  210
 2.20  220
 und so weiter. Die Bank, bei der man die Protokoll-Version ändern möchte, gibt man wie üblich mit --institute=<meine_BLZ> an. Ein vollständiges Kommando sähe also beispielsweise so aus:
aqmoney --command=chgversion --hversion=210 --institute=<meine_BLZ>

AqMoney verbindet sich daraufhin mit der Bank und aktualisiert die nötigen Daten.

Mit GnuCash

In GnuCash ist dafür ein Knopf im HBCI Einrichtungsassistent vorgesehen.


HBCI Version manuell ändern

Falls die eben genannten Möglichkeiten fehlschlagen sollten, oder wenn OpenHBCI über ein anderes Tool verwendet wird, muß der Versionswechsel manuell vorgenommen werden. Dazu muß der entsprechende Abschnitt [bank/<Nummer der Bank>] in der Konfigurationsdatei von OpenHBCI geändert werden. Zum Beispiel könnte die erste Bank (Nummer 0) und die erste Benutzerkennung (Nummer 0) betroffen sein. In der Konfigurationsdatei ~/.openhbci würden unter andereren auch Zeilen wie die folgenden stehen:

[bank/0]
hbciversion="201"
[bank/0/params]
version="5"
country="280"
code="<Bankleitzahl>"
name="<Name_der_Bank>"
hbciversions="210"
hbciversions="201"
[bank/0/user/0]
version="4"

Man erkennt in der Zeile hbciversion="201", daß zur Zeit die Version 2.01 benutzt wird. Man erkennt außerdem weiter unten in den Zeilen hbciversions="210" und ="201", daß diese Bank insgesamt die Versionen 2.1 und 2.01 unterstützt. Nun kann der Eintrag hbciversion wie gewünscht geändert werden. Zusätzlich muß aber noch die Zahl in der Zeile version="..." in den Abschnitten [bank/0/params] und sicherheitshalber auch [bank/0/user/0] auf Null gesetzt werden. Dies bedeutet, daß die Bankdaten, die OpenHBCI vorliegen, dann nicht mehr als aktuell betrachtet werden und deshalb automatisch neu angefordert werden. (Denn die vorliegenden Daten galten nur für die alte HBCI Version.) Die geänderten Zeilen würden dann so aussehen:

[bank/0]
hbciversion="210"
[bank/0/params]
version="0"
[bank/0/user/0]
version="0"

Nach dem Abspeichern muß die verwendete HBCI-Software die Bankdaten neu anfordern. Bei aqmoney geschieht das mit dem Befehl "sync". Bei GnuCash geschieht das durch Anklicken des Knopfes "Kontoliste abrufen" im HBCI Einrichtungsassistent.


Benutzerkennung ungültig (9210:7,3:Inhaltlich ungültig)

Einige Anwender haben beim Einrichten eines neuen HBCI-Zugangs folgende Rückmeldung von der Bank beobachtet: HIRMS(Rückmeldung zu Segmenten)  :3:2:998+9210:7,3:Inhaltlich ungültig.'

Die Zahlenkombination 7,3 (vor den Worten Inhaltlich ungültig) deutet darauf hin, daß die Benutzerkennung fehlerhaft war. Anscheinend akzeptiert der Server diese einfach nicht. Wahrscheinlich existiert eine falsche Benutzerkennung auf dem verwendetem Medium (Chipkarte oder Schlüsseldiskette), oder die Bank hat sie noch nicht freigeschaltet. (Z.B. könnte die Empfangsbestätigung für die PIN vergessen worden sein.) Abhilfe: Benutzerkennung nochmal kontrollieren und eventuell korrigieren. Oder bei der Bank nachfragen, ob die betreffende Benutzerkennung überhaupt freigeschaltet ist.

Online Konto einrichten mit einer Schlüsseldatei

Vorbereitungen:

Aber: In vielen Fällen kann man dann trotzdem OpenHBCI verwenden, nämlich im Schlüsseldatei-Modus. Für die Bank macht es nämlich keinen Unterschied, ob die Schlüssel in einer Datei oder auf einer Karte gespeichert sind. Diese Möglichkeit entfällt allerdings, wenn die Bank die Benutzerschlüssel bereits auf der Karte erzeugt hat, denn an diese Schlüssel kann man von aussen nicht mehr gelangen. In diesem Fall ist Homebanking mit OpenHBCI leider wirklich nicht machbar.


  • Konto ist HBCI fähig und wurde von der Bank dafür freigegeben?
  • Den Pfad für die Schlüsseldatei festlegen
  • Eine Pin für die Schlüsseldatei festlegen


Das Plugin-System von OpenHBCI

Seit Version 0.9.10 bietet OpenHBCI ein Plugin-System für Sicherheitsmedien an. Dabei wird die Unterstützung für Sicherheitsmedien bei Bedarf jeweils als Modul nachgeladen. Standardmäßig liefert OpenHBCI ein Plugin für die bisherigen Schlüsseldateien mit. Für die Benutzer von Schlüsseldateien ändert sich also überhaupt nichts. Auf der Download-Seite werden aber auch weitere Plugins angeboten, beispielsweise für DDV Chipkarten (openhbci-plugin-ddvcard). Wenn man also solche Chipkarten verwenden möchte, muss man einfach das entsprechende Plugin-Paket downloaden und installieren. Benutzer von Chipkarten, die bisher die Chipkarten-Unterstützung gleich in OpenHBCI mit dazukompiliert hatten, müssen also jetzt zusätzlich das Paket openhbci-plugin-ddvcard herunterladen und installieren. Das erlaubt uns, später auch Sicherheitsmedien zu unterstützen, für die wir keinen Sourcecode veröffentlichen dürfen. Außerdem kann OpenHBCI damit grundsätzlich neue Medien unterstützen, ohne daß es selbst neu kompiliert werden muß. 2.4.1. Plugins und alte GCC-Systeme Durch Fehler im GCC-Compiler mit Versionen kleiner als 3.0 können solche Systeme keine Plugins nachladen. Dabei handelt es sich insbesondere um Debian Woody, SuSE 8.0 und älter sowie Redhat vor 8.0. Um auf diesen Systemen aber dennoch mit der aktuellen Version von OpenHBCI arbeiten zu koennen, muß man folgendermaßen vorgehen:

OpenHBCI tarball downloaden und entpacken
gewünschtes Plugin downloaden und in das Unterverzeichnis ext_plugins des OpenHBCI-Quellcode-Pakets entpacken

./configure aufrufen. Dieses Skript findet dann alle Plugins, die in das Verzeichnis kopiert wurden. Die gefundenen Plugins werden "statisch" zu OpenHBCI hinzugelinkt, so daß diese Plugins nicht zur Laufzeit nachgeladen werden müssen, aber trotzdem für alle Programme zur Verfügung stehen.


Online Konto einrichten mit einem Kartenleser

Vorbereitungen:

  • Welche Version der einzelnen Pakete werden benötigt?
    • Kartenleser-Packet Version ?
    • libchipcard version?
    • aqbanking version?
    • gnucash version?

Paket des Kartenlesers installieren

  • Card-Reader am wird vom Kernel erkannt?
  • Test mit dmesg
  • Test mit einer EC-Karte:
    • geldkarte einlegen (z.B. EC)
    • cjgeldkarte

So sieht es aus wenn der Kartenleser ansprechbar ist. Im folgenden Beispiel noch ohne Karte:

user@rechner:~$ cjgeldkarte -- show
No card.


Und so sieht es aus mit einer Karte:

user@rechner:~$ cjgeldkarte -- show
Error selecting GeldKarte application.


Paket libchipcard installieren

  • libchipcard testen

Wird meine (HBCI) Chipkarte unterstützt?

Aqbanking unterstützt derzeit nur sogenannte DDV-Karten. Die im Umlauf befindlichen RSA-Karten werden derzeit noch nicht unterstützt. Mit dem folgenden Kommando kann man feststellen, ob die Karte unterstützt wird (Kartenleser und libchipcart ist installiert):

hbcicard type

Bei einer DDV-0-Karte wird in etwa folgendes ausgegeben:

Please insert your HBCI card into any reader
Card is inserted, working.
Card type is: DDV-0 card

Bei einer DDV-1-Karte ist die Ausgabe:

Please insert your HBCI card into any reader
Card is inserted, working.
Card type is: DDV-1 card

Beide Kartentypen werden unterstützt. Kommt aber die folgende Ausgabe:

Please insert your HBCI card into any reader
Card is inserted, working.
Card type is: RSA card

kann die Karte leider nicht mit OpenHBCI verwendet werden. Genauer: Es kann zwar Kontakt zur Karte aufgenommen werden (wie man anhand der Ausgabe von hbcicard sieht), aber die RSA-Karte kann weiterhin nicht für die HBCI-Verschlüsselung verwendet werden.


User-ID in der Chipkarte setzen

Manche Banken liefern Chipkarten aus, bei denen noch keine Benutzerkennung (User ID) gesetzt wurde. Dies führt dann zu der Fehlermeldung "could not select context (owner2)", so daß z.B. bei GnuCash auf der Konsole die Meldung erscheint: gnc_hbci_api_execute: Error at executeQueue: could not select context (owner2) In diesem Fall muß nun der Karteninhalt kontrolliert werden. Folgendes Kommando muß auf der Kommandozeile eingegeben werden:

hbcicard dump

Dies könnte sowas wie die folgenden Zeilen ergeben:

Data is:
 Country       : 280
 Institute Name: <Name_der_Bank>
 Institute Code: <Bankleitzahl>
 Service Type  : TCP
 IP Address    : <Adresse_des_Servers>
 IP Port       :
 User ID       :

Die Zeile mit der User ID: zeigt durch den leeren Eintrag, daß auf der Chipkarte wirklich noch keine Benutzerkennung (User ID) gesetzt wurde. Deshalb muß nun die Benutzerkennung, die einem von der Bank mitgeteilt wurde, dort manuell reingeschrieben werden. Dies geschieht durch einen der folgenden Aufrufe: Wenn man ein Kartenterminal mit eigener PIN-Tastatur hat:

hbcicard set -i 1 -u <meine_benutzerkennung> -k

Wenn man ein Kartenterminal ohne PIN-Tastatur hat:

hbcicard set -i 1 -u <meine_benutzerkennung> -p <meine_pin>

aqhbci-tool3

Mit diesem tool kann verschieden Infos bekommen was bereits eingerichtet ist.

listaccounts

meinpc$ aqhbci-tool3 listaccounts
Account 0: Bank: <8stellige blz> Account Number: <konto-nummer>
Account 1: Bank: <8stellige blz> Account Number: <konto-nummer>
Account 2: Bank: <8stellige blz> Account Number: <konto-nummer>
Account 3: Bank: <8stellige blz> Account Number: <konto-nummer>
Account 4: Bank: <8stellige blz> Account Number: <konto-nummer>
Account 5: Bank: <8stellige blz> Account Number: <konto-nummer>
Account 6: Bank: <8stellige blz> Account Number: <konto-nummer>
Account 7: Bank: <8stellige blz> Account Number: <konto-nummer>
Account 8: Bank: <8stellige blz> Account Number: <konto-nummer>
/<pre>


==== listusers ====

<pre>
meinpc$ aqhbci-tool3 listusers
User 0: Bank: DE/<blz> User Id: <zugangs-id> Customer Id: <customer-id>
User 1: Bank: DE/<blz> User Id: <zugangs-id> Customer Id: <customer-id>
User 2: Bank: de/<blz> User Id: <zugangs-id> Customer Id: <customer-id>

Installation

F:how to show dependencies for gnucash?

A:


F:Der preis beim Aktienkauf wird nicht in der Rechnung berücksichtigt.

A: Das ist kein Fehler? Erst wenn ich mit dem Preiseditor den Wert festlege.


F:Preis eingeben beim Kauf und Verkauf am gleichen Tag

A:

F:Wie verrechne ich die Transaktionsgebühren mit dem Gesamtpreis

   Beispiel:
   kauf  10 stück für 20 EUR / Gebühren 5 EUR,
   dann müßte der Wert 10x20 - 5 = 195  Euro sein.
   Verbucht aber werden 205 auf dem Konto.

A:Das ist in GnuCash noch nicht berücksichtigt.


meine offene Punkte

  1. neuester Version von libchipcard mit welcher version von GnuCash?
  2. welche GnuCash Version mit welcher aqbanking version?
  3. wie findet man die GnuCash Version? ( geht vermutlich noch leicht)
  4. wie findet man die (bereits installierte) libchipcard version?
  5. wie findet man die (bereits installierte) aqbanking version?
  6. gibt es Abhängigkeiten des CardReader(Treiber) und GnuCash oder nur mit aqbanking?
  7. welche Treiber für den cyberJack PCSC/IRD/CT-API
  8. wie könnte ein Test des CardReader mit einer ec-karte ausfallen?
  9. Beschreibung des commands: cyberjack
  10. Beschreibung des commands: aqbanking-tools2
  11. Pfade/Programme/logs/libs wo ? jeweils für GnuCash/aqbanking/CardReader/libchipcard
  12. was ist PC/SC
  13. Funktioszeichnung Beziehung zw GC/aqb/Bank/libchipcard/CardReader/PC/Schlüssel
  14. was macht hbcixml3? Beschreibung
  15. wann .banking und wann .aqbanking?
  16. Distros: wo liegen die libs? / die configs? / user-settings?

offene Punkte

a) neuester Version von libchipcard mit welcher version von GnuCash? b) welche GnuCash Version mit welcher aqbanking version? c) wie findet man die GnuCash Version? ( geht vermutlich noch leicht) d) wie findet man die (bereits installierte) libchipcard version? e) wie findet man die (bereits installierte) aqbanking version? f) gibt es Abhängigkeiten des CardReader(Treiber) und GnuCash oder nur mit aqbanking? g) wie könnte ein Test des CardReader mit einer ec-karte ausfallen? h) Beschreibung des commands: cyberjack i) Beschreibung des commands: aqbanking-tools2 j) Pfade/Programme/logs/libs wo ? jeweils für GnuCash/aqbanking/CardReader/libchipcard k) was ist PC/SC

links

This document is a user guide for GnuCash. It describes many of the features
available in GnuCash,1 hopefully in a way that will help people to get more
value from the application.
    You can download the latest version of this document from:
      http://www.object-refinery.com/gnucash/index.html
    You are permitted to copy and/or distribute this document free of charge,
but you may not modify its content in any way.
1.3    Updates
I plan to continue updating and enhancing this guide, as time permits. If you
would like to accelerate this process, please consider sponsoring the development
of the guide by “buying” your copy of the guide. The price is US$24.95, and
you can pay by credit card via the Kagi online store:
      http://order.kagi.com/?JBN
    Purchase is appreciated, but not required.

Terminierte und wiederkehrende Buchungen

Warnung zu diesem Kapitel der Baustelle

Falls man einmal einen Geschäftsvorgang vormerken will, der erst in der Zukunft eintreten wird, verwendet man Aktionen->Terminierte Buchungen->Terminierte Buchungen Editor.

Dieser kann einem sehr viel Zeit ersparen, wenn man alle regelmäßig wiederkehrenden Vorgänge wie Daueraufträge, Zinszahlungstermine etc. erfaßt. Er kann nicht nur mit konstanten Beträgen, sondern auch mit Formeln umgehen.

Mit welchen Formeln genau? Wo kann man die nachschlagen?

Dieses Werkzeug hat auch seine eigene Seite in den GnuCash-Einstellungen. Dadurch ist es möglich, sich beim Programmstart an bestimmte Vorgänge erinnern zu lassen.

Leider ist es (noch) nicht möglich, damit Rechnungen zu erstellen.

(Siehe De/Bedienung#Terminierte_und_wiederkehrende_Buchungen)


Relevante Seiten in der Entwickler-Doku:


In der englischen FAQ steht hierzu:

Q: How do I use variables and formula in scheduled transactions?

A: In lieu of formal documentation, see the following:

Formeln

Numerische Eingabefelder in GnuCash werden algebraisch ausgewertet. Man kann nahezu beliebige Ausdrücke aus +-*/() wie auf einem Taschenrechner eingeben.

Zum Beispiel <Netto>*1,19 oder <Brutto>/1,19.

(Siehe De/Bedienung#Für_den_Einsatz_in_einer_Firma)

Funktionen

  • pmt(Zinssatz pro Zeitraum [rate] : Gesamtanzahl der Zeiträume [nper] : Barwert zukünftiger Zahlungen [pv] : Endwert nach der letzten Zahlung mit 0 als Standartwert [fv] : Fälligkeit der Zahlungen mit 0 als Standardwert [type]) = Zahlung pro Zeitraum (Auszahlung für eine Annuität)
  • ipmt(Zinssatz pro Zeitraum [rate] : Zahlungszeitraum [per] : Gesamtanzahl der Zeiträume [nper] : Barwert zukünftiger Zahlungen [pv] : Endwert nach der letzten Zahlung mit 0 als Standartwert [fv] : Fälligkeit der Zahlungen mit 0 als Standardwert [type]) = Anteil an Zinsen in dem Zeitraum
  • ppmt(Zinssatz pro Zeitraum [rate] : Zahlungszeitraum [per] : Gesamtanzahl der Zeiträume [nper] : Barwert zukünftiger Zahlungen [pv] : Endwert nach der letzten Zahlung mit 0 als Standartwert [fv] : Fälligkeit der Zahlungen mit 0 als Standardwert [type]) = Anteil an Kapital (z.B. Tilgung) in dem Zeitraum

Negative Werte werden positiv an Soll und Haben angepasst.


Die Rückzahlung eines Darlehens mit festem Zinssatz könnte dann folgendermaßen aussehen:

  • Funktion PMT(I,N,P): Monatsrate mit pmt( Jahreszins / 12 : Dauer des Darlehens in Monaten : Darlehensgesamtbetrag : 0 : 0 )
  • Funktion IPMT(I, n, N, P): Zinsanteil pro Monat mit ipmt( Jahreszins / 12 : i : Dauer des Darlehens in Monaten : Darlehensgesamtbetrag : 0 : 0 )
  • Funktion PPMT(I, n, N, P): Tilgung im Monat mit ppmt( Jahreszins / 12 : i : Dauer des Darlehens in Monaten : Darlehensgesamtbetrag : 0 : 0 )

Es gilt PMT(I,N,P) = IPMT(I, n, N, P) + PPMT(I, n, N, P) für 0 <= n < N


Beispiel A

aus der Perspektive des Darlehennehmers; Darlehen in Höhe von 10.000; Zinssatz 4%, Laufzeit 72 Monate

Buchungsvorlage / Terminierte Buchungen
AktionBuchungstextKontoJHaben-FormelSoll-Formel
DatumNr.BeschreibungGesamt Gutschrift bzw. SollGesamt Belastung bzw. Haben
TerminiertMonatsrate
Gesamte MonatsrateAktiva:Konto für Darlehennpmt(0,04000 / 12,00 : 72,00 : 10000,00 : 0 : 0)
Anteil ZinsenZinsaufwendungennipmt(0,04000 / 12,00 : i : 72,00 : 10000,00 : 0 : 0)
Anteil TilgungPassiva: Sonstige Verbindlichkeiten : Darlehennppmt(0,04000 / 12,00 : i : 72,00 : 10000,00 : 0 : 0)
Ergebnis A1 (Bildschirm Kontrolle beim Darlehensassistenten
MonatMonatsrateAnteil ZinsenAnteil Tilgung
1156,4532,92123,53
2156,4532,51123,94
3156,4532,10124,35
...
Ergebnis A2 (Realisierte Buchungen vom Darlehensassistenten
MonatMonatsrateAnteil ZinsenAnteil Tilgung
1156,4531,68124,77
2156,4531,27125,18
3156,4530,85125,60
...
Ergebnis A3 (Manuell eingetragene terminierte Buchung neuerdings)
MonatMonatsrateAnteil ZinsenAnteil Tilgung
1156,4533,74122,71
2156,4533,74122,71
3156,4533,74122,71
...

Beispiel B

Ergebnis
MonatMonatsrateAnteil ZinsenAnteil Tilgung
1156,4533,33123,12
2156,4532,92123,53
3156,4532,51123,94
4156,4532,51124,35
...