Dec 122017
DBase II based home finance package, shareware.
File HOMFIN.ZIP from The Programmer’s Corner in
Category Dbase Source Code
DBase II based home finance package, shareware.
File Name File Size Zip Size Zip Type
ACCOUNTS.CMD 1792 769 deflated
ACCTS.FRM 512 325 deflated
ACEDIT.CMD 6528 1994 deflated
ACLIST.CMD 640 383 deflated
ACTREP.CMD 2560 904 deflated
ACTSUM.FRM 256 142 deflated
BKPSRT.CMD 4864 1250 deflated
BSUM.FRM 512 200 deflated
BUDGET.CMD 7552 2149 deflated
CATEG.FRM 512 206 deflated
CATREP.CMD 4224 1466 deflated
GETACODE.CMD 640 367 deflated
GETBCODE.CMD 640 372 deflated
HFMENU.CMD 1408 613 deflated
HMAKER.CMD 4608 1041 deflated
HMAKER.DBF 1024 323 deflated
HOMFIN.CMD 2304 983 deflated
HOMFIN.DES 9984 4158 deflated
HOMFIN.DOC 78848 21272 deflated
HOMREP.CMD 896 458 deflated
QREPT.CMD 2432 862 deflated
RECON.CMD 10496 2895 deflated
RESET.CMD 6912 2035 deflated
TRAACT.FRM 512 232 deflated
TRACAT.FRM 256 151 deflated
TRACS.FRM 256 137 deflated
TRAREP.CMD 3072 976 deflated
TRATAX.FRM 512 258 deflated
TRATYP.FRM 512 278 deflated
TREDIT.CMD 6912 2030 deflated
TRENTER.CMD 10752 2814 deflated
VIEWEDIT.CMD 4224 1234 deflated
XTRACT.CMD 7552 2114 deflated

Download File HOMFIN.ZIP Here

Contents of the HOMFIN.DOC file


Home Finance System for dBASE-II

Copyright (C) 1987

by John R. Yandrasitz

168 Brooklea Road

Rosemont PA 19010

Compuserve ID 71066,164

HOMFIN - 1 - John R. Yandrasitz


Overview - General description
Databases 3
Programs 4

System Requirements 5

Availability (Cost of Shareware) 5

Files Required / List of Command Files 6

Getting Started
Editing HOMFIN.CMD 7
CREATING Database Files 8

Using the Programs
General Considerations 9

Using HOMFIN for the first time 10

Split Transactions 12

Extract Transactions 13


REPORTS (Menu 4) 18
Budget Categories 18
Accounts 18
Transactions (Extract p.13) 19
Quick Report Transactions 20




YEAR-END RESET (Menu 8) 26

QUIT (Menu 9) 27

Current Date / File Space 28

CRASH !! / Exit to dBASE or System 29


HOMFIN - 2 - John R. Yandrasitz


HOMFIN is a database system for dBASE-II (Ashton-Tate) for
maintaining records of the monetary transactions in home finance.
It consists of three databases for Accounts, Budget Categories, and
Transactions, and the programs to maintain and report these in a
complete menu-driven system. Accounts and Budget categories are
completely independent and are brought together by Transactions.

While HOMFIN does not handle assets such as stocks and real
estate, it attempts to deal with all the types of monetary
transactions which occur in the modern home with multiple wage
earners, bank machines, IRA's, and a proliferation of checking,
savings, and credit card accounts. HOMFIN allows you to use the
power and flexibility of dBASE-II to maintain your financial
records for multiple years.



The Transactions database (TRACS.DBF) holds information on the
Account accessed, and the optional Budget Category of a
transaction, as well as the Tax status, and a full line including
date, amount, and up to 38 characters of description such as might
be found in a checkbook. Six Types of transactions are defined.
They include transfers between accounts and a 'split' of a single
transaction into multiple budgets, as well as the more usual
payment, deposit, interest, and charge. The last 'check number' is
maintained and offered as a prompt, but you may also enter text to
indicate bank machine or other types of transactions without
altering the 'last number'. HOMFIN is designed to maintain the
Transactions database with as many years of data as you desire and
have disk space.

The Accounts database (ACCTS.DBF) is designed to hold up to 50
Accounts which are specified by a 4-letter Code. You may specify
up to 40 additional characters of description. Five types of
Accounts are defined for Reports: Checking, Savings, Credit Card,
Restricted (e.g. IRA or Trust), and Cash. Transactions in cash
accounts are cancelled on entry. The database also maintains the
current balance, the 'last number', the beginning balance, and the
date of last update.

The Budget Categories database (CATEG.DBF) can hold up to 50
categories specified by a 4-letter Code. You may also specify a
15-character Name, and budgeted amounts for 12 months. The
database holds these and the amounts spent in those months; where
an amount was budgeted, a percent field is also calculated. The
programs are designed to update the Spent and Percent fields when
entering or editing any transaction from the current year.

HOMFIN - 3 - John R. Yandrasitz


A list of all the programs is found at the end of the
Overview. All programs are tied to a main menu with 8 options:

1) ENTER TRANSACTIONS - Maintains and updates all three
databases. The program has extensive prompts: All defined Account
and Category codes are displayed at the appropriate times. The
balance of the primary account (and the secondary in the case of a
transfer) is continuously updated and displayed. Up to 10 lines of
entries are displayed; the 4 last entries of the current session
are always displayed.
Most fields entered are checked for accuracy. Entries include
the date, transaction type, account, number, description, tax
status, amount, and budget category (optional). Types include
Transfers between accounts and Splits of single transactions into
multiple categories. The tax status may be Deductible or Credit.
A 'mini-calculator' is active just before the amount is entered.

2) VIEW /EDIT TRANSACTIONS - Transactions may be selected on
various criteria. They are displayed a 'page' at a time, and you
may move forward or backward. On any page, transactions may be
edited a line at a time. All fields except the Account and Type
may be changed or the entire transaction deleted. Account and
Category files are updated.

3) RECONCILE ACCOUNT - Outstanding transactions from any account
are presented in order by date to compare with a bank statement,
and mark as cancelled or outstanding. You may also edit the
amounts of any transactions presented. You may add one Charge and
one Interest transaction before the final balance from the bank
statement. All work is done in temporary files and may be aborted
at any time with no alteration of the main files.

