PERSONAL CHECKBOOK by Lawrence B. Erdile Personal Checkbook is a full featured checkbook management program written for use with dBASE II. It is based on one written in PASCAL by Thomas R. Mierau. I loved that package but found the balances got screwed up and the report formats were limited to what the author envisioned needing. With dBASE II any type of report can be created. This package allows you to budget your money by providing you with ten sub-accounts that exist within your checking account. You can make deposits or withdrawals to any of the sub-accounts, you can even transfer money from one account to another. The balances of each of these sub accounts are updated after every transaction, and are visible at all times throughout the deposit/withdrawal portion of the program. The total of the sub-account balances is equal to your checkbook balance. First you must define the names of the sub accounts, and the amount (if any) that you wish to automatically deposit into each of these accounts from your regular paycheck. To do this enter: USE SUBACCT BROWSE You may now edit the Names (NAME) of the accounts, the amount to be regularly allocated (ALLOC) to it. Use dBASE II's full screen editing commands here. Enter the name of Account A (up to 15 characters followed by . The cursor will then move to the right. Enter the cash amount you wish to deposit to this account with each regular deposit such as 250.75 . If you do not wish to utilize all of the sub accounts, simply hit the key for the name and amount for each account you wish to skip without entering anything. The titles will be left blank, and the amount will be posted as zero. Account J is special. Any money left over after depositing to all of the other accounts will be deposited here. You can give this account a name but not an amount. If the general deposit is not large enough to cover the deposits to all of the other accounts, the difference will then be SUBTRACTED from Account J. The purpose for the automatic depositing to the various accounts is to help you to manage a budget based on a regular income. An account for monthly bills could be set up, for example, and sufficient money could then be deducted from each of your regular paychecks and automatically be deposited there. Then, when you pay your bills, the payments can be made from this account. Assuming that you deposit sufficient funds to cover your monthly bills, and that you do not make withdrawals from this account for anything else, you should be guaranteed that you have enough money on hand to pay those bills as they come due. Now you must make your initial deposits to each account to obtain your beginning balance. Select option

from the Main Menu. The next screen is the data entry screen. At this screen, you will make all of your deposits, write your checks, and transfer money between the various accounts, if necessary. It should look something like this: Automobile Account A: 119.03 Monthly Bills Account B: 385.25 Charge Cards Account C: 379.30 PERSONAL CHECKBOOK Personal Account D: 45.63 Semi-Annual Account E: 20.00 by Christmas Club Account F: 118.50 Grocery/Household Account G: 71.65 Lawrence B. Erdile Entertainment Account H: 41.50 Tax Reserve Account I: 816.32 Misc Account J: 104.42 ---------- Total: 2101.60 Record# 504 ============================================================================== DATE NUM TYPE C V DESCRIPTION AMOUNT Balance 11/24/85 J F Family Allowance 2101.60 DEP 63.16 The screen consists of two windows. The upper right hand window displays the names and balances of each of the accounts. The balances will be continually updated as each transaction is entered. The total at the bottom of this list is equal to the balance of your checkbook. The lower half of the screen displays another window which shows the current transactions in GET/EDIT mode or the data entry line for the current transaction in POST mode. The lower window is divided into eight columns: Date, NUM, Type, Account Code, VERified transaction, Description, Amount, and Balance. Each portion of the data entry line must be entered using the key. For example, the last entry listed above would be entered as follows: 11/24/85 Dep J Family Allowance 63.16 (the sign, even if a check or withdrawal is NOT entered!) Back to the subject at hand. We are going to enter our initial deposits to the program for establishing our beginning balance. For your first entry, enter the current date in the format MM/DD/YY . The cursor will move over, and point to the check number (0001 in the case of the very first entry). Ignore the entry for this number, and press . Enter a D (for deposit) followed by for TYPE. The prompt DEP will replace the TYPE. Enter the account code (A to I) where the deposit will go followed by . Enter the description of the transaction (such as "Beginning Balance to Acct A") followed by . Finally, enter the amount of the deposit followed by . Whole numbers need not be followed with .00, the program will do that for you. When the data entry line is correct, press with the cursor on AMOUNT (or enter ^W). When you press return, the sub accounts will be posted, and the transaction will be written to the disk. When you wish to edit this mode press ^Y when in the date field and then ^W and you will be returned to the main menu. The new data entry line will contain the previous date, and the next logical check number. If you were posting checks, you could simply accept one, or both of these entries by simply hitting the key for each one that was correct. Of course, you could type over either, or both of these "default" entries should they not be correct. We are still entering our initial deposits. We could accept the date carried forward by just hitting the key. At the check# column, we will enter another D to indicate a deposit, followed by a . Enter the Account code for the next sub account, Enter the description of the transaction, and enter the amount. Continue this procedure until all of the sub accounts you are using have been deposited. The total balance should now equal the balance of your checkbook. You are now ready to enter your first check. MENU CHOICE

