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
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 dont have to specify it here.
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).
the institutes id (German "Bankleitzahl")
country code, defaults to 280 which stands for Germany
account number (German "Kontonummer")
type of the medium. AqMoney works with keyfiles and chipcards, so possible values are file and card.
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.
make AqMoney work in readonly mode which does not allow transfer of money or other commands which affect your accounts balance.
specify the configuration file to be used. This defaults to $HOME/.aqmoney/aqmoney.conf.
shows a short help page showing the possible options.
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.
set the IP (Internet Protocol address of the credit institutes server. 3-dot notation (e.g. 18.104.22.168) and names are supported.
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.
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).
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.
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)
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)
This is used with the command dump to specify the output format. Available are txt and html.
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.
This is used by the command report to specify the year to write reports for (e.g. 2003).
This is used by the command report to specify the month to write reports for (1-12).
If this is given only positive values are chosen by the transaction manager.
The transaction manager is used by the dump and texport modules.
If this is given only negative values are chosen by the transaction manager.
If this option is given then AqMoney will use TABs instead of a semicolon as
a field delimiter when executing the texport command.
If this option is given then data fields will not be surrounded by quotation
marks when executing the texport command.
If this option is given then AqMoney ill not produce header fields when
executing the texport command.
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 wont 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 accounts 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.
Lets assume I (Martin Preuss) got a brand new HBCI account and want to manage it using AqMoney. I have the following data:
Create the user within aqmoneys database
Institutes server address="127.0.0.1"
Your credit institute uses RDH mode (non-chipcard mode). You need to perform the following commands:
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 dont 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 youll get the answer which tells you if your application succeeded. Lets assume it did ;-)
Create the servers iniletter. Your institute did send the servers public sign or crypt keys 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 servers keys (maybe theyve changed meanwhile).
Please do not create a new user after youve 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 lets read our balance.
aqmoney \ --command="balance" \ --institute="99" \ --account="11"
Or, read all available transaction statements
aqmoney \ --command="turnover" \ --institute="99" \ --account="11"
Now lets show some information about our account (balance, transaction statements)
aqmoney \ --command="dump" \ --transactions \ --balance
Martin Preuss <firstname.lastname@example.org>
|Martin Preuss ||AQMONEY (1)||0.6.3|