4) REPORTS - Reports may be viewed or sent to a printer:
- Accounts - by code or subtotaled by type
- Categories - Selected for a range of months or
A single month with optional year-to-date totals
- Transactions - May be selected on various criteria and
reported by Account, Type, Tax Status, or Budget.

5) ENTER / EDIT BUDGET CATEGORIES - You may define new
categories, or edit pre-existing ones.

6) ENTER / EDIT ACCOUNTS - Define new accounts or edit old ones.

7) BACKUP / SORT DATAFILES - Backup or restore files to/from up
to 2 drives. Sort datafiles for more rapid access.

8) YEAR-END RESET - Reset Categories and Accounts files for new
year. All uncancelled transactions are retained. In
addition, you may elect to retain all transactions after a
certain date, and transactions which meet certain criteria
(e.g. budget or tax status) after a second date.

HOMFIN - 4 - John R. Yandrasitz



HOMFIN was designed for and requires dBASE-II (Ashton-Tate
Publisher) version 2.4 or higher.


The extensive prompts of the programs require a terminal which
will CLEAR TO END OF SCREEN on receipt of an ASCII string which
must be defined in the startup program HOMFIN.CMD. There is a way
around this as described in the 'Getting Started' section of the
documentation, but it requires extensive editing of the programs,
and would slow execution considerably.


Up to three drives may be specified in the startup program.
The program and format files reside on the DEFAULT drive. These
require 103K. The database files and index files reside on the
data drive. Transactions require 76 bytes, accounts 78, and budget
categories 528 bytes / category. Thus 1200 transactions in 10
accounts and 20 budget categories would require about 100K. Index
files will take additional space. A temporary drive is also
defined for work files. Ideally this should have as much space as
the largest datafile.

For reasonable speed of operation a hard disk is recommended.
In this case, define all the drives as the same for best speed.
The most time-consuming task is access of the program files. Thus,
if you have a RAM disk, use this as the DEFAULT drive and copy the
CMD and FRM files to it. Persons with only floppy drives may find
this (and other dBASE-II applications) intolerably slow.


HOMFIN is Copyright (C) 1987 by John R. Yandrasitz with all
rights except for distribution reserved. It is being distributed

This means that you are welcome and encouraged to try it out
yourself and to pass it around to friends, or upload it to bulletin
boards or information utilities. Should you find that it meets
your needs and you decide to use it, I ask that you pay a nominal
fee for the privilege. In this case

<<< Please send $25.00 >>> to John R. Yandrasitz
168 Brooklea Road
Rosemont PA 19010

I will maintain a list of all 'authorized users'. Please
include your address, Compuserve id, etc. so that I may contact you
in case of updates.

HOMFIN - 5 - John R. Yandrasitz

HOMFIN is available in the Compuserve CPMSIG in three files:

HOMFIN.DES - A brief description (the same as the first part
of the documentation)

HOMFIN.DOC - The full documentation. This is 30 pages
including a Table of Contents. It is already formatted to be
sent to an 80 column / 66 line printer.

HOMFIN.LBR - A Novosielski Library file containing all of the
program and format files as well as a startup database. This
needs to be downloaded as a binary file and 'unsqueezed' with
a utility such as NULU.COM.

In addition, I can provide the programs and documentation on
8" IBM format or 5.25" Apple format cp/m disks or on 5.25" MS-DOS
disks. In this case, please send $30.00 to the above address.

The command files in HOMFIN.LBR are:



TRENTER.CMD (1) Enter Transactions

XTRACT.CMD (2) (4) Select transactions
VIEWEDIT.CMD (2) View / Edit transactions
TREDIT.CMD (2) Handles Editing of files

RECON.CMD (3) Reconcile Bank Statement

HOMREP.CMD (4) Reports Sub-menu
CATREP.CMD Report Budget Categories
ACTREP.CMD Report Account Summaries
TRAREP.CMD Report Transactions (XTRACT)
QREPT.CMD Quick Report transactions

BUDGET.CMD (5) Enter / Edit Budget Categories

ACEDIT.CMD (6) Enter / Edit Accounts

BKPSRT.CMD (7) Backup / Restore / Sort files

RESET.CMD (8) Year-end Reset

GETACODE.CMD Makes account code list
GETBCODE.CMD Makes category code list

ACCOUNTS.CMD 'Opens' and updates accounts
ACLIST.CMD Lists active accounts on screen.

HMAKER.CMD Creates Database / Index files

HOMFIN - 6 - John R. Yandrasitz


To use HOMFIN you will need to create the databases and index
files and to edit the startup program HOMFIN.CMD.


Use a word processor which does not add any formatting
information, e.g. Wordstar using the 'N' option. Alternatively you
may use the dBASE editor by the command

Look for the section
************** DEFINE VARIABLES ************************

You will need to define three drives and the system specific
variable clr which is an ASCII sequence which will cause your
terminal to clear to the end of the screen.

The DEFAULT DRIVE is defined by the 'SET DEFAULT TO '
sequence. This drive holds all the command and format files. It
shoud be your fastest drive as it will get the most access; use a
RAM disk if you have one.

VARIABLES DDR and TDR define the drives for the data files and
the drive to hold temporary files. These may of course be the same
drive and may also be the Default drive. Ideally, there should be
sufficient space on tdr to make a temporary file as large as your
largest data file on ddr.

If you have sufficient space, the most efficient operation
will be with all of the programs and data files on the same drive.

Finally you will need to define the VARIABLE CLR. This is the
ASCII code which when sent to your terminal will clear to the end
of the screen. It is defined by the command 'STORE ----- TO clr'.
What you store may be more than one character; e.g. if the command
you need is ESC Z you would edit this line to read
STORE CHR(27) + 'Z' TO clr

If you are not completely sure which command you need for your
system test it as follows:
At the dBASE prompt define clr as your test command
Get some lines on the screen; e.g. by DISP STAT or DISP FILES
Pick a point in the middle of this text; e.g. line 10 and say
@ 10,1 SAY clr

If clr is correctly defined the text should disappear from
line 10 to the end of the screen.

If your system does not support a clear to end of screen
command you could still use the programs by modifying them.
However, unless your system is very fast I would not recommend it.

HOMFIN - 7 - John R. Yandrasitz

