-------------------------------------------------------------------------

                                 CBB

                       The Check Book Balancer
                       Written by Curtis Olson  
                         (curt@sledge.mn.org)

-------------------------------------------------------------------------

The latest version of CBB is always available at:

    ftp.me.umn.edu:/pub/finance/cbb-[version].tar.gz

Note, this program requires specifically: perl 4.036 or later (perl5
is preferred) and tk4.0 or later.

-------------------------------------------------------------------------

CBB is a personal check book balancing utility for Unix/X.  

CBB is intended to be an open, extensible program.  It utilizes a
simple, easily understood data file format and is written entirely in
Tcl/Tk and Perl and contains no compiled code.  It provides a simple
interface for users to add their own reports and graphs without
modifying any of the CBB source.  In the future, I plan to create a
simple interface to external "user written" modules.  The intent is
that others will provide modules to increase CBB's functionality.

-------------------------------------------------------------------------

NOTICE==WARNING==NOTICE==WARNING==NOTICE==WARNING==NOTICE==WARNING==NOTICE

  This notice is for users of any pre-0.60a versions who are upgrading!!

  As of version 0.60a, the data file formats have changed again.  Data
  is now saved in an ascii format.  The conversion procedure is fairly
  straightforward.  Follow the directions in the manual for migrating
  your data.  A script to do the migration is provided in the contrib
  directory.

  Specific directions for this procedure can be found in cbb-man.tex (a
  LaTeX2e manual) or online under the Help menu.

  Note, as of version 0.62a, dbm support has been dropped.

NOTICE==WARNING==NOTICE==WARNING==NOTICE==WARNING==NOTICE==WARNING==NOTICE

-------------------------------------------------------------------------

Here is a summary of some of the more interesting features:

    - Ability to create, edit and delete transactions.  Automatically
      calculates the running balance.

    - Many input accelerators will save 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.

    - Ability to split the value of a transaction across multiple
      categories.

    - Each transaction is assigned a category.

    - Able to undo the last trasaction insert, edit, or delete.

    - Handles multiple accounts.

    - Handles transfers between accounts.

    - Balancing: Ability to enter a statement starting/ending balance,
      select uncleared transactions, verify start balance +
      transactions = end balance, then 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.

    - Extensive reference manual is available in LaTeX, dvi,
      postscript, or online locally in html format.  The manual is
      also available via:

        http://www.me.umn.edu/home/clolson/cbb/cbb-man/cbb-man.html

    - Requires tk4.0 or higher.

    - Comes with a moderately intelligent installation script.

    - Added a contrib directory with several useful scripts and tools.
      Please see the reference manual and browse this directory for
      details.

    - Ability to handle recurring transactions.  One of the
      contributed scripts add this functionality

Other more specific features include:

    - Auto high lighting of an entry fields when tabbing into them.

    - Support for the international date format.  i.e. 30/01/68

    - An "auto save" function for ASCII format data files.  (This can
      save your butt when your wife logs you out without asking.  I
      should have never given her an account ... she has too many
      friends with e-mail access. :-)

    - The current X selection can now be pasted into any entry
      field.  Likewise a selected piece of text in CBB can be pasted
      into other X apps.

    - Check #'s longer than 5 digits can now be handled.

    - A file named ~/.cbbrc.tcl is used to store user preferences.
      This file is source'd when CBB is invoked.

    - CBB now defaults to an ascii data file format.  Please see the
      reference manual for a more detailed explanation.

    - removed tclX dependencies ... now works with standard tk4.0.

    - psuedo-globbing (~ & ~user) is understood by install script when
      specifying paths.

    - Logging of edit sessions.  Theoretically if the account file
      is corrupted, it could be reconstructed from the log.

    - Dates are represented by four digits instead of two.  This means
      CBB will break in the year 10000, not in the year 2000.

Areas for growth (known deficiencies):

    - Performance could be much better in many areas.

    - I'm learning the special features of tk4.0 as I convert to it.
      Therefore, there are a few quirkey things about how CBB behaves.
      None of these things affect the correctness of the results, they
      just introduce visual oddities.

    - There are tons of features that need to be added.  (This covers
      just about everything else.)

Planned features (future work)

    - Include many more error/sanity checks.

    - Better interactive category editor ... the current facilities,
      while functional, are lacking.

    - Generate more reports & graphs.

    - Work on increasing performance.

    - Clean up a lot of things ... certain traditional interface things act 
      funny or aren't included yet.

    - A more sophisticated multilevel undo?

Things that would be nice but are far in the future (probably)

    - Ability to manage budgets.

    - Ability to handle investment accounts

    - Double accounting ???

    - ??? ... The possibilities are endless :)


PREREQUISITES
=============

Tcl7.4 & Tk4.0 are available via anonymous ftp from:
   ftp://ftp.smli.com/pub/tcl/
   Note, the Tcl FAQ has a list of mirror sites.  You can read the FAQ
   online at:

      http://www.cis.ohio-state.edu/hypertext/faq/usenet/tcl-faq/top.html


Perl is available via anonymous ftp from:
   prep.ai.mit.edu:/pub/gnu/perl-5.xxx.tar.gz
   ftp.cs.umn.edu:/pub/gnu/perl-5.xxx.tar.gz


INSTALLATION
============

Type "make install"
Answer the questions.


Let me know what you think!!!  Thanks,

Curt.
--
Curtis Olson   E-mail: curt@sledge.mn.org
Try Linux!     WWW:    http://www.me.umn.edu/home/clolson/main.html


