Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
an extensible tool to keep personal accounts in order and to study past spending habits
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Type||Name||Latest commit message||Commit time|
|Failed to load latest commit information.|
bal(1) General Commands Manual bal(1) bal - for keeping accounts in order and studying past spending habits SYNOPSIS bal [-f FILE] [-l CODE] [-s] [-n] [COMMAND] DESCRIPTION bal keeps track of personal accounts and spending. Text entry at the bal console follows standard line editor conventions (it has Emacs-like key bindings, uses the GNU readline library). To cancel a command, type: Control-C. bal's main interactive commands are: aa add account at add transaction to current account et [n] edit transaction, optionally setting how many of the latest transaction numbers to list (any transaction can be chosen whether it is listed or not). lt list most recent transactions in current account (change number to list by modifying the variable bal/number-to-quick-list). ltn list most recent transactions in current account, prompt for number to list ea rename account da delete account dt delete transaction la list accounts and current balances lae list expense accounts and current balances lai list income accounts and current balances laa list asset accounts and current balances lal list liability accounts and current balances bt total accounts by type (income, expense, asset, liability) cex total across expenditure accounts cin total across income accounts cas total across asset accounts cli total across liability accounts cwo assets - liabilities cba current balance re list transactions in current account matching a regular expres- sion sa set current account ca display current account w write accounts to file r read saved accounts from file t transfer from one account to another dtr delete a transfer ltbd list transactions in current account by day, prompting for the first and last day to show v print version sd set "current" day, changing it allows you to see how account values have changed over time cd print current day out in YYYY-MM-DD format baod prints account balance over a sequence of days exod prints total expenses as of a sequence of days inod prints total income as of a sequence of days liod prints total liabilities as of a sequence of days wood prints net worth as of a sequence of days ttbd prints total of all transactions between a sequence of days ttre prints total of all transactions between a sequence of days matching a regular expression pl pay a loan, allows you to split a payment between a principal account (liability account) and an interest account (an expense account) fn print out current default save file csp Change the stock price of current account cal [opt] print out calendar, can pass a string to cal which acts like specifying options for the program cal at the command line p X print X, a Scheme expression q quit, unless -s specified, prompt to save before quit The command prompt is a full Guile Scheme interpreter except that you do not need to enclose the outer-most expression in parenthesis. Any valid Scheme code can be executed at the prompt. For example, typing display "hello" will print the text "hello". bal loads the Scheme functions in the /etc/bal.scm file at startup. These functions imple- ment the commands above. Of particular interest for developing your own functions in Scheme is the function bal/call which can be used to make Scheme functions inter- active. The saved file is simply a tar archive of CSV files that record trans- actions and characteristics of accounts. These files are human-read- able. The prompt is whatever is returned by the evaluating the Scheme expres- sion "(bal/prompt)" so redefining this function will customize your prompt. OPTIONS -f FILE load accounts from FILE -l CODE execute Scheme code in file CODE -s do not prompt to save on exit, will not save on exit -n do not load ~/.balrc.scm COMMAND execute COMMAND as if it was entered at bal's prompt and then exit. This enables you to, for example, type "bal t" to enter a new transaction (supposing your main bal file is loaded in your ~/.balrc.scm). FILES bal executes Scheme code in ~/.balrc.scm when it starts up if the file is present. EXAMPLES bal start the bal interpreter and execute any Scheme code in ~/.balrc.scm (potentially including code to load data from a de- fault file). bal -f myaccounts.btar load the file myaccounts.btar from the current directory. bal -s v quits and exists after displaying version number (without prompting to save data). bal aa displays prompts to add new account after evaluating ~/.balrc.scm and then exits (prompting to save) bal t displays prompts to add new transaction after evaluating ~/.balrc.scm and then exits (prompting to save) bal -s la displays current account balances and quits without prompting to save. bal -f myaccounts.btar -l myscript.scm -s Runs a script, presumably to modify myaccounts.btar, and exists. bal can be run noninteractively in this way. SEE ALSO BUGS Please report as an issue to https://github.com/flynnzac/bal AUTHOR Zach Flynn <email@example.com> This manpage is distributed under the GNU Free Documentation License version 1.3. See COPYING_DOC for the text of the license. There are no invariant sections. 2019-04-26 bal(1)