You would need to replace all references in all the 'CMD' files
of type '@ x,0 SAY clr' with two lines:
STORE xx TO L (where xx is the line number)

You will also need the file CLRBOT.CMD which is

* Clears Screen from line L to bottom

@ L,0




The program HMAKER.CMD is provided to create the data and
index files for use with HOMFIN. However, it needs to work with a
database which contains the structure of the files. If you do not
have the file HMAKER.DBF (from HOMFIN.LBR), you will need to CREATE
it as follows:

From the dBASE prompt type CREATE HMAKER
(dBASE will respond)


001 FIELD:NAME,C,10 (enter these fields)

002 FIELD:TYPE,C,1 "

003 FIELD:LEN,N,3 "

004 FIELD:DEC,N,3 "



You will now have CREATED the file HMAKER.DBF on your Default
drive. Make note of which it is, and make sure there is a disk in
the drive on which you want to CREATE your data and index files.
Then type DO HMAKER
(or DO D:HMAKER where D: is the drive with HMAKER.CMD)

Tell the program which drives you are using and let it create
the database and index files.

HOMFIN - 8 - John R. Yandrasitz

Using the Programs


The dBASE 'PICTURE' is used extensively to make entry of
information both faster and more accurate. Dates are entered in
the month/day/year format, and only numbers are allowed. Months
before October should be entered with a leading '0'. Entries which
need to be in upper case will be automatically converted by the
program. You never need to use the shift key for account or budget
codes or transaction type. If the field you are entering already
contains the correct information, just use Return(Enter).

The dBASE cursor movement and control keys are valuable when
entering information in a field. These are:

^D - Cursor right ^S - Cursor left
^V - Insert mode (toggle) ^Y - Clear to end of field
^E - Return to previous field
The last will often not work; if the program has already
evaluated and used the data from the previous field a 'CLEAR GETS'
has been executed.

You may often see a prompt saying that your entries will be
TRIMed. This refers to removing trailing spaces before using the
entry in a search. For example, entering only two letters for a
four character account code, will after TRIMing retrieve all the
accounts with codes which begin with those two letters. This
feature can be used to great advantage if account and budget
category codes are well chosen - e.g. all checking accounts as
'CKxx' or all contributions as categories 'COxx'.

Normally, the ESCAPE key will abort a dBASE program if it is
entered while the program is not waiting for an entry and the
feature has not been disabled. These programs do temporarily
disable the ESCAPE feature to protect the integrity of the data.
This happens while accounts are 'open' and during major revisions
(e.g. sorting) of the files. While I encourage using the normal
exit for these programs, the ESCAPE should be disabled wherever it
needs to be. That is, if the ESCAPE works, it is all right. The
dBASE CLEAR or QUIT commands should then be used to update the
files. (HOMFIN.CMD starts with a CLEAR). You may thus use the
ESCAPE key to get out of a very long extraction or report without
having to worry about losing your data.

To start everything off from the dBASE prompt type:

.DO HOMFIN (if HOMFIN.CMD is on the Default drive) or
.DO D:HOMFIN (if HOMFIN.CMD is on drive D: not the default.)

HOMFIN - 9 - John R. Yandrasitz


While Budget Categories are always optional (you can leave
this field blank), Accounts never are. If you try to enter
transactions without having any Account Codes defined you will get
hung up. Therefore, your very first task with HOMFIN will be to
define at least one account using option 6. I would also recommend
defining some Budget Categories (option 5) as well before starting
to enter transactions.


This is the default entry from the main menu and the means for
most of your data entry. You may enter transactions of several
types including transfers between Accounts and split transactions.
Account balances are continually updated and displayed. Budget
categories are updated by month for transactions in the current
year as defined in the startup date.

During entry the lower half of the screen is reserved for
prompts, the top few lines contain the code, name, and current
balance for one or two accounts, and your transactions are entered
in the middle. When this section fills up a Write will be forced
to the database and this section will clear and return with the
last 4 records. These will be the same as the last 4 on the
previous screen with two exceptions: The first or 'Total' entry
for split transactions will not be present; a Transfer will be
followed by a Deposit to the account receiving the transfer.

During transaction entry, accounts will be 'open'. Thus the
ESCAPE is set OFF to avoid leaving the program prematurely. In the
event of a power loss or reset during this program, the
Transactions and Budget Categories databases will be mostly intact
(at least after a PACK), but the Accounts database will not be
correct for any accounts which were 'open' at the time. See the
end of this section for tips on how to recover from this situation.

DATE - While the day of the month is only for your records,
both the Month and Year are used by the program when it
updates the Budget Category database. Updates are made only
for transactions with the same Year as present in the startup
date; the record which gets updated is defined by the Month.
There is some error checking, but it pays to be careful.

To EXIT the program set the Month to '00'.

TYPE - There are 5 types of transactions:
P - Payment e.g. check, credit card purchase, or
withdrawal from a bank teller.
D - Deposit
I - Interest received.
C - Charge e.g. Interest paid, check fees, annual fees.
T - Transfer from one account to another.
S - Split Transactions. A single payment which contains
parts which you would like to itemize and/or ascribe
to different Budget Categories.

HOMFIN - 10 - John R. Yandrasitz

Small differences in entry result from using different
Types. Except for 'S', these will be noted below. Split
transactions will be discussed at the end of this subsection.

No separate Type is provided for Refunds. These are best
handled using type 'P' with negative numbers. This will
correctly update both the Accounts and the Budget Category you
specify in the Refund.

ACCOUNT - You need to enter a valid code from the list
presented. If you are not sure which one you want 'LIST' will
list all the available accounts and return you to this prompt.

(TO ACCOUNT) - on a Transfer only you will be prompted for the
account to transfer TO. Enter a valid code or 'LIST'.

NUMBER - May be Text or Numeric. If the account has a 'Last
Number', this + 1 will be offered as a prompt. You might also
enter things like 'MAC ' to indicate an automatic teller or
't-02' to specify a telephone transfer to company #2, etc.
Note that these entries will not affect the 'Last number' of a
checking account. This field is skipped for TYPES D, I, C.

DESCRIPTION - Enter anything you like. This field starts out
as a blank except for Type T and S. For a transfer, it
contains 'to XXXX' where XXXX is the account transfered TO.
You may use the cursor key and add more information.

