Money Management in Linux
Have you ever wondered where all your money goes? Do you get a nice big check on payday, but when it comes time to pay the bills, your wallet is looking rather thin? It seems there is never any money left over to save for the future. There comes a time in every person's life when it becomes obvious that they need to take control of their finances.
When I began dating the woman who is now my wife, I noticed that my money began disappearing just a little bit faster than before. As our relationship grew, so did the rate my money disappeared... This trend continued until it climaxed in the two weeks surrounding our wedding, when all the bills came due. I have never seen money disappear so fast.
Little did I know that this was only the tip of the iceberg. It seems that as life goes on my money gets stretched thinner and thinner. Now I find myself in the midst of purchasing a house, making car payments, buying dog food, and wondering how I am ever going to support my computer habit.
Needless to say, my wife and I needed a way to keep track of where our money was coming from and going to—and we needed a way to plan for our future expenses.
There are many excellent personal finance programs available at little or no cost. Unfortunately, none of the ones I found could be conveniently run under Linux. So in August of 1994 I said to myself, “How hard could it be? I will just whip up a quick little check book balancing program that runs under Unix.”
Well, as with most “little” projects, it turned out to be a bit more work than I expected. This little program turned into CBB. CBB is copyrighted under the GNU General Public License, so it is completely free. It is my humble contribution to the world of free software—a small payment for all the wonderful software others have so kindly made available for free.
CBB is a personal check book balancing utility for Unix and X11. It was primarily developed under Linux, but runs equally well under most flavors of Unix. CBB is written entirely in Perl and Tcl/Tk, so it is portable and extensible. It is a program for anyone who would like to track their income and expenses, balance their checkbook, and manage their money. Any other use (such as lining for a cat's litter box) is not supported or recommended.
CBB is an open, extensible program written entirely in scripts. It utilizes a simple ASCII data file format. In addition, CBB provides a simple interface for users to add their own reports and graphs without modifying any of the CBB source code. In the future, I plan to create a simple interface to other external modules so that other people may provide plug-ins to increase CBB's functionality.
CBB (if you haven't guessed already) stands for the Check Book Balancer. This name illustrates the extreme amount of creativeness that is inherent in us computer nerds. My wife, who is not a computer nerd, suggested “In Cheque—Putting the balance in your budget.”
Ability to create, edit and delete transactions. Automatically calculates the running balance.
Many input accelerators to reduce data entry work. For instance, the + and - keys will increment and decrement the value in the date and check number fields. Transactions will be automatically completed by typing the first few characters of the description and pressing <TAB>. The rest of the transaction will be filled in from a matching transaction.
Each transaction is assigned a category such as “entertainment” or “food”.
Ability to split the amount of a transaction across multiple categories.
Able to undo the last transaction insert, edit, or delete.
Handles multiple accounts.
Handles transfers between accounts.
Performs account balancing: i.e., the ability to enter a statement's starting and ending balances, select uncleared transactions, verify that start balance + transactions = end balance, and clear all selected transactions.
Contains a simple interface for external “user written” reports and graphs. Currently “ships” with three reports and one graph.
Ability to import from and export to the Quicken export file format. This feature has not been extensively tested, but should provide the ability to move back and forth freely between Quicken and CBB.
Able to handle recurring transactions. One of the contributed scripts adds this functionality.
Support for the international date format, i.e., 30.01.68 (DD.MM.YY).
An “auto save” function for the ASCII format data files. (This can save you when someone logs you out without asking.)
The current X-Windows selection can be pasted into any entry field. Likewise a selected piece of text in CBB can be pasted into other X-Windows applications.
Extensive reference manual is available in LaTeX, dvi, PostScript, or on-line locally in HTML format. The manual is also available at www.me.umn.edu/home/clolson/cbb/cbb-man/cbb-man.html.
- Linux Kernel Testing and Debugging
- NSA: Linux Journal is an "extremist forum" and its readers get flagged for extra surveillance
- Wanted: Your Embedded Linux Projects
- Tails above the Rest, Part III
- Numerical Python
- RSS Feeds
- Dolphins in the NSA Dragnet
- The 101 Uses of OpenSSH: Part I
- Tech Tip: Really Simple HTTP Server with Python
- Are you an extremist?