Leas is an interactive, command-line program for managing personal finances. I have been using it to manage mine for about a year and a half now so it has been well-used... there shouldn't be too many bugs. Let me know if you find any issues!
To see a full manual for Leas in a tutorial format, see: http://zflynn.com/leas/index.html
The manpage is replicated below to give an overview of the basic commands. See the file INSTALL for installation instructions.
Leas(1) General Commands Manual Leas(1)
NAME
Leas - the little extensible accounting system - for keeping accounts
in order and studying past spending habits
leas [-f FILE] [-l FILE] [-s] [-n] [-v] [-h] [COMMAND]
DESCRIPTION
Leas keeps track of personal accounts and spending.
Text entry at the Leas console follows standard line editor conventions
(it has Emacs-like key bindings, uses the GNU readline library). To
cancel a command, type: Control-C.
Leas's main interactive commands are:
spend spend money (transfer from asset to expense account)
charge charge a purchase (transfer from liability to expense account)
earn earn money (transfer from income to asset account)
borrow borrow money (transfer from liability to asset account)
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 leas/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". Leas loads the Scheme
functions in the /usr/local/share/leas.scm file at startup. These func-
tions implement the commands above.
Of particular interest for developing your own functions in Scheme is
the function leas/call which can be used to make Scheme functions in-
teractive.
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 "(leas/prompt)" so redefining this function will customize your
prompt.
OPTIONS
--file,-f FILE
load accounts from FILE
--load,-l CODE
execute Scheme code in file CODE
--no-prompt-on-quit,-s
do not prompt to save on exit, will not save on exit
--no-rc,-n
do not load ~/.leasrc.scm
--help,-h
print help message giving command line options.
--version,-v
print the version of Leas and copyright info
COMMAND
execute COMMAND as if it was entered at Leas's prompt and then
exit. This enables you to, for example, type "leas t" to enter
a new transaction (supposing your main Leas file is loaded in
your ~/.leasrc.scm).
FILES
Leas executes Scheme code in ~/.leasrc.scm when it starts up if the
file is present.
EXAMPLES
leas start the Leas interpreter and execute any Scheme code in
~/.leasrc.scm (potentially including code to load data from a
default file).
leas -f myaccounts.leas
load the file myaccounts.leas from the current directory.
leas -s v
quits and exists after displaying version number (without
prompting to save data).
leas aa
displays prompts to add new account after evaluating
~/.leasrc.scm and then exits (prompting to save)
leas t displays prompts to add new transaction after evaluating
~/.leasrc.scm and then exits (prompting to save)
leas -s la
displays current account balances and quits without prompting to
save.
leas -f myaccounts.leas -l myscript.scm -s
Runs a script, presumably to modify myaccounts.leas, and exists.
Leas can be run noninteractively in this way.
SEE ALSO
BUGS
Please report as an issue to https://github.com/flynnzac/leas
AUTHOR
Zach Flynn <zlflynn@gmail.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 Leas(1)