aqmoney

Langue: en

Version: 110385 (mandriva - 01/05/08)

Section: 1 (Commandes utilisateur)

NAME

AqMoney - A HBCI homebanking program

SYNTAX

aqmoney <COMMAND> [<options>]

DESCRIPTION

This program allows creating and administrating an HBCI account.
It can be used to get your account's balance, read transaction statements, transfer money and so on. It is also able to export the statements to formats that may be read by other programs.

OPTIONS

--user=USER
your userid at the credit institute. Your bank has assigned the userid to you. Usually this is a combination of letters and digits which has nothing to do with your account numbers. This one is used with key management.
--customer=CUSTOMER

your customer id at the credit institute. Your bank usually assigned the customer id to you. If your bank did not, the HBCI standard says your user id automatically becomes also your customer id. So in this case you don't have to specify it here.

--role=ROLE
the role of the customer given by --customer. In most cases you would choose your name here (or your role, like "manager" or something like that).
--institute=INSTITUTEID
the institute's id (German "Bankleitzahl")
--country=COUNTRY
country code, defaults to 280 which stands for Germany
--account=ACCOUNT
account number (German "Kontonummer")
--mediumtype
type of the medium. AqMoney works with keyfiles and chipcards, so possible values are file and card.
--medium
name of the medium. For a keyfile medium this is the path to the key file to be written. This is only used when creating a user. For chipcard media this is the card number. If you do not know this number simply omit this option.
--readonly
make AqMoney work in readonly mode which does not allow transfer of money or other commands which affect your accounts balance.
--configfile=FILE
specify the configuration file to be used. This defaults to $HOME/.aqmoney/aqmoney.conf.
--help
shows a short help page showing the possible options.
--medium=MEDIUM
name of the medium. For RDH mode (which stores the keys in a file) this is the path to the key file to be written. This is only used when creating a user. In DDV mode (which is the chipcard mode) this is the card number. If you do not know this number simply omit this option.
--server=SERVER
set the IP (Internet Protocol address of the credit institutes server. 3-dot notation (e.g. 1.2.3.4) and names are supported.
--tfile=FILE
set the path and name of the file containing transactions or debit notes to be performed.
--outfile=FILE Name of the destination file. This is
used with the commands iniletter and texport.
--outformat=FORMAT
Name of the format to export. This is used with the command texport. Currently the formats qhacc (this is a QT accounting program) and txt are supported. The text format can be used to import the data into office programs (like Star Office, with which this feature is tested).
--syncmode=MODE
Used with the command sync. Allowed modes are sign (to synchronize the signature id, rarely used, mostly after a crash with data loss and even then rarely used) and sysid. The latter is used in RDH mode to retrieve the system id the institute assigned to you.
--fromdate=DATE
This is used with the command turnover and dump to specify the interesting time range. Format is YYYYMMDD (year, month, day, no space or other characters between)
--todate=DATE
This is used with the commands turnover and dump to specify the interesting time range. Format is YYYYMMDD (year, month, day, no space or other characters between)
--output=FORMAT
This is used with the command dump to specify the output format. Available are txt and html.
--rflags=FLAGS
This is used by the command report to specify the type of report. It contains some characters in any order. Please see description of command report for details.
--year=YEAR
This is used by the command report to specify the year to write reports for (e.g. 2003).
--month=MONTH
This is used by the command report to specify the month to write reports for (1-12).
--posR
If this is given only positive values are chosen by the transaction manager. The transaction manager is used by the dump and texport modules.
--negR
If this is given only negative values are chosen by the transaction manager.
--tabR
If this option is given then AqMoney will use TABs instead of a semicolon as a field delimiter when executing the texport command.
--noquoteR
If this option is given then data fields will not be surrounded by quotation marks when executing the texport command.
--noheadersR
If this option is given then AqMoney ill not produce header fields when executing the texport command.

COMMANDS

createuser
Creates a user. A user is a person which has one or more accounts at a credit institute.
getkeys
Get the public keys of the credit institute. This is needed in RDH mode (that is the non-chipcard mode) only
sendkeys
Send your own public keys to the credit institute. This is needed in RDH mode (that is the non-chipcard mode) only
iniletter
Show your own so called iniletter. This is one page that shows some data about the program you are using, your user id and some data about your public keys. This is needed in RDH mode only to authorize yourself to the credit institute.
sync
Get our system id. This id is assigned to every RDH based system after the account is enabled by the bank. Without this you won't be able to process any of the following commands. This needs the option --syncmode to specify the mode (defaults to "sysid", which does exactly what is described here. Other modes are not really implemented and possibly never will).
acclist
Retrieves the list of accounts from your credit institute. This needs the options --country (defaults to match all), --institute and --user.
accadd
Manually adds an account to AqMoney. This is not needed in most cases. However, some institutes don not support the acclist command, so in those rare cases you need this command here.
dump
Dumps your accounts which match the combination of --country, --institute and --account to stdout. If --balance is given, then the account's balances are shown. With the option --transactions given the transaction statements are shown, too.
report
Dumps reports about your accounts which match the combination of --country, --institute and --account to stdout. You can use --outformat to select the format of the output. Currently supported are txt html and csv. In html mode some link anchors are created automatically for each account reported: "#kontoX" is at the beginning of the report for account X (starting with 1). "#kontoXmonthY" is at the beginning of the report for month Y (1-12) of account X. "#kontoXyear" can be found at the beginning of the year report of account X. In csv mode data will be written in a format that is recognized by most spread sheet programs (like StarCalc, KSpread etc). When selecting "CSV" (or "comma separated data" in KSpread) you should specify that the delimiting character is a semicolon instead of a comma (since values use commas they cannot be used to separate fields). This command uses another option to specify the type of report to be created (--rflags). This option is a string containing some characters in any order: "y" allows creating the year report, "m" allows creating a month report and "d" allows creating daily reports. If day reports are allowed, then "n" makes this command show daily reports for every day (even for those days which show no transactions). If outformat is csv then a "c" makes AqMoney show the currency in reports, too. This is needed because at least StarOffice 5.2 has problems importing EUR values (why ever). So if your spread sheet program has problems importing values you should omit the "c". When creating csv reports you should only use one of "y", "m" and "d", because combining these reports in CSV mode rarely makes sense. This options defaults to "ymd".
turnover
Retrieves the latest transaction statements for the accounts which match the --country, --institute and--account options. If these are omitted then all accounts match. This command accepts the options --fromdate and --todate.
transfer
Transfers money from one of your accounts to a foreign account. This needs the option --tfile to specify a file which contains the transactions to perform. If --tfile is omitted the data is expected on stdin. If the option --taken==FILE is given then that file is used to store a list of transactions which have been accepted by the bank. If the option --nottaken==FILE is given then that file is used to store a list of transactions which have been rejected by the bank.
texport
Exports transaction statements into a file specified by --outfile. The format can be given by the option --outformat. Currently only qhacc (output for QHacc, a QT program to manage accounts) and txt are supported.
resetseq
Resets the signature sequence counter in the keyfile of user --user. Please note that this only works with keyfiles and with no other medium type.
disablekeys
Disables the keys of user --user. Please note that this only works with keyfiles and with no other medium type.
changekeys
Creates new keys for user --user, sends them to the server and activates them.
modifymedium
Modify some settings of a keyfile medium. This command needs --user, --institute and --country to select the medium of a user. You can give the following options to change specified settings: --newuser (to modify the user id), --newinstitute (to modify the institute code), --newcustomer (to modify the customer id), --newserver (to modify the server address), --newpin (to change the pin of the medium), --resetsystemid (to reset the system id) and --newseq (to set the signature sequence counter).
chgversion
Change the HBCI protocol version to be used with a bank. You can specify the bank by giving the option --institute, the version is specified using --hversion. The version is a decimal number which can be determined using the following scheme: 201=2.01, 210=2.10, 220=2.20.
So to specify version 2.20 you will need to give --hversion=220.
pluginlist
Lists all installed OpenHBCI medium plugins.

FILES

~/.openhbci
~/aqmoney2.conf

ENVIRONMENT VARIABLES

None used.

EXAMPLES

Lets assume I (Martin Preuss) got a brand new HBCI account and want to manage it using AqMoney. I have the following data:

Institute-ID="99"
User-ID="User123"
Customer-ID="Cust123"
Account-Number="11"
Institutes server address="127.0.0.1"
Your credit institute uses RDH mode (non-chipcard mode). You need to perform the following commands:

Create the user within aqmoney's database

 
aqmoney \ --command="createuser" \ --institute=99 \ --user=User123 \ --customer=Cust123 \ --medium=/home/martin/.aqmoney/99-User123.medium \ --mediumtype=file \ --server="127.0.0.1"

 

You can also create a user from an existing medium. In this case the command would be shorter:

 
aqmoney \ --command="createuser" \ --mediumtype=file \ --medium="PATH_TO_MEDIUM" \ --server="127.0.0.1" \ --import

 

or, when using a card (RSA card or DDV card):

 
aqmoney \ --command="createuser" \ --mediumtype=card \ --import

 

Since most cards provide the information about the server you don't have to give it here (but of course you can, that will override the cards server setting). You can determine that card type by using the LibChipCard tool hbcicard (hbcicard type).

Get the servers public keys.

 
aqmoney \ --command="getkeys" \ --institute="99" \ --user="User123"

 

Send your own public keys to the server.

 
aqmoney \ --command="sendkeys" \ --institute="99" \ --user="USer123"

 

Create your iniletter to be send to the credit institute by snail mail.

 
aqmoney \ --command="iniletter" \ --institute="99" \ --user="User123" \ --key=user \ --outfile="iniletter.txt"

 

Now you must print and subscibe your iniletter and send it to the credit institute. After some days you'll get the answer which tells you if your application succeeded. Let's assume it did ;-)

