Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

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:

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)

       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]

       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-

       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

       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-

       The saved file is simply a tar archive of CSV files that record	trans-
       actions	and  characteristics of accounts.  These files are human-read-

       The prompt is whatever is returned by the evaluating the Scheme expres-
       sion  "(leas/prompt)"  so  redefining this function will customize your

       --file,-f FILE
	      load accounts from FILE

       --load,-l CODE
	      execute Scheme code in file CODE

	      do not prompt to save on exit, will not save on exit

	      do not load ~/.leasrc.scm

	      print help message giving command line options.

	      print the version of Leas and copyright info

	      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).

       Leas  executes  Scheme  code  in ~/.leasrc.scm when it starts up if the
       file is present.

       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

       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.

       Please report as an issue to

       Zach Flynn <>

       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)


the Little Extensible Accounting System - an extensible tool to keep personal accounts in order and to study past spending habits








No packages published