POST CHECKS Enter, or accept the date as described above. Enter, or accept the check number as described above. If this is your first posting of a check, you will want to enter the number of the check. After that, the program will do a pretty good job of keeping track of your check numbers for you. In most instances, you will never have to enter another check number unless the program gets confused. Enter the account code from which the check will be drawn. (Look up at the right hand window. Is there sufficient funds in this account to cover this check?) You MUST assign an account code. You will not be allowed to continue if you don't. Enter the description of the transaction. This would normally be the name to which the check was written to. Follow the entry with . Enter the amount of the check. Do NOT precede the number with a minus sign. If you do, your negative entry will be multiplied by a minus 1, and you will end up with a deposit instead of a withdrawal. Follow the entry with . The checkbook balance will be updated in the last column. Be careful to look your entry over before pressing after answering the AMOUNT question. There is an edit feature for correcting mistakes after the transaction is posted, but it is easier to correct it now than later. When you press return, the sub accounts will be posted, and the transaction will be written to the disk. When you wish to exit this mode press ^Y when in the date field and then ^W and you will be returned to the main menu. So far we have looked at deposits to specific accounts, and writing checks. Making a general deposit that disperses the cash automatically to the various accounts is identical to the above description except that you enter an asterisk (*) instead of an account code when you get to that column on the data entry line. The allocation specified in the secondary .DBF will be transferred to the sub accounts and the sub balances will be updated. There is a provision for entering an automatic withdrawal from your check account. Some people have insurance policies, or Utility bills automatically withdrawn from their checking accounts. If you have such a withdrawal to enter, enter an A at the check number. The check number will be replaced with the prompt AUTO, and the counter for the check numbers will not be advanced to the next number. Everything else is handled in the same manner as described above. If you have a card to make withdrawals on your checking account through an Personal Touch Banking Machine, There is also a provision for posting these entries. At the check number column, enter a P instead of a check number. The space will be posted with the prompt PTBW, and the check number will not be used. Here again, the rest of the entry is identical to the description given above. You may, at times, need to transfer money from one account to another. If so, enter an X at the check number column instead of either accepting the displayed check number, of entering a check number. The space will then be filled with the prompt XFER for transfer. A prompt in the lower left area of the screen will appear asking you to enter the code for the account you are transferring FROM. Be careful here, as the procedure is a bit different from other procedures described thus far. Enter the account code (A through J) but do NOT hit . Another prompt will appear asking you for the account code for the account where you are transferring the money TO. Enter the account code, and do NOT hit . Enter the correct AMOUNT and ignore the other fields as the balance of the data entry line will then be filled in for you. You will then be asked whether or not the entry was correct. Answer Y or N accordingly. If you answer N, the procedure will start over. If you answer Y, the transaction will be posted. When finished, the account balances will be updated, and there will be a transaction posted on the data entry line indicating that a transfer was made between the two accounts indicated. That pretty much sums up the features and procedures of entering data for deposits, withdrawals, and transfers. These operations are all available from the "A" selection of the Main Menu. MENU CHOICE GET/EDIT CHECKS Sooner or later everybody will make a mistake, and not discover it until after the entry has been posted. The very best way to correct errors is to enter (in Post mode) a transaction that does the opposite of what the error did. Then in GET/EDIT mode locate the erroneous entry and it's correction and delete them both. This will result in correct balances. If you change amounts using the EDIT function, you will have to manually correct the SUBBALs using dBASE II's edit functions. Selecting G from the Main Menu will allow you to go back and make a correction. Use the Search command S to find the record you want. Dates for search are entered as 8612/25 for 12/25/86. The screen looks much like the data entry screen. When you locate the record you need to correct, enter a M. The cursor will move to the beginning of the entry area for the Date. If the Date is correct, just hit . Continue to hit the key until you get to the field that needs to be corrected. Retype any incorrect information followed by after each entry. When you get to the bottom of the screen, you will get a "Correct? (Y/N)" question. Respond with a Y or N as the case may be. If you edit the "Amount" field, be sure to precede all withdrawal entries with a minus sign. Placing of the minus sign is NOT automatic during Edit, as it was during the data entry. The field "VERified" will contain a T if you posted the check as one that was cancelled on a previous session of balancing your check book. Outstanding checks have this field marked F. The field "Balance" cannot be edited. It is updated if you change the value of the field "Amount" automatically. Should the value of the balance get messed up, and everything else is correct, there is a routine in the package for computing the balances available from the Main Menu. A POINT OF NOTE There is an option on the Main Menu for backing up your data. I have not had a lot of trouble with this program, getting things all screwed up, but it can happen. After every session of using the program, you should ALWAYS back up your data. MENU OPTION ADDING MACHINE The adding machine is a handy feature that you can use to check the arithmetic in your checkbook. You simply begin by entering a deposit equal to the account balance at the point where you wish to begin checking your work. It is designed to allow you to do all of the entries with the numeric key pad. Each negative entry is preceded with a minus for withdrawals, followed by the amount, followed by the (or ) key. You may enter plus for positive values but it is not required. The data is posted to the screen in the typical three column format of most checkbook ledgers. To correct errors just do the opposite. To exit enter -999. MENU OPTION RECONCILE STATEMENT Every month, you get a statement from the bank, along with all of your cancelled checks. Selecting this option allows you to post all of the cancelled checks, and deposits. You then enter the statement balance, and the program will total up all of the outstanding checks and deposits, and compare the total to the balance shown in your checkbook. A report is then generated that lists all of the outstanding transactions, the statement balance, and the balance of the checkbook. It will tell you if your checkbook is over, under, or equal to the expected amount. If your bank statement has any service charge, or interest payment listed, be sure to enter these first, before balancing the checkbook. I strongly recommend that you use option to back up your work before you select option to balance your checkbook. This way, if you make a mistake, you have the option of doing it over. If, for example, you find that you posted a check as cancelled that was not, you may rather redo the balancing process rather than going back through the edit session to make the correction. When you run this part of the program, every outstanding (not yet reconciled) transaction in the checkbook will be displayed on the screen. The display will halt at each and every transaction that is outstanding. The cursor will rest at a small prompt in the lower right hand corner of the screen that says "In? (Y/N)". If the check, or deposit is on your current bank statement, answer the prompt with Y. The "VERified" field will be posted with a T and the record will be written to the disk. If the transaction is not on your bank statement, answer the prompt with N. All of the transactions that have to do with transfers between the various sub-accounts will already be closed out as if they were cancelled transactions. When prompted enter the amount shown on your bank statement, followed by . A prompt then asks you whether you want the report sent to the printer. Respond with a Y or a N. You will then get a report listing all of the outstanding checks, and deposits. Then a section showing the statement balance as you entered it, along with the total from the outstanding transactions. These two figures are summed, and the result is compared with the balance of your checkbook. The report finishes with a message telling you if your balance is over, under, or correct. If there is an error, the amount is shown. MENU OPTION RUN REPORTS It is best to use the compute balances option before you run reports. When you select this option, you will be asked whether you want a copy send to disk, the printer etc. The report CHECKS will probably be the most useful from this menu. If you want to create a new report just enter a name for it and answer the dBASE queries for it. You should be familiar with dBASE II and the structure of the CHECKS.DBF file before attempting this. For now the other reports are best used manually as follows: use the option from the main menu If you want a report arranged by sub account: . .SET INDEX TO CODE .REINDEX .REPORT FROM BYCODE [TO PRINT] If you want a report arranged by TYPE of Transaction: . .SET INDEX TO TYPE .REINDEX .REPORT FROM BYTYPE [TO PRINT] If you want a list of the sub account balances then . .SELECT SECONDARY .SET PRINT ON (if you want it printed) .LIST OFF .SET INDEX TO CHECKS If you want a list of outstanding transactions: .SET INDEX TO CHECKS (if you want it arranged by date) .REPORT FORM RECONCIL FOR .NOT. VER [TO PRINT] If you want a monthly statement for December .SET INDEX TO CHECKS .REPORT FORM CHECKS FOR DATE='12' [TO PRINT] If you have more than one year in the database and you want only the December 1986 transactions you can do the following: .SET INDEX TO CHECKS .FIND 8612 .REPORT FORM CHECKS WHILE T [TO PRINT] This will start with the December 1986 transactions and go on from there. Press escape to stop stuff beyond that month. To get only December 1986 use: .SET INDEX TO CHECKS .REPORT FORM CHECKS FOR $(DATE,1,2)='12' .AND. $(DATE,7,2)='86' MENU OPTION BACKUP FILES This option provides you with a simple way to produce a duplicate copy of the data files used by the Personal Checkbook program. You can use a separate diskette for this backup. The backups are made as follows: CHECKS.DBF to BACKUP1.DBF SUBACCT.DBF to BACKUP2.DBF CHECKS.MEM to MEMORY.MEM Select option from the Main Menu. Place the duplicate disk in the B: drive if you wish. Indicate whether the backup files will be put on A: or B:. MENU OPTION QUIT This option exits the program, and returns you to the dBASE II. You should always exit the program with this option. Files in the Library are mostly CRUNCHED. Uncrunch them before use. CHECKS.CMD is encoded for speed. CHECKS.STR is a structured source of this file There are various .FRM and .NDX files included as well as this file CHECKS.WS. There are two .DBF files used by this package as well as a .MEM file these must be on the default disk as they are currently named. CHECKS.DBF SUBACCT.DBF CHECKS.MEM Except for a few escape sequences like CHR(27)+'^2' to clear to the end of screen on my iBEX computer and CHR(27)+'^0' to clear to the end of a line used mostly in the reconcile and adding machine sections this will run on any machine. They codes, unless they do terrible things to your display, will do no harm. If you want, change them in the .SRC file and rename it to CHECKS.CMD and use it. Encode that file if you wish. DTUNE can be used to create a more compact .CMD file. Address comments, queries and suggestions to Lawrence Erdile Winnipeg, Manitoba (204)-832-4593 (My local Z-Node #40) or Lawrence B. Erdile Psychology Department Duff Roblin Building University of Manitoba Winnipeg, Manitoba, Canada R3T 2N2