Ledger is a powerful, double-entry accounting system that is accessed
from the UNIX command-line. Ledger never creates or modifies your
data. Your entries are kept in a text file that you maintain.
Ledger is currency-agnostic. You can store multiple currencies in any
account, convert between them, or even pay in one currency and receive
change in another.
Ledger uses a simple set of base commands which can be extended in
countless ways. You can create monthly reports, average reports, check
account balances, reconcile accounts, keep track of capital gains on
stocks, etc.
Ledger includes an emacs mode for editing ledger entries.