TAX / CALCULATOR - Enter a space to skip, 'C'redit,
'D'eductble, or '*' to invoke the calculator. The calculator
will accept numbers, math operators (+-/*), parentheses, or
valid variable names. Some useful variables are ac1bal,
ac2bal - the balances for accounts 1 and 2, and mamt - the
amount you will be prompted with (see splits). If you enter
an expression which can not be evaluated a 0 will be returned.

AMOUNT - Enter positive or negative numbers.

CATEGORY - You may enter a valid Budget Category code or leave
this field blank. The Category database will be updated if
the transaction date is the current year. This field is
skipped for Interest and Charge types, but you may enter a
Category for a Deposit. For example if an outside check is
deposited in a savings account, you could indicate this as
category SAVEings.

INFORMATION CORRECT? - At this point all the entries are
temporary. You may return to the beginning of the line and
change any or all of them or even leave the program. You must
enter 'T' or 'Y' at this prompt to proceed to the next entry.


HOMFIN - 11 - John R. Yandrasitz

SPLIT TRANSACTIONS - Entering 'S' for the transaction type
allows you to break a single payment into several others
which may differ in Description, Tax Status, or Budget
Category. Entries differ somewhat from the above.

TOTAL AMOUNT - On the first time through, the only
difference between an 'S' entry and a 'P' is that you will be
prompted for the 'Total amount' and you will not have the
opportunity to enter a Budget Category. The 'Total' is the
amount as seen by the payee, e.g. the amount of a check.

NUMBER - On succeeding entries the Number field will be the
number entered on the first entry followed by a letter.
Entries past the first 'S' type will skip over the Date, Type,
Account, and Number fields.

DESCRIPTION - To speed entry, the Description field prompt
will be the same as the last entry rather than blank. You may
then edit this description for each split.

AMOUNT - Again to speed entry, the Amount field prompt will
be the amount remaining from the Total entered the first time.
If you are using the calculator mode, you will find the
remaining amount in 'mamt' or 'mtot'.

ENDING SPLIT TRANSACTIONS - The program will recycle through
the split transaction entry until the 'Total Amount' initially
entered is met or exceeded. The Total is not saved, Accounts
and Budget Categories are updated from each entry, and the
amount presented on reconciliation will be the sum of the
entries rather than the Total initially entered. Therefore,
you can recover from an error made in entering the initial
'Total Amount'. If you underestimated the Total, arrange your
entries so that it is not exceeded until the last. If you
overestimated the Total, you will be stuck here until you meet
your original estimate. In this case, enter a final 'dummy'
transaction for the overestimate remaining, then delete this
entry using the View/Edit module described next.

HOMFIN - 12 - John R. Yandrasitz


This program allows viewing and editing (or deleting) selected
transactions with full updating of the appropriate databases. The
transactions are selected by an extraction program which is used
here and in option 3 of the Reports program. Once the transactions
have been selected, the program works in three modes: View Display,
Edit Display, and Edit Entry.

One may see transactions by this program or by one of the
Report options (part 4). Features of this option are:

- one may scroll back and forth through the transactions
- the cancellation status is displayed
- there is no printout available
- transactions are presented without sorting

Editing can be performed on any of the fields except Account
and Transaction Type. If these are in error, one may delete the
transaction and re-enter it using program 1. The databases are
updated immediately upon an Edit. The Transactions database
(TRACS) is always updated. The Accounts database (ACCTS) will
change if the Amount field changes. The Budget Category database
(CATEG) will be updated for a change of Category in the current
year. In addition for a defined Category changes will be made for:

- a change of Amount in the current year
- a change of Month in the current year
- a change to or from the current year



This program allows the selection of transactions by various
criteria. Each line completed is 'ANDed' with the previous lines
and restricts the selection. Within a line entries are 'ORed' and
enlarge the number of records extracted for that line. The records
are extracted by copying them to a temporary file (TEMP) by a
single command. There is some restriction on the length of that
command, and if you have specified many criteria at the beginning,
you may not be able to enter those at the end. In general it is
more efficient to select fewer criteria and page through the
transactions to find those you want.

ACCOUNTS - Leave this field blank for all accounts. If an
entry less than 4 characters is made, it will be TRIMed so
that 'CK' will retrieve all accounts like CKxx.

NUMBERS - If an exact account name was entered, you will be
prompted for check numbers to further restrict the search.

(OTHER ACCOUNTS) - If numbers were not entered you will be
prompted for three additional Account codes. These will also
be TRIMed if less than 4 characters are entered.

HOMFIN - 13 - John R. Yandrasitz

DATES - Enter valid dates for the earliest and latest dates to
consider or skip one or both of these tests by setting the
month to '00'. For example, setting the last month to '00'
will only check if a transaction is later than the first date.
If you do not need to restrict the extraction by date, zeroing
these criteria is the most significant thing you can do for
both the speed of the extraction and to ensure that there is
enough room in the command line for the later criteria below.

OUTSTANDING ONLY - A 't' or 'y' will select only uncancelled
transactions. An 'f' or 'n' will not check the cancellation.

TYPE - You may restrict the search to up to three transaction
types (see program 1 for definition). A blank entry or
invalid Type codes (not PDICTS) means no restriction.

<< NOTE >> The criteria below may not be available if the
previous restrictions have filled the command string.

TAX STATUS - Enter 'C'(credit) or 'D'(deduction) or both or
leave blank for no restriction.

STRING - Leave blank for no search or enter a string to be
found in the Description (From/To) field. Trailing spaces
will be removed from your entry, and the string will be found
in any position of this field. The search is independent of
upper or lower case.

BUDGET CATEGORIES - Depending on the length of the command
line thus far, you may enter up to 5 categories. Entries less
than 4 letters will be TRIMed so that 'CO' will retrieve all
COxx categories. 'NONE' will retrieve records with no


This display will consist of up to ten transactions in a
format identical to that seen in program 1 except that an asterisk
in the leftmost position will indicate a Cancelled record.
Initially the limitations used by the Extraction program will be
printed in the lower half of the screen. These will remain only as
long as no editing is done.

Single letter entries will:

Q - Leave this program for the main menu
N - Display the next screen of transactions
P - Display the previous screen of transactions
E - Enter the Edit Display mode.


HOMFIN - 14 - John R. Yandrasitz


A single transaction in a screen of up to 10 will be
highlighted. Single letter entries will:

Q - Return to the View Display mode
U - Move the highlighted line up 1 (with wraparound)
D - Move the highlighted line down 1 (with wraparound)
E - Allow editing of the highlighted transaction.



You may now change any field of this transaction except for
the Account, Type, and Cancellation. You may also delete the
transaction by setting the month to '00'. Modifying the record is
very similar to entering it, including the availability of a
calculator and the need for a blank or valid Budget Category Code.
In addition, you have access to the fifth place of the number (used
for letters in split transactions).

Any changes or deletions will need to be confirmed before
changes are made. If you answer 'n' or 'f' to the Update question
you will be returned to the Edit Display with no changes made. If
you answer 'y' or 't' the transaction will be modified and account
balances and budget categories updated as necessary. Changing a
transfer will NOT correct the balance or transaction for the
receiving account. Deleted records will remain in 'TRACS' until
the database is sorted (Program 7) or a Year End Reset (Program 8).

The Edit Entry section always returns to the Edit display.
From there 'Q' 'Q' will exit to the main menu.

HOMFIN - 15 - John R. Yandrasitz


This program allows you to check your records against a bank
or credit card statement. You may

- Mark records as cancelled
- Edit the Amount field of transactions
- Add up to 2 additional transactions - 1 Charge, 1 Interest
- Check your balance against the bank's

Completion of the program will update the transactions
database for Cancellations and any changes in amounts; add
transactions for Charge or Interest if these were entered; update
the accounts database for any changes in balance; update the budget
categories database for any changes in defined categories in the
current year.

All work is done in memory or temporary files (a temporary
Categories file is only created if needed), and you can abort this
program at any time without making any changes in your permanent

EXTRACTING TRANSACTIONS - Enter a valid account code or 'LIST' to
see all of them. The program will extract all uncancelled records
for that account to a temporary file. Recall that transactions in
accounts with type 'CS-' (cash) are cancelled upon entry.

DISPLAY - The extracted transactions will be presented one at a
time. For 'S'plit transactions, the total will be the sum of all
the splits. Your account balance will be displayed on the top
right and the bank's balance on the left. You may enter:

A - To abort. No changes will be made in any files
Y - To mark a transaction on the statement as cancelled;
'CAN' will appear on the left.
N - To indicate a transaction not on the statement; 'OUT'
will appear on the left
E - To edit the amount of a transaction

EDIT - Entering 'E' will allow you to change the Amount of a
transaction. The balances displayed at the top will change
accordingly. If the Edit option is chosen for a Split transaction
you will be prompted for a new Total amount, which will then be
displayed for editing the splits. In addition, once editing of a
Split transaction is begun, all the remaining splits will be
displayed individually. After editing, the transaction is
redisplayed with the A Y N or E options.


If you wish, you may enter the amount(s) of any charges and/or
interest missing from your records. These will be saved as
Cancelled transactions of type C or I with the description 'from
Reconciliation'. Balances will be adjusted accordingly. You may
of course edit these entries later, or you may enter them as
transactions prior to reconciliation.

HOMFIN - 16 - John R. Yandrasitz

Finally you will be prompted for the balance indicated on your
bank statement. NOTE that the balance for a credit card statement
with outstanding charges is a Negative number, while that of a
checking or savings account is (hopefully) positive.


Your current account balance will then be compared to that on
the bank statement. You will see:

Current Balance - with any changes made in this program
Outstanding Deposits - Not on the bank statement
Outstanding Charges or payments
Bank Statement balance
Differences in balances if there are any

Finally you will be asked if you want to update the databases.
Entering 't' or 'y' will modify your permanent files. This may
take some time, particularly if there are a lot of transactions in
your TRACS database. Entering 'f' or 'n' will exit the program
with no changes to your permanent files.

HOMFIN - 17 - John R. Yandrasitz


This option calls a second menu providing various reports:

1 - Budget Categories
2 - Accounts
3 - Transactions (with several types of sorting)
4 - Quick Report Transactions (limited but faster, no sorting)

All reports may be sent to a printer or to the screen. In the
latter case use S to pause. Printing is set for 80 columns
and 66 lines per page. These may be changed in the '.FRM' files.


A second menu offers the choices:

Monthly Records for a Range of Months - Subtotals by Code with
a report of Budgeted / Spent / Percent / Unspent. (CATEG.FRM)

Categories for a Specific Month - Report of Code / Name /
Budgeted / Spent / Difference (Spent - Budgeted) / Percent

With Totals for Year - As above with a second report giving
the totals for the year to the month selected. (BSUM.FRM)

You will then be prompted for a date or range of dates (option
1). Please enter in the standard format with leading '0' for
months before October. You will also be asked whether you wish the
report to be sent to the printer.

A second screen then allows you to select the Categories you
wish to report. You may choose All; Selected Categories(up to 10);
or All EXCEPT (up to 10) Categories. In the last two cases you
will be prompted to enter Codes until you enter a blank or reach 10
codes. The Budget Codes will be TRIMed, so that entering fewer
than 4 letters will retrieve those categories beginning with the
letters given.

After a report for the specified month, option 3 will total
the chosen categories to a temporary file for the year up to the
specified month, and then report these totals. At the conclusion
of a report you may choose to do more Category reports or to exit
to the Reports Menu.


Two types of Reports are available for Accounts:

A list of accounts arranged by Code with report of the Code /
Name / Type / Balance / Institution / Last Number / Last
Update. This report provides the basic information for the
selected accounts. Uses ACCTS.FRM.

HOMFIN - 18 - John R. Yandrasitz

A summary of accounts subtotaled by Type with report of the
Code / Name / Institution / Balance / Change for the Year.
This report tells you where your money is. Uses ACTSUM.FRM.

For either type of report you may choose accounts by the five
defined types (Credit cards / Cash / Checking / Savings /
Restricted) by answering 'y' or 'n' for each Type. You may also
choose to send the report to a printer.

After any report you have the option of more Accounts reports
or to return to the Reports menu.


Option 3 of the Reports menu calls a program to extract
transactions according to several criteria. This program is also
used in the View / Edit program (option 2 from the main menu) and
has been discussed above. The chosen records are copied to a
temporary file, and you then have several options for reporting:

1 - By Date. Similar to format used on entry. (TRACS.FRM)
Sorting - by date
Total - final only. Deposits and interest negative (see
Fields - Date / Type / Account / Number / From/To / Tax
/ Amount / Category.

2 - By Account (TRAACT.FRM)
Sorting - by Account, Number, and Date
Subtotals by Account. D and I transactions negative.
Fields - Date / Type / Number / From/To / Tax / Amount /

3 - By Type and Account (TRATYP.FRM)
Sorting - by Type, Account, and Date
Subtotals by Type + Account. D and I negative.
Fields - Date / Type / Number / From/To / Tax / Amount /

4 - By Budget Category (TRACAT.FRM)
Sorting - By Category and Date
Subtotals by Budget Category
Fields - Date / Type / Account / Number / From/To / Tax /

5 - By Tax Status and Budget Category (TRATAX.FRM)
Sorting - By Tax Flag, Category, and Date
Subtotals by TAX + Category
Fields - Date / Type / Account / Number / From/To /

You may specify a heading for any of these reports and may
send them to the printer. After a report, you may choose to return
to the reports menu or to report the same extracted transactions
using another report format.

HOMFIN - 19 - John R. Yandrasitz

Deposit and Interest Transactions (Types D and I) are treated
differently according to the intent of the Report. The first three
reports give the totals spent in a given time or for a given
account. In this case, one would like to subtract deposits and
interest from payments to arrive at a total. Accordingly for these
reports the amounts of D and I transactions are converted to
negative numbers. In contrast, one might have deposited an entire
paycheck to a savings account or a car loan account. When
reporting these budget categories one would like these deposits
added to other payments. Thus, for the last two report types which
give totals by Budget Categories, D and I transactions are reported
as they were entered.


The final option of the reports menu provides a report of
transactions similar to 'By Date' in the previous option. It is
faster than the latter in that no extraction of records is
performed; format TRACS.FRM is used to report directly from the
Transactions file TRACS.DBF.

No sorting of records or correction of amounts by transaction
type (D or I) is performed. You may choose the transactions to
report by specifying:

First and Last Dates (always evaluated)
One Account (Leave blank for all)
Only outstanding (not cancelled) transactions
One Budget Category (Leave blank for all)

The Account and Category entries are TRIMed so that entering
less than 4 characters will retrieve all the Accounts or all the
Categories which begin with the letters you entered. Note that
each line further limits the records extracted, so that entering a
full Account code, Category code, and Outstanding will retrieve
ONLY those records which meet all three criteria.

After a Quick Report you may do another or return to the
Reports menu. As no sorting is performed, Quick Reports are most
useful on a sorted database. See Menu option 7 for sorting
transactions by date.

HOMFIN - 20 - John R. Yandrasitz


Option 5 allows you to create, edit, or view budget
categories. Each Category has a 4 letter Code, a Name, and
budgeted amounts for 12 months; when in use the database will also
hold the amount Spent in each month and the Percent of the budgeted
amount that this represents.

When called the program will display the currently defined
categories 3 across and prompt for entry of a new Code. Leaving
this field blank will take you right to the "More budgets?" prompt
where you may exit. If you enter a Code you will be taken to the
rest of the program, after which you will be prompted for "Next
budget". Making an entry there will allow you to work on another
Category without returning to this display. A blank entry there
will result in the "More budgets?" prompt and an opportunity to
return to this display.

Codes should be chosen to be meaningful when used as a prompt.
You should also recall that most of the programs can retrieve
Categories or Transactions based on the beginning of the Code.
That is, if you plan on several categories for clothing, you should
define them all as CLxx or several categories for savings as SAxx.
By doing this you will be able to lump these categories by calling
for 'CL' or 'SA'.

Entering a Code will cause the display of the current
information for that category and a prompt for various actions.
The display includes the Code, Name, and 12 months of amounts
Budgeted and Spent, and the Percentage. For a pre-existing Code,
this will be the current data, and you will be at the 'Options'
prompt with all the options discussed below. For a new Code the
fields will be blank and 0, and you will automatically be in the
Edit mode. In the latter case, you will have to go through all the
fields to get to the 'Options' field. Options are:

(C) CONTINUE - The database is unchanged and you may enter
another Category. Use this option to review the current data.

(W) WRITE - The database is updated with the data displayed on
the screen. This is REQUIRED to enter new data.

(E) EDIT - Enter or change the data.

For a pre-existing Code there are two additional options:


HOMFIN - 21 - John R. Yandrasitz


Choosing the Edit option (or being forced into it by entering
a new Code) will first prompt for a Name for the category and then
for 12 months of budgeted amounts. As you enter these a total will
be displayed after month 12. For non-zero budgeted amounts, a
percentage of Spent / Budgeted will be calculated and displayed to
the right. For a pre-existing Code, you will be prompted with the
amount currently defined; for a new Code you will be prompted with
the last amount entered (which is initially 0).

At the end of these fields you will return to the 'Options'
DATABASE. To add a new Category or change an old one you must
follow the EDIT with (W)rite. You may also choose to (C)ontinue
with no changes to the database.


Choosing to Delete a Category will delete all entries for that
Code in the Categories database and will PACK that database. Any
transactions in the current year (defined on startup) with the
deleted Code will be changed to blank Category. This is done to
avoid problems later if these transactions are edited. Thus, if
you wish to change these transactions to another Code, you should
do it before Deleting the Code. Transactions from years other than
the current will be unchanged and these may be reported by


You may also choose to Replace the Code of a pre-existing
Category. The program will check to make sure you don't specify a
currently existing Code as the replacement. In addition to
changing the Categories database, this option will also Replace the
Codes where they occur in the Transactions database for the current
year (defined at startup). Codes will not be changed in
transactions from years other than the current, and these may still
be reported by the old Code.

If any changes have been made to the Codes, either by defining
a new one or deleting or replacing an old one, the program will
update the list of codes to be used as prompts. This will occur
just before returning to the Main Menu.

HOMFIN - 22 - John R. Yandrasitz


Option 6 allows you to enter, edit or view accounts. Each
Account record has a 4 letter Code, a Type, Name, Institution,
Balance, Inital Balance, Last Number, and Last Update. You may use
this program to enter or modify any of these fields except for the
inital balance and last update; these are automatically handled by
this and other programs.

On entry all the current accounts will be displayed in the
form CODE - Name. You will be prompted to enter a 4 letter code.
A blank here will exit the program; 'LIST' will produce a listing
of the currently defined accounts and return to the prompt.
Entering a Code for an existing account will produce a description
containing all the fields except the initial balance, and you will
then have various options. Entering a Code not yet defined will
take you directly to the Edit option to enter data for the new

Account codes should be chosen so that they are meaningful
when displayed as a prompt. As with the Budget Category Codes,
most programs will retrieve Accounts based on the beginning of the
Code. Thus, using IRxx for all IRA accounts will allow you to
retrieve them as a group by specifying 'IR' as the Code.


Here you may enter data to define a new Account or modify the
data of an old one.

TYPE - There are 4 defined types of accounts. You will be
prompted for a 3 letter code, but are only restricted on the
first 2 letters. The types are:

CS - Cash. Transactions are Cancelled upon entry, and
the initial balance is set to 0 on a Year End Reset.

CC - Credit Card. Usually represents debt. You might
also use this code to define other debts such as a car
loan and then use the 'T' option when making payments.

CH - Checking accounts

SA - Savings accounts

R - Restricted. Use this for IRA and Trust accounts.
You could also use this code for CD's before maturity.

Except for CS, the main importance of these codes is for
Reports. When reporting Account data you choose which type to
report by the 1 or 2 letter restrictions. However, the
summary by type report subtotals on the 3 letter field. For
example, if different family members have their own savings
account, you could define the codes SAA, SAB, etc., then all
of A's savings accounts would be subtotaled, all of B's, etc.

HOMFIN - 23 - John R. Yandrasitz

NAME - A 20 character field to describe the Account. This
field is displayed along with the code by most programs.

INSTITUTION - Another 20 character descriptive field which is
not normally displayed, but is reported. One might put other
information here such as the maturity date for a CD.

BALANCE - Enter the current account balance. Use negative
numbers for debts.

Last Check Number - Enter the last number for accounts which
use such things. For those which do not, leave this blank.

You will then be asked if you wish to update the file with the
new or edited information. Answering 'n' or 'f' will make no
changes in you file. A positive answer will change the information
in a pre-existing account and store today's date as the Last
Update. For a new account, the balance entered will also be
recorded as the Initial Balance.


You may choose to replace the 4 letter Code which defines an
Account; a check will be made to make sure the replacement does not
already exist. This is similar to the option of changing a Budget
Category Code discussed above, except that the transactions file
will be updated with the replacement code for all records - not
just the current year.


You may also choose to delete an account from the database.
This option is provided to remove closed accounts and should be
used with caution. NOTE - YOU WILL NOT BE ABLE TO EDIT ANY
needs to be done should be done before deleting the account. As
you will also not be able to reconcile these transactions, this
option Cancels those transactions in the TRACS database. The
transactions will remain in the file unless removed at a Year End
Reset. Thus you may still extract and report them.

After any of these actions, you will be asked if you wish to
work on more accounts. A negative answer will return you to the
Main Menu. If any changes have been made to the list of current
account codes, this list will be updated before returning.

HOMFIN - 24 - John R. Yandrasitz


Menu option 7 allows you to take care of 'housekeeping' tasks
from within the program. You may sort any of the database files
for more rapid or convenient access. You may also copy your
database files to a back-up disk or restore them from that disk.

You will be prompted for two drives; one for the Transactions
file and one for the Accounts and Categories files. Leaving the
drive specification blank will skip the backup for that(those)
files. This is provided to accomodate small floppies which might
not hold all three files. In essentially every case, you will want
to backup all three files at once, as most transactions also change
account and budget category balances.

This is one of the places where dBASE can crash back into the
system if for example a non-existent drive is specified.
Therefore, all the datafiles are closed, then reopened before the
backup is attempted. If you do crash here there will be no harm
done to your main files. You may also use PIP or another program
outside of dBASE to backup your files.

This option will sort the TRACS file by date, restore the
INDEX field NX and reindex the file. Records for multiple years
will be correctly sorted by first indexing the file by DATE. I
recommend using this option frequently so that you can more easily
use the 'Quick Report' and 'View' options for transactions. If you
have Deleted records in the database, this is where they will
actually be removed. Because the index field needs to be redone,
sorting by date is best done with this program.

Having the Accounts File correctly sorted makes a small
difference in speed. This option is included mainly for
completeness. The Sort could also be done by dBASE or DSORT taking
care to REINDEX the file on ACODE.

This Sort can make a big difference in speed, especially at
the beginning of the program. DSORT on BCODE could do it faster if
you wish, but make sure the new file is indexed on MONTH + BCODE.

This is the mirror image of the Back Up option, again with 0
to 2 drives specified. Drive specifications left blank will skip
that(those) files. The Restored files will be REINDEXED and the
lists of active Accounts and Budget Categories will be recreated.
NOTE: Your working datafiles will be REPLACED by those from the
backup drive.

HOMFIN - 25 - John R. Yandrasitz


The program begins with an explanation of what it is about to
do, and gives you the option to return to the main menu without
doing it. Should you continue, you will get yet another chance to
change your mind after the specifications for what transactions to
save. The ESCAPE feature is also on up to that point.

All the datafiles are changed by a year end reset. All not
cancelled transactions are saved, and you may specify others to
save. Accounts with Type 'CSx' (Cash) have their balances reset to
0; all Accounts have their initial balance replaced with the
current balance. Finally, all Budget Categories are reset to 0
Spent for all months. While you may perform a reset at any time,
the resetting of the Budget Categories makes it most accurate to do
it at the beginning of the year.


You may specify which transactions to retain:

NOT CANCELLED Transactions will be automatically saved. You
might want to check which these are before the RESET and perhaps
cancel some of them using option 3 of the Main Menu.

ALL AFTER A CERTAIN DATE. The default date is January 1 of
the current year. If you wish to skip this option set the month to
'00'. Setting the year to last year will save all last year's

is January 1 of last year. Setting the month to '00' will skip
this option entirely. If you specify a date you then may choose
which transactions to save by Account, Category, and Tax Status.

ACCOUNTS - You may specify up to 6 Account Codes. Leaving the
first blank will skip this option entirely; i.e. no checking
for Account will be done. The Codes you enter will be TRIMed.
If for example you named all your savings accounts 'SAxx',
entering 'SA' here will save all of them. You can thus use
the 6 Codes to save many different Accounts.

BUDGET CATEGORIES - As with the Accounts, you may enter up to
6 Codes which will be used after TRIMing. If all clothing
categories are 'CLxx', entering 'CL' will save all of them.
If you leave the first field blank, this option will be
skipped, and no checking for Category will be done.

TAX STATUS - You may leave this blank for no checking or
specify 'C' - Credit, or 'D' - Deductible, or both.

HOMFIN - 26 - John R. Yandrasitz


Once you have confirmed that the specifications to save
transactions are correct you will be given one final opportunity to
back out of the Reset.

If you confirm the Reset, the program will go through the
Transactions file, deleting those transactions which do not meet
the specifications you have entered. You will see what record it
is working on; a '*' indicates that that record is being deleted.
After this, the TRACS file will be PACKED and Reindexed.

Next all of the Spent fields in the Budget Categories database
will be set to 0. You will still have the budgeted amounts in the

Finally the Accounts database will be reset. All Cash
Accounts (Type 'CSx') will be reset to 0 balance and the Last
Update changed to today. Finally, all Accounts will have their
Initial Balance replaced with their current balance.


9 - QUIT

This option will leave HOMFIN and return you to the dBASE
prompt. You will need to type 'quit' to leave dBASE.

All the datafiles will be written out and memory variables
cleared. If the programs created any temporary files, these will
remain on the drive 'tdr' specified in the startup program.
TEMP.DBF will be the last created by an extraction or sorting.
TMPCAT.DBF may also have been creatd by the Reconciliation program
(option 3). You may use these files for anything you wish or
delete them to recover the disk space.

HOMFIN - 27 - John R. Yandrasitz



The programs use the dBASE system date as the current date.
This is especially important for the current year for updating
Budget Categories. If you wish to change the system date you may
do so from the dBASE prompt by typing

SET DATE TO mm/dd/yy where mm,dd,and yy are numbers
representing the date you wish.

You may see the current date by typing ? date().


Even when major deletions are made as in a Year-End Reset of
the transactions file, dBASE does not shorten the length of the
file. If you find you need the disk space, you will need to
actually delete the data and index files and then recreate them.
The easiest way is to use HMAKER to make new files, then use main
menu option 7 to Restore the data from your backup files.


A lot of effort has been made to protect the integrity of the
datafiles. Yet, an unexpected exit from these programs has the
potential for corrupting these. Some tools are helpful to
reconstruct your data:

QUICK REPORT of transactions with no specifications will list
them all in the order which they were entered.

REPORT of all transactions for a given account by date will
give the total activity for that account. This may be
compared with the Change for Year figure in the Accounts by
Type report and the balance edited using option 6.

REPORT of all transactions by Budget Category for the current
year will provide similar information for a Category. This
may be compared with the figure obtained from Report of
Categories for selected months.


This should be no problem. Use CLEAR or QUIT to update all
the files on disk. The only potential problem could be the failure
to correctly update the balance of an account which was 'open'.
This could only occur during entry (option 1) or editing (part of
option 2). In this case you may have to edit the balance to
correct it (option 6).

HOMFIN - 28 - John R. Yandrasitz


This could be more serious. You may have lost the correct
balance of any 'open' accounts as well as any transactions or
updates to budget categories which were not yet written to disk.

If you haven't done a lot of work this session, your best
option is to restore the files from your most recent backup and re-
enter the data.

Otherwise, get back into dBASE and PACK the files as follows:
Set the default drive to the one which contains your files and type




This will fix any files where the new data was appended, but
the index block not yet updated.

The programs force a write of data to the disk files fairly
often. Transactions are written out frequently by closing and
reopening the file. Accounts and Categories share the Secondary
file space; anytime you change between them, the data of the last
will be written out. Nevertheless, you should check all the files
especially those that might have been in use when the crash

1 - Enter data - All files are in use. Transactions are written
out at least every 10. Budget categories are updated immediately,
but the information might have been in memory rather than on the
disk. Every time a new account is opened, the budget category file
is closed. The major problem with a crash here will be in the
balance of an account which was 'open'. Use the reports described
above to calculate the correct balance and option 6 to enter it.

2 - View / Edit - If no editing was done, you could lose only data
not yet written out from a previous program. With editing you
could lose any updates due to the edit, and all the files could be

3 - Reconciliation - Up until the end, all work is done in
temporary files. You could possibly lose data not yet written out
from a previous program.

4 - Reports - No modifications are made to any of the datafiles.

5 - View / Edit Categories - Changes the Categories file. Thus,
the Accounts file should be intact, and the transactions file
should be unchanged except when deleting or changing a Category.

HOMFIN - 29 - John R. Yandrasitz

6 - View / Edit Accounts - Changes the Accounts file. Thus the
Categories file should always be intact. Transactions should be
unchanged except for when deleting or changing an account code.

7 - Backup / Sort - As this is the most likely place for a system
crash, ALL the files are written out to disk before a backup or
restore operation. On a sort operation either the original file or
the file TEMP should have good, complete data. On a Restore, you
can just do it again.

8 - Year-End Reset - You MUST have made a backup of your files
before starting a Reset. Didn't you?

In summary, unless your system is very cranky you should have
no problem. An exit to the dBASE prompt is fixed by a CLEAR
command. This should fix everything except possibly an account
balance not yet updated in the Enter or Edit programs. A crash out
of dBASE entirely may still not be much problem, since the files
are opened and closed fairly frequently. PACK them first, then
check for damage.


Your questions and comments on these programs are welcome.
Please do not call me with them, as I will probably not be much use
on the phone. Please do send as complete a description as you can
of any problems you run into.

I will be checking my Compuserve mailbox frequently, and this
might be the fastest. Send EASYPLEX to
John R. Yandrasitz
I.D. 71066,164
I understand this address will also work from MCI mail.

Alternatively, you may write to me at:
168 Brooklea Road
Rosemont PA 19010

I hope that you find HOMFIN as useful and easy to use as I do.


HOMFIN - 30 - John R. Yandrasitz

 December 12, 2017  Add comments

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>