Bruce Foreman Photography 2643 University San Angelo TX 76904 This package may be freely copied and given to others, placed on computer bulletin boards, and transmitted providing no charge is made, the programs are not altered in any way, and the CHEKBOOK, CONFIGuration program, sample configuration files and documentation files all are included in the distribution disk/archive. This software package is distributed in the "Try Before You Buy" concept and persons finding it suitable to use is requested to send payment of $25.00 to the address above. A license to use this software for 30 days in order to determine suitability for use is granted. If this software is still in use after the 30 day period it should be assumed that it has been found suitable and the program should be registered by sending $25.00 payment. Upon receipt of payment, the latest version without the shareware notice screen and delay will be sent by mail on 5 1/4 floppy disk along with any new utilities that have been developed since this version. Warranty No warranty of any kind is in effect. No liability or responsibility for any damages of any nature arising from the installation or use of this software is acknowledged or assumed. You use this software at your own risk. Introduction I needed a simple easy to use single entry accounting program that would not tie me or any of my employees up for long tedious sessions of data entry. All of the ledger and accounting packages I looked at were either "overkill" being far more intensive than I needed, or were so incredibly complex to setup and use, with tedious and detailed data entry to the point where it seemed far sinpler to do things the old fashioned way. This checkbook program is an alternate version of a small business ledger package I developed for my own use. The business version functioned so simply and effectively I had to have a similarly working program to maintain my household checkbook. This program offers several advantages in simplicity and ease of use that make it worth looking over and trying if you also would like something far less complex than conventional checkbook packages. All commands and functions are accessed from one main menu and are simple to understand and use. Data files may be used for annual, quarterly, or monthly accounting periods and when "closed" simply need to be saved to floppy, or renamed from DOS to be saved for later reference and "audit". Data files are simple ASCII text files and may be directly edited with any ASCII capable word processor if needed (providing line entry format is not altered). All math "summaries" are recalculated from "scratch" each time, insuring that sum errors do not persist after the original ledger line item is corrected. To make it even simpler, what this program does is to provide you with one entry point for deposits and expense items; and then with one summary command tell what the total deposits were, total expenses by category, and then subtract the expenses from deposits to give you current checkbook balance. It doesn't get any simpler. Capacity Versions of the main program have been tested with between 900 and 940 transaction items in memory. Some intermittent "choking" was encountered at somewhere around 920-928 items so the capacity has been limited to 900 items. In my own studio business I seemed to be writing about 400 checks annually and might have been able to squeeze in a whole year of entries if the present capacity had been there. But I had the earlier versions limited to 450 items due to limited memory on the computer I started out with, so I ran the data files on a quarterly basis. This current version should handle check and deposit activity for most people on an annual basis. Setup CHEKBOOK.EXE is the personal/household ledger program. CHEKBOOK.CFG is the configuration file read by the program as it initializes. The expense names are easily edited to suit your needs with the CBCONFIG.EXE module. To install on a hard drive simply create the directory the programs and data files will be in and extract them into it from the archive or copy them over from the distribution diskette. Put all files in the same directory. For floppy disk operation, copy all the files extracted from the archive over to a bootable floppy with COMMAND.COM on it. Everything including the data files the programs will create should fit comfortable on a single floppy disk. The first thing you must do to initialize the software is to use the configuration module. CHEKBOOK.EXE will not function without the respective .CFG data file to read in on execution. So type CBCONFIG at the DOS prompt and at the menu load in the sample configuration provided. If for some reason the .CFG file is missing or corrupted all you need to do is make a new one. Use the change options on the menu and save the results or type in the following example using any ASCII word processor. The best way is to use the CBCONFIG.EXE module as it provides warnings with any reserved use account you attempt to change. If you must create the configuration with an ASCII word processor DO FOLLOW THE WARNINGS ON USE AND NAMING OF RESERVED ACCOUNTS in the documentation. Sample CHEKBOOK.CFG file: Household checking account 0 3 14 Auto expense........ Bank Charges........ Credit cards........ Deposits to account. Cash withdrawal..... Food 'n groceries... Rent & utilities.... Hospital/medical.... Insurance........... ....not defined yet. ....not defined yet. ....not defined yet. Miscellaneous....... ....not defined yet. Everything is left justified. The 7, 0, & 15 are display colors setting white text, black background, and high intensity white hilite characters. These may changed to any color setup that will work with your display. Account names have to be a 20 character field and should be filled out with trailing periods as shown above. The account name can be any length that will fit in its place on the CHEKBOOK.EXE main menu screen. A WORD OF CAUTION IS IN ORDER HERE! DO NOT CHANGE THE NAME OF ACCOUNT D IN THE CHECKBOOK PROGRAM'S CONFIGURATION FILE!!!! Account D is reserved for DEPOSITS to the checking account and all amounts in account D are added to the checking account balance instead of being deducted. The first time you run the program for each accounting period you have to start a new data file. Usually you will want to transfer in your current and beginning checkbook balance. For the ACCOUNT code use "$" rather than "D". "$" will accumulate or add into the checkbook balance but will not count as a deposit so that in summaries your deposits for the period will be accurate. Then you are ready to begin entering ledger items. Be sure to save the file frequently so that in case of power failure or other problem with the computer you don't lose data. I save about every 10 entries during a long "catch up" session. Data Format Each time you use this checkbook program you are asked to input the date in month-day-year (mm-dd-yyyy) format. Pressing or the return key will cause the system date from the clock to be automatically entered. The "item" entry routine uses the first 5 characters of the system date (mm-dd) for the date of the transaction. If you are making the entry on the same day as the system date pressing the "d" key will automatically use the "mm-dd" part of the system date for input. The "@" key from the main menu allows you to change this date if you are inputting several items with the same date but diffrent from the system date. DATE: (mm-dd) format - **CAUTION** Be sure to use a - between the two digits of month and two digits of day. Any other character may affect date sort and search functions. ITEM #: This must be unique for each item. For the first check in a new data file enter the actual check number. From that point on until you begin using a new data file the computer will assign the next number when you enter the "n" character at this prompt. If you need to skip one (voided check or lost check) manually enter the correct check number for that item and the program will pick up the sequence from there. For other transactions (sales, collections, and deposits, enter the "#" and the program will use a separate "one up" number series for those. Your current position in each of these "number stacks" is saved each time the data file is saved. When you use the Change command from the main menu, it depends on each item number in the file being unique. NAME: 25 character spaces are allowed for this. For each check written to the same party use identical spelling so the LIST by name function finds all of them. ACCOUNT: Use single alphabetic characters. The ACCOUNTS command at the main menu will show you the programmed account names and single letter codes. ACCOUNT "C" is reserved for Sales or Collections and does NOT sum or affect any of the other amounts. ACCOUNT "D" is reserved for deposits to your checking account balance and "adds in", increasing the balance. ACCOUNT "H" is reserved for personal (non business expense) withdrawals/purchases and is subtracted from the balance but does not sum into the business debits total. Do NOT use these ACCOUNTS for anything else or you will not get accurate summaries. NOTE: In the personal home account version, accounts C & H may be used for any expense category desired. The special ways in which C & H figure into summaries applies only to the business version. The Sales Transaction Ledger program uses only one reserved account, N. All others function as sales departments or accounts and useage is covered in the SALES.DOC file. SUBACCOUNT: Use single letter codes here too. The same subaccount code letter cannot be used with more than one account. I use "G" for Rent/Utilities ACCOUNT. "R" as a SUBACCOUNT code for the rent/lease/or mortgage payment, and "U" as SUBACCOUNT code for all utilities. I cannot use "R" in another ACCOUNT for "repairs" because it is already in use in ACCOUNT "G". The SUBACCOUNT is as much an alternate account as it is a subaccount. Pressing the key places an "*" in this field if you don't need a code there. AMOUNT: This is entered in the familiar ####.## format to two decimal places. Do not use the dollar sign or commas. GENERAL STUFF SUMMARIES: Selecting this from the main menu prompts for a month (1-12) or 0 for a summary of the whole file. The whole file is scanned from the first item, if a month was specified items not matching that month are ignored otherwise each item amount is added to the appropriate account balance and the totals are printed to the screen at the end of the scan. Expenses are all totaled, deposits are totaled, and if the summary is for the whole file all expenditures are subtracted from the checkbook balance. If the summary is for a month, the checkbook balance is zeroed out and a file summary should then be done to recalculate it. FILENAMES: I've tried for a middleground between simplicity and flexibility here. Each of the programs uses two "canned" filenames (the first two on the SAVE and LOAD screens), SPECIAL allowing you to define a unique filename, and EMERG for just what it implies-an emergency save to get data to disk without overwriting the last loaded version. Do not use an extension when typing the filename for load or save functions because the program assigns its own and if you add one it will cause a program error. The business version assigns a .BUS extension to data file filenames and looks for the same when loading them in from disk. The directory function from the main menu screens out all other filename extensions and only displays those data files available for the program to work with. The extension used by the household/personal version is .HOM, that for the sales program is .INC and both function in the same manner. EDITING THE DATA FILE WITH AN ASCII WORD PROCESSOR If you're using multitasking with limited memory, or your word processor uses lots of memory this may not work. First SAVE the file. Then switch to another window or memory partition. Invoke your ASCII word processor and make the necessary changes, exit the word processor, and switch back to the original window or partition and the main menu of the EZLEDGER.EXE program. Use the LOAD file command to load back the edited file and you're ready to continue. Emergency Procedures I've been using these programs in some form or other since sometime in 1983 without disastrous data loss by observing a few "safety" precautions. Frequent backup is a good idea with any data you don't want to lose and periodically I simply copy the data files generated by these programs off to a floppy disk. But in the course of normal data entry, something may cause you to suspect that something has gone wrong and the integrity of data in memory comes under question. Since the entire working data file is in memory this can be a matter of real concern. One thing you can do is to use the LIST All items function from the main menu and in most cases simply examining the listed entries should reassure you that the data is sound. If there is any lingering doubt and you have entered quite a few items without periodic saves then save the file using the EMERGency filename. This will allow you to save the file for examination with a word processor or utility such as Vernon Buerg's LIST.COM without overwriting the definitely uncorrupted file loaded in at the beginning of your data entry session. Just remember, make periodic saves and if you suspect something has gone wrong save using the EMERGency filename so as not to corrupt the original file on disk. Programming Concepts There are better methods and better code to accomplish a ledger program than what has been used here. But the main thrust was to keep things simple. Random access disk files allow more flexibility with the data, but can be more prone to data corruption and loss as the size of the file grows. The sequential file format I've used is far simpler, much less prone to "disaster", and is easily edited with ASCII editors once the format is fully understood. The search code in the LIST by name routine could have used an INSTR function and been capable of finding the the search string in the middle of the name text. More efficient but then the tabulation of dollars involved could be affected by "irrelevant finds". Staying with a left justified search string allows a better shot at having the name search find only valid target transactions and helps keep the sum more accurate. Playing with the sample data files enclosed should give you a feel for how the various features work and suggest specific applications in your situation.