Review By Mike Wright
Keeping track of personal expenditure
RICHARD SHEPHERDE Software is a company well-known tor its range of adventure games. Cash Controller, a home budgeting and banking system written by Richard Shepherd for the 48K Spectrum, is probably the first program written specially as Microdrive-compatible.
The program is designed to keep track of personal expenditure and its breakdown into any one of up to 16 user-definable accounts. It permits transactions to be entered with the date, details and the account. It also allows standing orders to be set up and implemented and will print-out statements. Another feature is the ability to define budget limits for the accounts and to compare them against expenditure.
Once loaded the program displays the master menu: 1, Budget menu; 2, Bank account menu; 3, Mortgage loan calculator, 4, Update password; 5, Save program to cassette; 6, Save program to Microdrive; 7, Delete program; 8, Entry search.
Obviously the majority of use will be from options 1 and 2. To take any option, press the appropriate number key followed by ENTER. If keys are mis-hit the program replies 'INVALID RESPONSE' and the user is kit to re-enter the option, except for the odd occasion when the mis-hit keys give a number first then letter combination. In such a case the program crashes and is re-started with GOTO 9900.
Selecting option 1 brings up the budget options menu: 1, Enter new budgets; 2, Update budgets; 3, Print budgets and variances; 4, Breakdown budget actual; 5, Clear all budget details and enter new budgets; 6, Return to master menu.
Enter new budgets allows the user to define the account title using up to 10 characters and set the budget. Although a name is given the accounts are referred to usually by a code number - 1- 16 - but it is not shown at that stage. If a mistake is made in the last entry, pressing ENTER moves the cursor back and allows the mistake to be corrected.
Return to the budget menu is by pressing xx and ENTER. If you wish to change the budget of an account, option 2 is used. That asks for the budget title and the new amount. Once that is done the program prompts for whether there are any more budgets to be updated.
One of the better features about Cash Controller is the provision for comparing budgets and expenditure. That is done using option 3, which prints the account name, its code number, the budget, the expenditure and the variance, together with the totals for all accounts. A permanent copy can be obtained by pressing Z, and ENTER returns to the menu.
In selecting the Breakdown budget actual option the user is asked for the account to be examined. The program will then display those transactions made on the account, the date, the amount and the balance remaining in the budget.
The same facilities for printing the details exist as for option 3. Option 5 is self-explanatory but beware - there is no escape route. Should you select the option accidentally the budgets are cleared instantly and new ones requested as for option 1.
The Bank Account Options menu is reached by selecting option 2 on the master menu: 1, Enter transactions; 2, Statement request; 3, Clear transaction files; 4, Clear transaction files and set balance to zero; 5, Enter opening balance; 7, Delete standing orders; 8, Return to master menu.
By choosing option 1, transactions can be entered. They consist of the date, the details - e.g. cheque no. or payee name - in a six-character field, the account code and the amount. All amounts are debits unless "credit" is specified - in lower-case only - as the details.
Also worth noting is the fact that a 17th account code of 0 is available if you wish to make an entry without assigning it to a budgeted account.
The transactions do not have to be in date order, nor are they arranged into date order in that section of the program. They are ordered only for he printing of statements in option 2. Before working out the statement the user is asked to enter the starting date and then tomorrow's date, although that could be any date, plus one, at which the statement is to finish.
Once it has those dates the program scans the data for each date in turn looking for any transactions which may have taken place on that day. When one is found it is displayed in the same way as it was entered.
The program scans the whole data for each day in the period. When it finishes the user is given the option of printing the statement - using C - or deleting the first entry on the statement - using D - or continuing with any other key. The delete option allows an incorrect entry to be deleted by obtaining a statement starting at the date of the incorrect entry and using D. The correct entry can then be re-entered using the enter transaction routine. That seems like a complicated way of amending an entry, especially if the one you want to change is the fourth or fifth on that day.
The next two options are similar, in that both clear the transactions and reset the budget expenditure totals to zero, although option 3 keeps the balance brought forward. Selecting either option returns immediately to the same menu. The enter opening balance routine allows the opening balance to be set and to be re-set at any stage in the program should it be necessary. Once the figure has been entered the user is given the choice of backing out and re-entering the correct figure by pressing N, or continuing with Y.
The menu also allows standing orders to be set, using option 6. The user is asked for the date on which the order is to begin and then for the frequency of payments - 1 for monthly, 2 for quarterly, 3 for annually.
Irregular payments must be entered as individual transactions. Prompts are then issued for the details, the account code and the amount. The details are then entered automatically to the transaction data.
Deleting the standing order is done by choosing option 7 and giving the details of the standing order. It would be useful if the details for all the standing orders were printed but unfortunately they are not and deleting a standing order which does not exist apparently has the same effect as deleting one which does.
The loan/mortgage calculator is a routine for working out the unknown factor given any three of four - principal, interest rate, time and repayments. The program prompts for each entry in turn and the unknown is entered as 0. Once the details have been entered the user is asked whether it is a bank loan or mortgage and the full details are displayed, including the missing factor.
A password can be specified by choosing option 4 on the main menu and entering the choice in response to the prompt. That is then saved with the program in both the save options and requested when the saved program is loaded. The save-to-Microdrive routine thoughtfully displays a warning that the program will crash if the Microdrive and cartridge are not connected.
A usefuL facility to search the data for an entry is included at option 8. The subsidiary menu allows the data to be searched by either its details or by the amount. One annoying point is that although when entering a transaction the amounts are positive, when searching the minus sign must be included for debits. Once the characteristic has been specified the program displays the data, details and amount of all entries.
With Cash Controller, Shepherd has produced a useful package for the home finance market. The error-trapping is good and allows bad errors to be corrected without causing damage to the data or program, although there are one or two areas for improvement.
Perhaps the biggest disadvantage is the statement request routine which needs to scan the whole data day by day for the specified period. For large amounts of data or long periods that takes an inordinate amount of time.
One point which the more astute may have already realised is that although Cash Controller is loaded as a machine code program, it can be listed as a Basic program. That seems to be because of Microdrive compatibility.
Cash Controller can be obtained from Richard Shepherd Software Ltd, 22 Green Leys, Maidenhead, Berkshire. It costs £9.95.