ftp.nice.ch/pub/next/database/improv/Budget.README

This is the README for Budget.d.tar.gz [Download] [Browse] [Up]

Improvä Personal Budgeting Model
 
 	The Improv model contained in this distribution is an example of personal budgeting. I use it exclusively for all my income and expenses. I find that all major areas of concern for myself are covered within it. However, I realize that some may have more complex budgets, which this model does not cover. Examples are home owners and persons with extensive personal investments (wish that was me). Nevertheless, this model provides a basis for extension into those areas. Once you understand the approach in this model, modification/extension should be quite easy.
	
Basic Model Approach

	The model was started from the example Checkbook Register worksheet provided in the Improv distribution. I made only one extension to that sheet Ð a Transaction ID field was added. The Transaction ID field contains a selection key which is used by the Summary worksheet to total income/expenses for all categories. Categories which I have defined include:
	
AUTO 	- Automobile expenses (inc. loan payments, repairs, etc.) excluding fuel.
CHAR 	- Charitable contributions.
CLOTH	- Clothing purchases and cleaning expenses.
COMP	- NeXT computer expenses (of course) inc. loan payments, software, etc.
FOOD 	- Self explanatory.
HOUS 	- Rent or mortgage payments.
INS 	- Non-medical insurance.
UTIL 	- Utility expenses inc. water, electricity, cable, etc.
EDU	- Tax-deductible education expenses.
SAV 	- Personal savings.

	Four other worksheets were created:  1) an Income Record, 2) a Savings Record, 3) a Miscellaneous Expenses worksheet, and 4) a Summary worksheet. The Income Record serves as the entry point for your paycheck. Note that the deposit into your checking account does not contain a Transaction ID. This is because the Income Record is used by the Summary worksheet as the source of income. The Savings Record serves as the log for your personal savings transactions. The Miscellaneous Expenses worksheet serves as a log for cash transactions for any category Ð and I also use it to break out my credit expenses once a month, when I pay my credit bill. You could easily break out your credit expenses into separate worksheets.

	The heart of the usefulness of the model is in the Summary worksheet. Within the Summary, all Transaction ID keys are totaled from all the other worksheets. The mechanism for doing this is quite simple using the SELECTSUM function. For each worksheet you wish to be included in the summary, you must provide a SELECTSUM function which operates on it. For example, consider the formula entry for the Automobile Expenses item in the Summary worksheet.
	
	Automobile Expenses (not inc. fuel)':Total Expenses = - (SELECTSUM(Checkbook Register::Transaction Record.Withdrawal:Xact, Checkbook Register::Transaction ID:Xact, 'Automobile Expenses (not inc. fuel)':Selection Key ) + SELECTSUM(Miscellaneous Expenses::Amount:Xact, Miscellaneous Expenses::Transaction ID:Xact,'Automobile Expenses (not inc. fuel)':Selection Key ) )

	The first SELECTSUM function identifies the Withdrawal item in the Checkbook Register worksheet as the value of interest via the first argument. The second argument identifies the field which should be checked for a matching key, and the selection key is identified by the last argument. The second SELECTSUM is structured identically, but refers to the Miscellaneous Expenses worksheet. The sum of the two SELECTSUM's is then made negative (since these are expenses) and entered into the Summary worksheet's field for auto expenses. I hope you can now see how easy it would be to extend this concept for budgeting areas which I have not covered.

	Note that the formulas for internal totaling of the Summary worksheet are a bit different, but these formulas are mainly adding and dividing items within the worksheet and occasionally applying the SKIP function when totaling. These formulas should be self explanatory.
	
	Finally, an Expenses Plot is provided to give you quick visual feedback on how you spend waaaaay too much money on your NeXT computer.
	
Improv 'Tricks' Used

	Although not necessarily a trick, most of the Summary worksheet formulas were built using the mouse. It is quite easy to identify items within other worksheets by using the mouse during formula construction. I find the mouse mode of entry to be complete and robust, indeed, this makes building such a worksheet almost enjoyable. Kudos to Lotus!
	
	I fought long and hard with the Presentation Builder trying to generate the graph you see here. Lessons learned:  1) use the Hide Selection option on items which you do NOT want to plot when selecting with the mouse (i.e. hidden items are not plotted), and 2) I had to incrementally change the labels on the Y-axis in a vertical bar plot and then finally change to a horizontal plot (meaning I modified the labels in the first, default, view and then used the inspector to continually add labels, while I modified them, until all the labels were correct Ð then I selected the horizontal layout option, because editing the axis labels in the horizontal layout seems to have bugs). I also applied the format panel's % selection to the X-axis and item data labels. C'mon Lotus, if not a macro language at least provide us with a preferred layout option so I don't have to jump through hoops every time I want a new graph.

	Also, note that the Xact count is always sequential and never reuses numbers Ð even after you have deleted several fields (as I did when preparing this for the Internet). So far, I haven't found a decent way to restart or modify the numbering in categories. I seem to remember doing some sort of copy which started the numbering over again, but I can't remember how. This, to me, is a slight irritation. A sequentially renumber option for the category labels would be nice.
	
	I hope someone finds this model to be useful, because I did spend a little time on this write-up. And I hope all you Wall Street stock trading fools don't laugh at my non-existent personal investments. What can I say? I'm waiting for NeXT's IPO.
	
Michael McCulloch
Independent NeXT Developer
Hunstville, AL
(205) 726-1832

(I don't guarantee I'll receive your mail here Ð this site is always having disk space or crashing problems)
lmccullo@nyx.cs.du.edu

Sorry, no e-mail at work at this time.
I'm waiting on my company to get it's own Internet connection for e-mail.
This should happen soon, like, this fall. 
	

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.