home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
DATABASE
/
LEDGERS.LBR
/
LEDGERS.DZC
/
LEDGERS.DOC
Wrap
Text File
|
2000-06-30
|
60KB
|
2,047 lines
@@ @@
@@ @@
@@ @@
@@ @@@@@@ @@@@@@@ @@@@@@ @@@@@@ @ @@@ @@@@@@
@@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@
@@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@
@@ @@@@@@@@ @@ @@ @@ @@ @@@@@@@@ @@ @@@@@@
@@ @@ @@ @@ @@ @@ @@ @@ @@
@@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@
@@@@@@@@@ @@@@@@ @@@@@ @ @@@@@@@ @@@@@@ @@ @@@@@@
@@
@@@@@@@@
- V e r s i o n 2 . 1 -
A dBASEII Personal Record Keeping Database System
Copyright (c) 1985, by n/SYSTEMS
21460 Bear Creek Road, Los Gatos, CA 95030
LEDGERS Version 2.1 -- a dBASEII Personal Record Keeping Database
System. Written for dBASEII Version 2.4 or above by Terry Hazen.
LEDGERS.LBR and all the files contained therein are Copyright (c)
1985, by n/SYSTEMS, Los Gatos, CA 95030. They may be used free-
ly, but may not be sold, included in a package for sale, or used
as an incentive to buy, by any person, organization or corpora-
tion without prior arrangement with the copyright holder,
n/SYSTEMS. Furthermore, neither n/SYSTEMS nor the author, Terry
Hazen, will bear any responsibility for losses resulting from the
use or inability to use this program.
LEDGERS.LBR may not be distributed without LEDGERS.DOC, nor may
the copyright messages be removed from any of the files contained
therein nor caused to not be displayed.
The command files in LEDGERS.LBR are supplied in a "stripped"
format with all comments, blank lines, and leading spaces removed
to reduce their size and increase operating speed.
LEDGERS is user-supported software. A great many hours have gone
into designing and developing LEDGERS. If, after using LEDGERS
for awhile, you feel that it is software that is useful to you
and that you would like to support, I encourage you to send a
contribution of $35.
Contributions, comments, questions, and suggestions may be sent
to:
Terry Hazen
21460 Bear Creek Road
Los Gatos, CA 95030
dBASEII is a trademark of Ashton-Tate
CP/M is a trademark of Digital Research
T A B L E O F C O N T E N T S
Chapter 1 INTRODUCTION
1.1 System Requirements . . . . . . . . . . . . . . . . . . 1-1
1.2 LEDGERS Description . . . . . . . . . . . . . . . . . . 1-1
Chapter 2 OVERVIEW OF LEDGERS
2.1 The Structure of LEDGERS . . . . . . . . . . . . . . . 2-1
2.1.1 LEDGERS Command Files. . . . . . . . . . . . . . 2-1
2.1.2 LEDGERS Database Files . . . . . . . . . . . . . 2-1
2.2 The Active Ledger . . . . . . . . . . . . . . . . . . . 2-2
2.3 The LEDGERS Display . . . . . . . . . . . . . . . . . . 2-2
2.4 Ledger Transaction Entries . . . . . . . . . . . . . . 2-3
2.4.1 Check Number . . . . . . . . . . . . . . . . . . 2-3
2.4.2 Type of Transaction . . . . . . . . . . . . . . 2-3
2.4.3 Transaction Date . . . . . . . . . . . . . . . . 2-4
2.4.4 Name of Payee . . . . . . . . . . . . . . . . . 2-4
2.4.5 Memo . . . . . . . . . . . . . . . . . . . . . . 2-4
2.4.6 Account Number . . . . . . . . . . . . . . . . . 2-4
2.4.7 Amount . . . . . . . . . . . . . . . . . . . . . 2-5
2.4.8 Categories . . . . . . . . . . . . . . . . . . . 2-5
2.4.9 Paid Flag . . . . . . . . . . . . . . . . . . . 2-5
2.5 Reports . . . . . . . . . . . . . . . . . . . . . . . . 2-5
2.6 Writing Checks . . . . . . . . . . . . . . . . . . . . 2-6
Chapter 3 INSTALLING LEDGERS
3.1 Terminal Control Sequences . . . . . . . . . . . . . . 3-1
3.1.1 Start Reverse Video/Highlighting . . . . . . . . 3-2
3.1.2 Stop Reverse Video/Highlighting . . . . . . . . 3-2
3.1.3 Erase from Cursor to End of Screen . . . . . . . 3-2
3.2 Creating New Ledger Database and Memory Files . . . . . 3-2
3.2.1 Ledger Identification . . . . . . . . . . . . . 3-3
3.2.2 Next Check Number . . . . . . . . . . . . . . . 3-3
3.2.3 Beginning Balance . . . . . . . . . . . . . . . 3-3
Chapter 4 RUNNING LEDGERS
4.1 Making Backup Files . . . . . . . . . . . . . . . . . . 4-1
4.2 Startup . . . . . . . . . . . . . . . . . . . . . . . . 4-2
4.3 Main Menu Commands. . . . . . . . . . . . . . . . . . . 4-2
4.3.1 X - EXIT to CP/M . . . . . . . . . . . . . . . . 4-2
4.3.2 Q - QUIT to dBASEII . . . . . . . . . . . . . . 4-2
4.3.3 S - Set Date . . . . . . . . . . . . . . . . . . 4-3
4.3.4 N - Change Ledgers . . . . . . . . . . . . . . . 4-3
4.3.5 B - Balance Ledgers . . . . . . . . . . . . . . 4-3
4.3.6 W - Write Checks . . . . . . . . . . . . . . . . 4-4
4.3.7 R - Ledger Reports . . . . . . . . . . . . . . . 4-4
4.3.8 L - Ledger Entries . . . . . . . . . . . . . . . 4-5
4.3.9 A - Account Files . . . . . . . . . . . . . . . 4-5
4.3.10 P - Payee Files . . . . . . . . . . . . . . . . 4-5
4.4 Ledger Entries Menu Commands . . . . . . . . . . . . . 4-5
4.4.1 A - Add Entries . . . . . . . . . . . . . . . . 4-5
4.2.2 E - Edit Entries . . . . . . . . . . . . . . . . 4-7
4.4.3 S - Search . . . . . . . . . . . . . . . . . . . 4-8
4.4.4 L - View Last Page . . . . . . . . . . . . . . . 4-8
4.4.5 N - View Next Page . . . . . . . . . . . . . . . 4-8
4.5 Account Files Menu Commands . . . . . . . . . . . . . . 4-8
4.6 Payee Files Menu Commands . . . . . . . . . . . . . . . 4-8
Chapter 5 SETTING UP YOUR LEDGERS SYSTEM
5.1 The Account Number Database File . . . . . . . . . . . 5-1
5.1.1 Personal Account Numbers . . . . . . . . . . . . 5-1
5.1.2 Schedule C Small Business Account Numbers. . . . 5-2
5.1.3 Rental Property Account Numbers . . . . . . . . 5-2
5.1.4 Reserved Account Numbers . . . . . . . . . . . . 5-2
5.1.5 Account Number Categories . . . . . . . . . . . 5-2
5.2 The Category Database File . . . . . . . . . . . . . . 5-3
5.3 Customizing the LEDGERS Check Writing Function . . . . 5-3
5.3.1 Modifying the Printed Check . . . . . . . . . . 5-3
5.3.2 Printing Non-Computer Personal Checks . . . . . 5-4
Appendix A - FILE TREE FOR LEDGERS.LBR COMMAND FILES
Appendix B - STRUCTURE FOR LEDGERS DATABASE AND MEMORY FILES
B.1 Ledger Database File Structure . . . . . . . . . . . . B-1
B.2 Account Number Database File Structure . . . . . . . . B-2
B.3 Category Database File Structure . . . . . . . . . . . B-2
B.4 Payee Account Database File Structure . . . . . . . . . B-2
B.5 System Memory File . . . . . . . . . . . . . . . . . . B-3
B.6 Ledger Memory Files . . . . . . . . . . . . . . . . . . B-3
Chapter 1 INTRODUCTION
Chapter 1
I N T R O D U C T I O N
1.1 System Requirements
------------------------
LEDGERS was written for dBASEII Version 2.4. It should run with
higher versions, but has been tested only with Version 2.4. It
requires a terminal with Erase from Cursor to End of Screen.
Reverse Video or Highlighting is used extensively and is highly
recommended, but is not absolutely required.
1.2 LEDGERS Description
------------------------
LEDGERS is an easy to use, visually-oriented, menu-driven system
of dBASEII command files designed to help you manage up to nine
ledgers, or bank accounts, for personal record keeping. LEDGERS
may also be used for rental property management record keeping,
for consultants, contractors, or other similar Schedule C small
businesses where more complete accounting systems may not be
required, and for cost management of R&D projects.
LEDGERS allows you to enter ledger transactions into the ledger
database files, view or edit transactions already entered into
the ledgers, and compile reports from the ledger data. Records
are automatically kept of the running ledger balance and the next
available check number for each ledger.
Each ledger transaction entry is assigned to an account number as
an aid in organizing income and expense information and in com-
piling useful reports. The list of over 100 account numbers
supplied with LEDGERS should suit most users, but may be custom-
ized for your own application. A file of user-supplied payee
account information is used to help automate payee, memo, and
account number entries for often-made transactions. A list of
categories, an independent and broader way of linking ledger
transactions for report purposes, is also provided.
LEDGERS manages individual ledgers only, and does not combine
these individual ledgers into a general ledger, nor does it
provide budgeting capabilities. LEDGERS database and memory
files may be used by other dBASEII programs to create a custom
system with more extended capabilities.
1-1
Chapter 2 AN OVERVIEW OF LEDGERS
Chapter 2
A N O V E R V I E W O F L E D G E R S
This chapter provides an overview of the LEDGERS personal record
keeping database system and some of its features. It should give
you a basic understanding of how LEDGERS operates. The actual
installation and use of LEDGERS is explained in the following
chapters.
2.1 The Structure of LEDGERS
-----------------------------
The LEDGERS personal record keeping database system consists of a
series of dBASEII command files, an account number database file
(LACCOUNT.DBF), a payee account database file (LPAYEES.DBF), a
category database file (LCAT.DBF), a database file and memory
file for each ledger used (LEDGER#.DBF and LEDGER#.MEM, where #
is the ledger number), and a system memory file (LSYSTEM.MEM).
2.1.1 LEDGERS Command Files
LEDGERS.CMD is the master LEDGERS command file. This file calls
on the other command files as they are needed. LEDGERS was
written using relatively small command files so that the individ-
ual functions would work faster in a floppy disk environment and
to make it easier to customize individual functional parts of the
system. See the APPENDIX for a tree-listing of all the LEDGERS
command files.
2.1.2 LEDGERS Database Files
LEDGERS manages one ledger database file, LEDGERS#.DBF, and one
ledger memory file, LEDGERS#.MEM, at a time. In addition,
LEDGERS may call for information contained in the account number,
category, and payee account database files when entering ledger
transactions or compiling reports.
2-1
Chapter 2 AN OVERVIEW OF LEDGERS
2.2 The Active Ledger
----------------------
Each time LEDGERS is run, the default active or working ledger is
Ledger 1. If you wish to work with a different ledger, you must
first select that ledger at the main menu display. Only one
ledger at a time is active.
2.3 The LEDGERS Display
------------------------
Because the LEDGERS display screen is 80 columns wide, it cannot
easily be reproduced here. The display is divided into four
"windows", which are updated separately. From top to bottom,
they are:
LEDGERS Title: Displayed in reverse or highlighted
video. The active ledger number is
shown.
Ledger Transactions: The ten most recent ledger transac-
tion entries are displayed in this
window. The ledger transactions
resulting from ledger database
searches are also displayed here.
Ledger Status Line: Displayed in reverse or highlighted
video. Contains (left to right):
the number of the next available
check, the current system date, the
ledger identification (bank account
number, etc), and the current
ledger balance. The status line is
updated after each ledger transac-
tion is entered.
Menu Display: The menu display window contains
the currently active command menu
and any informational messages that
LEDGERS needs to display.
Certain LEDGERS functions will use the whole display for other
purposes during portions of their operation. For example, when
compiling a report to a disk file, the report is scrolled through
the display as it is being compiled. Checks being written are
also scrolled through the display as they are sent to the
printer. In these cases, the LEDGERS display is re-created when
the function has been completed.
2-2
Chapter 2 AN OVERVIEW OF LEDGERS
2.4 Ledger Transaction Entries
-------------------------------
Each ledger transaction entry comprises one record in the data-
base file LEDGER#.DBF. Each entry contains the following
LEDGER#.DBF fields, in the order in which they are displayed.
The two fields in parentheses are not displayed, but are used by
LEDGERS as described below.
Name Type Width Description
======================================================
L:CHECK Character 4 Check Number
L:TYPE Character 2 Type of Transaction
L:DATE Character 7 Transaction Date
L:PAYEE Character 24 Name of Payee
L:MEMO Character 23 Memo
L:ACCOUNT Character 3 Account Number
L:AMOUNT Number 9 Amount
(L:CAT Character 8 Account Number Categories)
(L:PAID Character 1 Paid Flag)
2.4.1 Check Number
The check number may have up to four digits. The initial check
number for the year is assigned when you create the ledger at the
beginning of the year. Check numbers are then assigned
automatically by LEDGERS to ensure that each check number has a
corresponding ledger entry. There is a special account number
assigned to keep track of voided checks.
2.4.2 Type of Transaction
LEDGERS uses five types of ledger transactions in creating ledger
transaction entries:
Dp - Deposit: Any transaction that adds an amount to your
ledger balance.
Ck - Check Withdrawal: A check withdrawal transaction
charged to a single account number.
Cm - Multiple Account Check. Entered as a single transac-
tion, the amount of the check is split among several
account numbers, and shown on the ledger as a series of
transactions. The check itself is shown as a 'Ck'
transaction, while the charge to each account number is
shown as a 'Cm' (Check Memo) transaction. Useful for
payments on charge cards, etc, where amounts assigned
to several account numbers are paid by the same check.
2-3
Chapter 2 AN OVERVIEW OF LEDGERS
Nc - Non-check Withdrawal: A withdrawal transaction
affecting the ledger balance, but not made by check.
For example, an automatic teller withdrawal or the
automatic direct payment of a bill by the bank.
Mo - Memo Expenditure: An expenditure not affecting the
ledger balance but still charged to an account number
for record keeping purposes. For example, a cash
transaction for groceries.
2.4.3 Transaction Date
The system date, used in subsequent ledger transaction entries,
may be entered from the main menu. Since this date must be set
to the correct transaction date BEFORE a ledger transaction is
entered, it may also be set when making ledger transaction
entries from the "Transaction Type" menu.
2.4.4 Name of Payee
The payee field has space for 24 characters. If you have set up
an account for the payee in the payee account file, the entry of
the full payee name, the memo, and the account number can be
handled automatically, as described in Chapter 4.
2.4.5 Memo
The memo field has space for 23 characters. You may enter any
information you wish. When writing checks, the memo field is
written to the memo space on the check, so you may wish to
include account number information, etc, here. The memo entry
may be automated in some cases, as previously described.
2.4.6 Account Number
You must enter a three digit account number for each ledger
transaction entry. Each account number, taken from the account
number file LACCOUNT.DBF, describes a category of expense or
income. You customize the account number file to fit your own
needs as described in Chapter 5.
2.4.7 Amount
LEDGERS allows entry of transaction amounts up to 999999.99.
2-4
Chapter 2 AN OVERVIEW OF LEDGERS
2.4.8 Categories
Each account number in the account number file may have up to
eight category letters assigned to it. A category is a way of
linking together several related account numbers. When a report
by category is generated, transaction entries charged to all
account numbers linked by the same category letter are totaled
together.
2.4.9 Paid Flag
When you balance, or reconcile, the ledger with your bank
statement, LEDGERS enters a "Y" as an indication that the entry
has been paid or credited by the bank. This flag is also used in
writing checks as an indication of which checks might still need
to be written.
2.5 Reports
------------
LEDGERS can compile a report from the data in the ledger database
file and write it to a disk file. The file can be printed later
if desired, using system commands or your favorite print utility.
Report generation is a menu-driven process. You may select
whether the report is to be a detailed report (every ledger
transaction is shown) or a summary report (only totals are
shown), whether the report is to be compiled by account number,
by category, or whether both are to be done, and whether the
report is to cover a selected month, each month to date, or the
entire year to date.
Other types of reports may also be compiled from the data in the
ledger database file either directly from dBASEII, or by using
custom command files.
2-5
Chapter 2 AN OVERVIEW OF LEDGERS
2.6 Writing Checks
-------------------
LEDGERS allows you to write checks on your printer. This can be
done using standard personal checks or continuous computer form
checks. Conversion of the check amount into words is done
automatically. Up to ten selected checks may be printed on each
run.
Before you can use this function to print actual checks, you must
customize the command file LCHECKS.CMD so that it prints
information in the proper places on your check form and so that
any required printer initialization is sent. However, you can
try out the check writing function without customization by
printing the "checks" on regular printer paper.
If you don't wish to have this function available, just don't
copy LCHECKS.CMD to your working disk. The main menu selection
"W - Write Checks" will remain, but the check writing feature
will not be implemented. If "W" is selected, you will just be
returned to the menu after an message that the command file is
not present on the disk.
Writing checks and customizing LCHECKS.CMD are covered more
completely in Chapter 4 and Chapter 5 respectively.
2-6
Chapter 3 INSTALLING LEDGERS
Chapter 3
I N S T A L L I N G L E D G E R S
Before you can use LEDGERS, it needs to know some of the control
sequences for your terminal. You must also create the ledger
database and memory files for your application. These tasks are
performed by LINSTALL.CMD. If you have re-named your copy of
dBASEII to DO.COM, as recommended by ASHTON-TATE, run LINSTALL by
typing DO LINSTALL from the system prompt.
3.1 Terminal Control Sequences
-------------------------------
LEDGERS requires three terminal control sequences to operate
properly. These are stored in the system memory file
(LSYSTEM.MEM) by LINSTALL and placed into memory by LEDGERS where
they can be used as needed.
Select the "S" choice, and LINSTALL will ask you to enter these
sequences. Non-printing characters are entered using "CHR" plus
the decimal code for the character, in parentheses. For example,
ESCAPE is entered as CHR(27). Printable characters or strings of
characters are entered in single quotes. A "+" is used as a
separator. Note how the sample VT100 codes have been entered:
CHR(27)+'[7m' is the VT100 sequence for reverse video.
CHR(27)+'[m' is the VT100 sequence for norman video.
CHR(27)+'[J' is the VT100 sequence for erase from
cursor to end of screen.
20 spaces have been allowed for each sequence.
End each entry with a <RET>. If you make a mistake and need to
modify an entry, use the dBASEII/WordStar cursor control keys
that your version of dBASEII uses to move between fields. When
all the entries are ok, enter a <RET> in the final field and the
memory file will be created.
3-1
Chapter 3 INSTALLING LEDGERS
3.1.1 Start Reverse Video/Highlighting
Reverse video or highlighting is used in the LEDGERS displays to
enhance readability. Enter the sequence to turn on reverse
video or highlighting.
If your terminal does not support reverse video or highlighting,
LEDGERS can still be used, but there may be occasional displace-
ment of parts of the display. You will need to enter a character
that will not print and does not take up a display space so that
the displays will not be distorted. Try CHR(01), but you may
need to experiment.
LEDGERS, as distributed, uses the reverse video feature of
dBASEII rather then colons, to delimit the data entry fields. If
your terminal does not support reverse video and your version of
dBASEII does not include reverse video support, you may wish to
remove the SET COLON OFF command near the beginning of
LEDGERS.CMD to restore the colon delimiters around the data entry
fields. However, this will cause some temporary displacement of
some parts of the display during some of the functions.
3.1.2 End Reverse Video/Highlighting
Enter the sequence to turn off reverse video or highlighting. If
your terminal does not support reverse video or highlighting,
enter the same character you used in the last step.
3.1.3 Erase from Cursor to End of Screen
This sequence is required for creation of the display windows.
Enter it in the same manner as the other sequences.
3.2 Creating New Ledger Database and Memory Files
--------------------------------------------------
Run LINSTALL whenever you want to create a new ledger. For
example, run LINSTALL to create a new set of ledgers at the
beginning of each year (after deleting or renaming the ledger
files currently present on the disk).
Select the "L" choice, and LINSTALL will display any existing
LEDGER#.DBF files currently present on the disk. LINSTALL will
not overwrite any existing files.
3-2
Chapter 3 INSTALLING LEDGERS
Enter the number of the LEDGER# database file that you wish to
create, and LINSTALL will create it. You must have LEDGER1.DBF
on the disk for proper operation, so create it first. (You may
first wish to rename the sample LEDGER1.DBF and LEDGER1.MEM files
supplied in LEDGERS.LBR to LEDGER9 so that they remain available
to experiment with.) You will then be asked to enter some infor-
mation for the LEDGER# memory file. If you wish to modify any of
the memory file information after the file has been created, you
must do so from dBASEII. See the APPENDIX for the memory
variables used.
3.2.1 Ledger Identification
Enter the ledger identification as you wish it to appear on the
LEDGERS status line. You may use the bank account number or any
other identification up to 24 characters long.
3.2.2 Next Check Number
Enter the number of the first available check. The check number
can be up to 4 digits long.
3.2.3 Beginning Balance
Enter the beginning balance for the ledger. LEDGERS accepts
amounts up to 999999.99.
3-3
Chapter 4 RUNNING LEDGERS
Chapter 4
R U N N I N G L E D G E R S
Before you attempt to run LEDGERS, you should first print out
copies of the account number, payee account, and category
database files supplied with LEDGERS. Run the command file
LSTFILES.CMD to list each of these databases to a text file, then
print them on your printer. With copies of these files in hand
as visual aids, you are ready to run LEDGERS.
LEDGERS.LBR provides several "dummy" files so that you can try
out LEDGERS before you attempt to customize it. The payee ac-
count database file, LPAYEES.DBF, and ledger database and memory
files LEDGER1.DBF and LEDGER1.MEM are dummy files. They contain
fictional account and transaction data, and you can use them to
experiment freely with adding and editing entries in order to
gain experience with LEDGERS before entrusting your own data to
it. When you are ready to set up your own system and delete the
dummy files, read Chapter 5 for information on how to create your
own working LEDGERS system.
4.1 Making Backup Files
------------------------
IMPORTANT: Your LEDGERS database files will contain very valu-
able information. You should create backup copies of all
LEDGER#.DBF and LEDGER#.MEM files that you modify, each time that
you modify them. LEDGERS does not do this automatically due to
the extremely slow speed of the dBASEII COPY command.
You might create a SUBMIT file for each LEDGER# that you use, to
backup that ledger. For example, BACKUP1.SUB might copy
LEDGER1.DBF to LGR1BAK.DBF and to B:LEDGER1.DBF, and copy
LEDGER1.MEM to LGR1BAK.MEM and to B:LEDGER1.MEM. If you run
LEDGERS and modify the contents of Ledger 1, you would run SUBMIT
BACKUP1 as soon as you return to the CP/M system prompt.
Users of ZCPR3 can create an alias, such as BACKUP1.COM, to do
the same job somewhat faster.
4-1
Chapter 4 RUNNING LEDGERS
4.2 Startup
------------
Copy all of the LEDGERS files to a working disk along with a copy
of dBASEII Version 2.4 or above. Type DO LEDGERS at the system
prompt (assuming your copy of dBASEII has been renamed to
DO.COM). After the copyright notice has been displayed and all
system files have been loaded, you will be presented with the
main LEDGERS display. The center display of the ten latest
ledger transactions is a visual aid only. You do not need to be
at the last page in the display to add or edit entries. The
display will be updated after each entry or edit.
4.3 Main Menu Commands
-----------------------
LEDGERS will accept main menu inputs whenever "Select Choice: "
is displayed.
4.3.1 X - EXIT to CP/M
The "X" command is the normal exit command. It closes all files
and updates all system files in use before returning you to the
CP/M system prompt. IMPORTANT: Always exit LEDGERS using one of
the two exit commands! All files must be closed and all system
files must be updated on exit or the database file header may
become corrupted and the memory file contents may not be correct.
The "X" command is also active at the Ledgers Entries, Account
Files, and Payee Files menus, although it is not displayed as a
menu choice. You may exit directly from any of these menus.
4.3.2 Q - QUIT to dBASEII
The "Q" command updates all system files in use and quits to
dBASEII, leaving the memory variables in memory and the current
primary database file in use. This command can be an aid in de-
bugging command file modifications.
The "Q" command is also active at the Ledgers Entries, Account
Files, and Payee Files menus, although it is not displayed as a
menu choice. You may quit directly from any of these menus.
4-2
Chapter 4 RUNNING LEDGERS
4.3.3 D - Set Date
The "D" command allows you to set the system date (displayed in
the status line) that is used as the transaction date in each new
ledger transaction entry. Since this date must be set to the
correct transaction date BEFORE a ledger transaction is entered,
it may also be set when making ledger transaction entries from
the Transaction Type menu while entering a series of trans-
actions.
The format of the transaction date is ddMMMyy, where MMM indi-
cates the first three letters of the month. For example, 09APR85
is a valid date. This format was adopted to simplify changing
dates. The current date (being displayed) is carried over, so
that you only need to enter as much of the date as you are
changing. A <RET> then carries over the unchanged remainder of
the date. The date is checked before being accepted, and if you
have not entered a valid date, the cursor will return to the
beginning of the Date field so you can re-enter a correct date.
4.3.4 N - Change Ledgers
The "N" command allows you to select any of the ledgers you have
created as your active working ledger.
4.3.5 B - Balance Ledger
The "B" command allows you to balance (reconcile) the current
working ledger. Each deposit or withdrawal not yet credited or
paid by the bank is displayed, one entry at a time. If an entry
appears in your bank statement, it is marked as paid by entering
"Y" or left marked as unpaid by entering "N" or <RET>.
When all outstanding transactions have been processed, you are
asked to enter the ending balance as shown on your bank state-
ment. LEDGERS will then reconcile the statement and display the
total amount for withdrawals not yet paid and deposits not yet
credited by the bank. If the ledger does not reconcile, the
calculated ending balance is also displayed.
Since the ledger balance is updated automatically, the ledger
should always reconcile unless you left out a ledger entry, one
of your ledger entries does not match your check, or your bank
made a mistake.
4-3
Chapter 4 RUNNING LEDGERS
4.3.6 W - Write Checks
The "W" command allows you to write checks on your printer. As
the checks are being written to the printer, they are scrolled
through the display. Before you can write actual checks, you
must customize the command file LCHECKS.CMD so that the informa-
tion is printed in the proper places on your check forms, and to
include any printer initialization code that may need to be sent.
See Chapter 5 for information on customizing LCHECKS.CMD.
All checks not yet paid by the bank are available to be written
to the printer. You are first asked for the beginning check
number. Entering <RET> will start with the earliest unpaid
check. Each check transaction is displayed, one at a time.
Enter "Y" to write that check or "N" or <RET> to skip writing the
check. Each selected check will be added to the display. Up to
ten checks (one full display) can be written in one pass.
When all the checks have been processed, you can enter "Y" if the
printer is ready and you wish to write the checks. (CAUTION: If
you enter "Y" and the printer is not connected, it may hang up
your system!) Enter <RET> to return to the main menu without
printing the checks.
4.3.7 R - Ledger Reports
The "R" command allows you to choose to compile one of a number
of standard reports based on the data in the current ledger
database file. The report is scrolled through the display as it
is being written to a text file. Each type of report has a fixed
filename. For example, 1SA-FEB.RPT would be a report from ledger
1 (1), and would be a summary report (S) by account number (A)
for the month of February (-FEB). The opening display shows any
report files (.RPT) existing on the disk, as new files will
overwrite existing files with the same name. It is good practice
to delete .RPT files when you are through with them.
You may choose a detailed report (each ledger transaction is
listed), a summary report (only account number or category totals
are listed), or a list of checks that have been written. Each
report may be made by account number, by category, or both. A
report may be compiled for a given month, each month to date, or
the entire year to date. Detailed reports can take a relatively
long time to compile when the ledger has a large number of trans-
actions, so it is recommended that you try out different reports
during the first month or so to see which best meet your needs.
Summary reports by both account number and category, and compiled
monthly will probably meet most needs.
4-4
Chapter 4 RUNNING LEDGERS
When you have selected the report you wish to compile, enter "C"
to compile it or <RET> to return to the main menu without
compiling the report. Be sure you have sufficient space on your
disk before compiling long reports. Other special reports may be
run using custom .CMD files or directly from dBASEII. See the
APPENDIX for information on the structure of the ledger database
files.
4.3.8 L - Ledger Entries
The "L" command gives you access to the commands necessary to
examine, add, and edit entries in the active working ledger
database file. The available commands are discussed in section
4.3.
4.3.9 A - Account Files
The "A" command gives you access to the commands necessary to
examine, add, and edit entries in the account number database
file. The available commands are the same as in the Ledger
Entries menu.
4.3.10 P - Payee Files
The "P" command gives you access to the commands necessary to
examine, add, and edit entries in the payee account database
file. The available commands are the same as in the Ledger
Entries menu except that Search is not supported due to the
relatively small size of the payee account database file.
4.4 Ledger Entries Menu Commands
---------------------------------
The "X" and "Q" commands are active, but not displayed in the
menu. You may exit directly to CP/M or to dBASEII from this menu
without returning to the main menu.
4.4.1 A - Add Entries
Similar to filling out a blank check. The system date becomes
the transaction date, so it must be set first. Since changing
the date later could put the file out of sequence, it is not
subject to later editing except directly from dBASEII, and would
require that the file be re-sorted by date and by check number!
CAUTION: Make sure that the displayed system date is what you
want for your transaction date BEFORE you enter the transaction.
4-5
Chapter 4 RUNNING LEDGERS
When you add ledger transaction entries, you start by selecting
the type of transaction you are entering. You can also select
"Dt" to set the date, or enter <RET> to return you to the Ledger
Entries menu.
Dp - Deposit: Any transaction that adds an amount to your
ledger balance.
Ck - Check Withdrawal: A check withdrawal transaction
charged to a single account number.
Cm - Multiple Account Check. Entered as a single transac-
tion, the amount of the check is split among several
account numbers, and shown on the ledger as a series of
transactions. The check itself is shown as a 'Ck'
transaction, while the charge to each account number is
shown as a 'Cm' (Check Memo) transaction. Useful for
payments on charge cards, etc, where amounts assigned
to several account numbers are paid by the same check.
Nc - Non-check Withdrawal: A withdrawal transaction
affecting the ledger balance, but not made by check.
For example, an automatic teller withdrawal or the
automatic direct payment of a bill by the bank.
Mo - Memo Expenditure: An expenditure not affecting the
ledger balance but still charged to an account number
for record keeping purposes. For example, a cash
transaction for groceries.
You now enter the transaction data requested in the display,
which will differ slightly depending on the type of transaction.
If you enter <RET> in the Payee field and step through the rest
of the fields with <RET>'s, you will abort the entry and return
to the Transaction Type menu.
Each payee name should be entered the same way each time it is
used to facilitate later searches. If you have set up an account
for the payee in the payee account file, the entry of the full
payee name, the memo, and the account number can be handled
automatically, as described below.
The Memo field provides a space for a comment about the transac-
tion. For check withdrawal transactions, this field is used as
the memo when writing checks to the printer, so you may wish to
enter account numbers, etc, here. If you leave this space blank
in a check withdrawal transaction, and later write the check to
the printer, you will be given a chance to enter a memo when the
check is written.
4-6
Chapter 4 RUNNING LEDGERS
You MUST enter an account number for each transaction. A printed
copy of the account number database file is a valuable reference
to keep at hand when entering transactions. Transaction account
numbers may be changed later with the Edit command, so entering a
dummy number is ok if you aren't sure which account number ap-
plies, but you should remember to edit the entry later and enter
the correct account number.
Note the "@" present in the Memo and Account No. fields. This is
a flag that asks LEDGERS to search the payee account file for
whatever full or partial payee name you have entered. If you
leave the "@" in one or both of the fields, LEDGERS will locate
the first payee account record containing the full or partial
name you have entered, and will replace the payee name, and
whichever field has an "@" flag, with the information from the
payee account record. If you want to have LEDGERS look up the
full payee name, but want to modify both the memo and account
number entries, you must still leave at least one "@", usually in
the Account No. field, and correct the entry after the search and
replace.
When your entries are complete, you have one more chance to look
them over and edit them, if required, using the dBASEII cursor
movement commands to move through the fields. A <RET> in the
final field will cause LEDGERS to make the ledger transaction
entry, update the ledger transaction display and status line, and
return you to the Transaction Type menu.
A further comment needs to be made about "Cm" entries. You will
loop through the entry process as many times as is required to
enter each transaction. Each time you will be told the maximum
amount you may enter for the transaction (to assure that the
totals of the individual transactions don't exceed the check
amount). The last entry must be for the maximum remaining amount
to make everything come out even, and then you will be returned
to the Transaction Type menu. The amounts entered in the "Cm"
entry process may not be edited later using LEDGERS, since all
"Cm" amounts must add up to the "Ck" amount, and editing one
entry will require at least one other entry to be edited to make
things balance.
4.4.2 E - Edit Entries
Locate and edit an ledger transaction entry. Search by transac-
tion type, and by transaction date or check number, and/or full
or partial payee name. The first entry meeting your specifica-
tions is displayed and you have the option of editing that
record, searching for another match, or returning to the ledger
entries menu. If you choose to edit the record, the procedure is
the same as adding a new entry. Some fields, such as the trans-
action date, transaction type, check number and "Cm" amounts
cannot be changed. The ledger balance and status line are up-
dated if they are affected by the changes.
4-7
Chapter 4 RUNNING LEDGERS
4.4.3 S - Search
Locate and display entries by check number or by full or partial
payee name. You can move about the ledger quickly using this
command to search for dates or check numbers, in conjunction with
the "N" and "L" commands. When searching by payee name, all
transaction entries containing that full or partial name are
displayed, a page of 10 entries at a time. Use the "L" or "N"
command to return to the normal, sequential transaction entries
display.
4.4.4 L - View Last Page
Display the previous page of 10 transaction entries. Use with
the "S" command to move about the ledger.
4.4.5 N - View Next Page
Display the next next page of 10 transaction entries. Use with
the "S" command to move about the ledger.
4.5 Account Files Menu Commands
--------------------------------
The account number file commands are the same as the ledger
entries commands and are used in the same way. The "X" and "Q"
commands are active, but are not displayed in the menu.
4.6 Payee Files Menu Commands
------------------------------
The payee account file commands are the same as the ledger
entries commands except that the "S - Search" function is not
included since the payee account file is relatively short. The
"X" and "Q" commands are active, but are not displayed in the
menu.
4-8
Chapter 5 SETTING UP YOUR LEDGERS SYSTEM
Chapter 5
S E T T I N G U P Y O U R L E D G E R S S Y S T E M
Chapter 5 explains how to set up your own LEDGERS system by
customizing the account number database file (LACCOUNT.DBF) and
the category database file (LCAT.DBF). It also includes instruc-
tions for customizing LCHECKS.CMD for use with your own check
forms and printer. Note that many of the LEDGERS command files,
with the exception of LCHECKS.CMD, have lines longer than the 77
characters that the dBASEII command file editor, MODIFY COMMAND,
will handle. When saving a file, MODIFY COMMAND will truncate
lines longer than 77 characters, so use a word processor to edit
command files. Retain LEDGERS.LBR in case a command file is
damaged in editing.
5.1 The Account Number Database File
-------------------------------------
Setting up the system of account numbers you will work with is
one of the most important aspects of a record keeping system.
Compiling meaningful reports from the data in each ledger depends
entirely on how well the list of account numbers applies to your
situation. If you intend to use LEDGERS to help you keep records
for tax purposes, you may wish to take the list of account num-
bers provided with LEDGERS to your tax preparer for advice and
consultation before using your LEDGER system extensively.
Take some time to look over the printed list you produced with
LSTFILES. Notice that, in general, the account names are in
alphabetical order (to help you to find them more easily) and
that the account numbers increase in increments of five. It can
very frustrating to decide that you need a new account number,
and not be able to fit it into the list because there is no room
between numbers.
5.1.1 Personal Account Numbers
The first group of account numbers from 100 through 499 are for
personal income and expenses. You may find that you need addi-
tional account numbers for your situation. Note that all
personal income accounts are in the 100 group to make it easier
to compile report totals for personal income transactions.
5-1
Chapter 5 SETTING UP YOUR LEDGERS SYSTEM
5.1.2 Schedule C Small Business Account Numbers
The account numbers from 500 through 699 are for Schedule C small
businesses, and are based on the tax forms. Note that the
account names in this group all begin with "C-" to help locate
them in the list, and to make compiling reports for the entire
group easier later on. The income number is the only number in
the 500 group, but additional income account numbers may be added
within the 500 group if required.
5.1.3 Rental Property Account Numbers
The account numbers from 600 through 998 are for rental property
record keeping. LEDGERS is not set up, as distributed, to manage
more than a few properties, but there are enough account numbers
and ledgers to make organizing such a system relatively easy.
Each account name in the group begins with "R-". The income
number is the only number in the 700 group, but additional income
account numbers may be added to the 700 group if required. The
group of account numbers from 900 through 949 have been reserved
for rental property capital improvement account numbers, which
would be added as needed. The numbers from 950 through 998 are
reserved for tennant deposit account numbers, added as needed.
5.1.4 Reserved Account Numbers
The accounts Beginning Balance (000) and Voided Check (001) have
been reserved by LEDGERS and should not be changed. At the end
of the year, you should enter the ending ledger balance in the
Ending Balance account (999). In this way, archived ledger
database files are complete in themselves, and none of the ledger
memory files need be archived.
5.1.5 Account Number Categories
Each account number has a number of category letters associated
with it. These categories, covered in more detail below, are
used to group together account numbers with common character-
istics for report compiling purposes. Account number category
entries may be edited as required, but for report reasons, the
first entry must be I, E, O, or X. Other entries may be in any
order.
5-2
Chapter 5 SETTING UP YOUR LEDGERS SYSTEM
5.2 The Category Database File
-------------------------------
Each account number in the account number file may have up to
eight category letters assigned to it. A category is a way of
linking together in a report several account numbers that are of
special interest to you. For example, the category letter "E"
indicates an expense transaction, the category letter "I" indi-
cates an income transaction, and the category "D" indicates a
tax-deductible transaction. When a report by category is com-
piled, transaction entries charged to all account numbers linked
by the same category letter are totaled together, making it easy
to compile totals for all income accounts, or all automobile
accounts, for example.
If your application requires you to customize the category data-
base file, LCAT.DBF, which contains a list of category letters
and their descriptions, it must be done directly from dBASEII.
The category descriptions in the file are used only as titles in
compiling reports by category. LCAT.DBF is a short file, and not
often changed.
5.3 Customizing the LEDGERS Check Writing Function
---------------------------------------------------
LEDGERS is set up to write checks on a more or less standard
personal check form, but changes may be made to the check writing
command file, LCHECKS.CMD, to match whatever check form is being
used. This section will be easier to follow if you first print
out a copy of LCHECKS.CMD and use LEDGERS to print a check on
plain computer paper from the sample database ledger.
5.3.1 Modifying the Printed Check
First, place a blank check form under the printed "check", hold
them up to the light and align them as well as possible to see
what changes need to be made. Mark changes on the printed
"check".
If using non-computer personal checks, align the left edge of the
check with the left edge (perforations) of the computer paper.
Printing using non-computer personal checks will be explained
later. Mark the corners of the check on the computer paper for
alignment.
5-3
Chapter 5 SETTING UP YOUR LEDGERS SYSTEM
Look at LCHECKS.CMD. Near the end of the file is a column of
commands with each line beginning with question marks. Each
question mark indicates the start of a new printer line. Each
command $(wstr,1,nn) generates a line of spaces nn characters
long. The first line, then, consists of 29 spaces and the date.
The next printed line consists of 7 spaces, the name of the payee
(which is left-justified and 24 spaces long), 13 more spaces, and
the amount (which is also left-justified). The next printed line
consists of the amount, written out in words, and the last
printed line consists of 5 spaces and the check memo. The total
number of question mark lines is the total length of the check
form.
With a word processing ruler or other aid, count the number of
spaces and lines you require for your formatting and with a word
processor, change the commands for the print lines and spaces as
required. Near the beginning of the file is a memory variable
called WLEN. This is the number of characters available on your
check form for the amount, written out in words. WLEN is 47 is
the distribution file. Enter the length for your check form. If
you try to write a check amount where the amount in words is too
long for the available space (greater than WLEN), LEDGERS will so
inform you and tell you to write the check by hand.
Just below WLEN is the command: STORE CHR(27) + 'E' TO wpntinit.
This is the initialization string sent to the printer prior to
printing checks. The sample string, ESC E, is the command to an
EPSON printer telling it to print in emphasized mode. Enter your
own string here, in the same manner. Note that if your printer
allows, you might change the line and character spacing to
better match your check form. If you don't require a printer
initialization string, change to command to STORE '' TO wpntinit.
Using your modified LCHECKS.CMD, use LEDGERS to write another
sample "check" on computer paper and check it out as before.
Repeat the sequence until you have acceptable results.
5.3.2 Printing Non-Computer Personal Checks
You can print personal checks as well as computer type checks
using LEDGERS. The procedure takes a little longer, but gives
very repeatable results. The basic idea is to make a carrier
strip out of two or three sheets of tractor-type perforated
computer paper. Put the blank carrier strip in your printer and
align the leading edge of the paper with a mark on the printer or
with some part of the printer where the starting postion can set
easily and repeatably. Then use LEDGERS to print out a screen
(or as many as you think you will want to print at one pass) of
dummy checks on the paper. Tape the paper to a window and align
a blank check form over the first printed "check". Mark the
corners of the check form on the paper, and repeat the process
for each "check".
5-4
Chapter 5 SETTING UP YOUR LEDGERS SYSTEM
Each check is held to the carrier by pieces of "Post-it" note
paper taped to the carrier strip along their top edge with the
"always sticky" edge at the bottom and facing down. Use one
piece at each end of the upper edge of each check, making sure
that they aren't covering any of the area to be printed. Trim
the "Post-it" paper if required. Larger pieces are more secure.
To use the carrier strip,you slip each check form to be printed
into place, matching the corner alignment marks, and smooth the
"Post-it" paper down over the top edge of the check to hold it in
place. When you have all the checks in place, load the carrier
into the printer and align the top edge to your starting position
mark, and print the checks.
Is using your computer to print your checks worth this effort?
It may be worth it if you have a number of checks to write at
about the same time each month so that you can write them at one
time, if you hate writing long account numbers on your checks, or
if you just want the look of a computer printed check. The
option is yours!
5-5
Appendix A FILE TREE FOR LEDGERS.LBR COMMAND FILES
A p p e n d i x A
FILE TREE FOR LEDGERS.LBR COMMAND FILES
FILENAME DESCRIPTION
=================================================================
LEDGERS.DOC LEDGERS Users Manual.
LINSTALL.CMD Installs LEDGERS system and creates new
LEDGERS.
LINSTALL.DBF Database File used by LINSTALL.CMD.
LEDGERS .CMD Master LEDGERS command file.
LACCOUNT.CMD Manages Account Database File LACCOUNT.DBF.
LCHANGE .CMD Changes logged Ledger number.
LCHECKS .CMD Writes checks on printer.
LDATE .CMD Sets system date.
LENTRY .CMD Manages Ledger Database File.
LADD .CMD Adds Ledger entries
LEDIT .CMD Edits Ledger entries
LSEARCH .CMD Searches for Ledger entries.
LPAYEES .CMD Manages Payees Database File LPAYEES.DBF.
LRECON .CMD Reconciles Ledger with bank statement.
LREPORT .CMD Writes Ledger reports to disk files.
LRCMO .CMD List of checks for a month.
LRCYTD .CMD List of checks, year to date.
LRDMO .CMD Detailed report for a month.
LRDYTD .CMD Detailed report, year to date.
LRSMO .CMD Summary report for a month.
LRSYTD .CMD Summary report, year to date.
LSTFILES.CMD Utility to list LACCOUNT.DBF, LPAYEES.DBF,
and LCAT.DBF to text files.
A-1
Appendix B STRUCTURE FOR LEDGERS DATABASE AND MEMORY FILES
A p p e n d i x B
STRUCTURE FOR LEDGERS DATABASE AND MEMORY FILES
LEDGERS uses 3 database files to store your ledger transactions.
The ledger database file, LEDGER#.DBF (where # is the ledger
number from 1 through 9), contains the transaction data for each
ledger. The second file, LACCOUNT.DBF, contains information
about each ledger account number that can be called up as needed
for ledger transaction entries and to compile reports. The third
file, LCAT.DBF, contains category descriptions, and is used to
help compile reports.
LEDGERS also uses several memory files to store system data and
ledger status information. LSYSTEM.MEM contains the terminal
control sequences and the last date used for ledger entry.
LEDGER#.MEM, associated with the ledger database file of the same
number, contains the ledger number, the ledger identification
(bank account number or other identification), the next check
number to be used, and the current ledger balance. These memory
files are maintained automatically by LEDGERS.
B.1 Ledger Database File Structure
-----------------------------------
Each record (transaction) in LEDGER#.DBF has the following field
names and structure:
FLD NAME TYPE WIDTH DEC DESCRIPTION
------------------------------------------------------------
001 L:CHECK C 004 Check Number
002 L:TYPE C 002 Transaction Type
003 L:DATE C 007 Date
004 L:PAYEE C 024 Payee Name
005 L:AMOUNT N 009 002 Amount
006 L:MEMO C 023 Memo
007 L:ACCOUNT C 003 Account Number
008 L:CATEGORY C 008 Categories (8 max)
009 L:PAID C 001 Paid by Bank Flag
------------------------------------------------------------
Total Width: 082
B-1
Appendix B STRUCTURE FOR LEDGERS DATABASE AND MEMORY FILES
B.2 Account Number Database File Structure
-------------------------------------------
Each record (account number) in LACCOUNT.DBF has the following
field names and structure:
FLD NAME TYPE WIDTH DEC DESCRIPTION
------------------------------------------------------------
001 A:NAME C 027 Account Name
002 A:NUMBER C 003 Account Number
003 A:CATEGORY C 008 Categories (8 max)
------------------------------------------------------------
Total Width: 039
B.3 Category Database File Structure
-------------------------------------
Each record (category) in LCAT.DBF has the following field names
and structure:
FLD NAME TYPE WIDTH DEC DESCRIPTION
------------------------------------------------------------
001 C:CATEGORY C 001 Category Letter
002 C:DESC C 030 Description
------------------------------------------------------------
Total Width: 032
B.4 Payee Account Database File Structure
------------------------------------------
Each record (account) in LPAYEES.DBF has the following field names
and structure:
FLD NAME TYPE WIDTH DEC DESCRIPTION
------------------------------------------------------------
001 P:NAME C 024 Payee Name
002 P:MEMO C 003 Payee Memo
003 P:ACCOUNT C 003 Account Number
------------------------------------------------------------
Total Width: 052
B-2
Appendix B STRUCTURE FOR LEDGERS DATABASE AND MEMORY FILES
B.5 System Memory File
-----------------------
The System Memory File, LSYSTEM.MEM, contains the terminal
control sequences and the system date:
MEMVAR NAME TYPE LEN PICTURE DESCRIPTION
------------------------------------------------------------
SRVIDEO C 15 Start reverse video
SNVIDEO C 15 Start normal video
SETOEND C 15 Erase from cursor to end of
screen
SDATE C 7 ddMMMyy System date
------------------------------------------------------------
B.6 Ledger Memory Files
------------------------
Each Ledger Memory File, LEDGER#.MEM, contains information on the
ledger status:
MEMVAR NAME TYPE LEN PICTURE DESCRIPTION
------------------------------------------------------------
MLEDGER C 1 9 Ledger number
MID C 24 Ledger identification (bank
account number, etc.)
MCHECK C 4 9999 Next check number
MBALANCE N 9 999999.99 Ledger balance
------------------------------------------------------------
B-3