Create the server's iniletter. Your institute did send the server's public sign or crypt key's hash value which can be used to check our copy of the servers public keys.

 
aqmoney \ --command="iniletter" \ --institute="99" \ --user="User123" \ --key=institute

 

Now you need to compare the output to the letter your institute has send to you.
If there are discrepancies do not continue !
Please send a kind of bug report to the author of AqMoney or try again to get the server's keys (maybe they've changed meanwhile).
Please do not create a new user after you've send your keys to the server!

In RDH mode, we need the customer system ID which is assigned by the institute to your home banking application (AqMoney in this case ;-):

 
aqmoney \ --command=sync \ --syncmode=sysid \ --institute="99" \ --user="User123"

 

Now we want to have the list of accounts we are allowed to manage.

 
aqmoney \ --command="acclist" \ --institute="99" \ --customer="Cust123"

 

If the previous step fails (not all institutes support this), we have to manually add the account:

 
aqmoney \ --command=accadd \ --institute="99" \ --account=="11" \ --user="User123"

 

Ok, now let's read our balance.

 
aqmoney \ --command="balance" \ --institute="99" \ --account="11"

 

Or, read all available transaction statements

 
aqmoney \ --command="turnover" \ --institute="99" \ --account="11"

 

Now let's show some information about our account (balance, transaction statements)

 
aqmoney \ --command="dump" \ --transactions \ --balance

 

AUTHORS

Martin Preuss <martin@aquamaniac.de>

SEE ALSO