Description I got sick of balancing my checking account by hand because I continually ended up with discrepancies from the bank. So I threw together this simple C program to balance my budget. It has turned out to be very useful, and as long as I enter my transactions, it's much easier to resolve discrepancies in sam(1) then on paper. Files <> <> <> <> <> <> <> Build instructions Unix: shell$ tar xvf <> shell$ make install Plan9: rc% tar xvf <> rc% mk install Input language Commands "code" {code} {desc} Create a Transaction Code "acct" {name} {parent} {desc} Create an account "year" {year} Set the current year "assert" "balance" {acct} {amount} Verify expected balance Transactions {tid} {mm}"/"{dd} {amount} {code} [{src}]"->"{dst} {desc} tid Transaction ID (can be anything, typically a check number) mm/dd month and day the transaction occurred (use the "year" cmd to set the year) amount transaction amount (always positive) code transaction code src source account dst destination account desc freeform transaction description Usage balance [-b acct] [-e yyyy/mm/dd] [file] -b print final balance for acct. -e only process transactions through yyyy/mm/dd