id = "aqbanking"
name = "AqBanking"
homepage = "https://www.aqbanking.de/"
description = "A generic online banking and financial data exchange library."
executables = ["aqbanking-cli", "aqhbci-tool4"]
[dotfiles]
paths = []
secret = ["~/.aqbanking/"]
[commands]
format = 1
label = "AqBanking"
description = "Request account data (transactions, balance) from a bank into a context file with aqbanking-cli. Transfers, import/export and HBCI user setup (aqhbci-tool4) are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.source]]
id = "man"
kind = "manual"
url = "https://manpages.debian.org/unstable/aqbanking-tools/aqhbci-tool4.1.en.html"
revision = "6.9.2-1"
evidence = """
-D PARAM, --cfgdir=PARAM
Specify the configuration folder
-n, --noninteractive
Select non-interactive mode. This automatically returns a
confirmative answer to any non-critical message.
"""
[[commands.field]]
id = "cfgdir"
label = "Configuration folder"
type = "path"
option = ["--cfgdir", "-D"]
path = { kind = "directory", role = "input" }
sources = ["man"]
[[commands.field]]
id = "noninteractive"
label = "Non-interactive"
type = "boolean"
option = ["--noninteractive", "-n"]
sources = ["man"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["cfgdir", "noninteractive"]
[[commands.subcommand]]
path = ["request"]
label = "Request account data"
[[commands.subcommand.source]]
id = "src"
kind = "help"
url = "https://github.com/aqbanking/aqbanking/blob/master/src/tools/aqbanking-cli/request.c"
revision = "master 2026-10"
evidence = """
Option table in request.c (long option names, parsed as --NAME; short options -b, -a, -c):
-b, --bank Specify the bank code
-a, --account Specify the account number
--iban Specify the iban of your account
-c, --ctxfile Specify the file to store the context in
--transactions Request transactions
--balance Request balance
--fromdate Specify the first date for which transactions are wanted (YYYYMMDD)
--todate Specify the last date for which transactions are wanted (YYYYMMDD)
"""
[[commands.subcommand.field]]
id = "bank"
label = "Bank code"
type = "string"
option = ["--bank", "-b"]
sources = ["src"]
[[commands.subcommand.field]]
id = "account"
label = "Account number"
type = "string"
option = ["--account", "-a"]
sources = ["src"]
[[commands.subcommand.field]]
id = "iban"
label = "IBAN"
type = "string"
option = ["--iban"]
sources = ["src"]
[[commands.subcommand.field]]
id = "ctxfile"
label = "Context file"
description = "File the received data is stored in."
type = "path"
option = ["--ctxfile", "-c"]
path = { kind = "file", role = "output", must_exist = false }
effect = "overwrite"
sources = ["src"]
[[commands.subcommand.field]]
id = "transactions"
label = "Request transactions"
type = "boolean"
option = ["--transactions"]
sources = ["src"]
[[commands.subcommand.field]]
id = "balance"
label = "Request balance"
type = "boolean"
option = ["--balance"]
sources = ["src"]
[[commands.subcommand.field]]
id = "fromdate"
label = "From date"
description = "YYYYMMDD"
type = "string"
option = ["--fromdate"]
sources = ["src"]
[[commands.subcommand.field]]
id = "todate"
label = "To date"
description = "YYYYMMDD"
type = "string"
option = ["--todate"]
sources = ["src"]
[[commands.subcommand.task]]
id = "transactions"
label = "Fetch transactions and balance"
fields = ["bank", "account", "ctxfile", "transactions", "balance", "fromdate", "todate"]
required = ["ctxfile"]
set = { transactions = [true], balance = [true] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["bank", "account", "iban", "ctxfile", "transactions", "balance"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["fromdate", "todate"]