home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
High Voltage Shareware
/
high1.zip
/
high1
/
DIR15
/
FLEXI52.ZIP
/
FLXBIL52.EXE
/
FXB52.DOC
< prev
next >
Wrap
Text File
|
1993-10-31
|
88KB
|
2,043 lines
FleXiBill FreeWare version 5.2 Documentation Page 1
FleXiBill FreeWare version 5.2
D O C U M E N T A T I O N
(c)1993 by Jim Sage
Benchmark Services
P.O. Box 707
Cypress, CA 90630
CAVEAT EMPTOR
("Let The Buyer Beware")
Neither Benchmark Services nor its representatives make any
warranty, express or implied, of the usefulness or
effectiveness of this software for any particular purpose;
nor can they be held responsible, collectively or separately,
for any loss or damages arising from the use or attempted use
of this software, for any purpose, on any system. It was
designed to be helpful and harmless, but the public nature of
the FreeWare distribution process removes the product from
our control. Use this or any other Public Domain software at
your own risk.
We also highly recommend that you acquire anti-viral software
AND USE IT REGULARLY. McAfee's SCANxx and CLEANxx are widely
distributed as ShareWare, and proven effective.
Page 1
FleXiBill FreeWare version 5.2 Documentation Page 2
OVERVIEW
Welcome to FleXiBill FreeWare version 5.2! It's FreeWare because
it's free... we don't ask you to pay anything. If it meets your
needs, that's wonderful. If you like it a lot but you'd like the
added features in the Commercial version... or if it makes you
think of something else you'd like us to add or change... well,
maybe we can do some business. But THIS functional, working
version is FREE.
This program grew in response to the needs of a couple of small
businesses. All the commercial and public domain software missed
the mark; it was full of "accounting" requirements the users just
didn't understand, or didn't have patience for. A system was
needed that allowed them to enter billing quantities, items and
prices with a minimum of restrictions. No existing inventory, no
pre-assigned prices per item, no fixed descriptions, no "scan
codes"... very free-form.
We think it works pretty well for a business like that, and we
want to share it. There are a lot of things it COULD do, of
course... and we hope that, if you think of them, you'll contact
us about making the changes for you. That's the business end of
the FreeWare concept... if you like this product, maybe we can
sell you something later.
But we want you to know that you're welcome to this package with
no strings. It works, it's powerful; the database size is (as
far as we know) limited only by your disk space and acceptable
data search time. One user has a 3,500-job current database of
about 2 megabytes, and two similar archived databases of jobs
from a few years back. Creating all four index files for 3,000
records and 950 customers on a 12 MHz AT (80286 chip) takes about
30 seconds. Once that's done, "finding" an indexed record takes
about 1 second... but "locating" non-indexed records, or browsing
through the database one record at a time, can be much slower.
This program does NOT do standard accounting! It's not a
comprehensive Accounts Receivable package such as a trained
bookkeeper or accounting professional would use. It's just right
for an individual or small business; it's simple to understand,
fast, and user-friendly. It allows you to keep track of who owes
you how much, and reports the data you need for the IRS and the
State Board of Equalization (here in California, anyway).
It's a system adapted to Cost Accounting; that is, receivables
are not shown as income until the bill is paid. If someone
hasn't paid their bill yet, you haven't received the income...
but, if you're a service business, neither do you have an
inventory loss. If you're selling ceramic figurines, or baseball
cards, you may want to consider another accounting method that
credits your diminished inventory against unpaid bills.
Page 2
FleXiBill FreeWare version 5.2 Documentation Page 3
One caution: this is a serious business program. Making it work
effectively will require you to adapt your business to the
program. If you can't do that, you'll be dissatisfied with the
program, and we don't want that. Understand up front that no
single software solution is right for every business, but this
one can be just right if you run your business in a compatible
way.
This program can be adapted to a lot of different business
styles, but it has a favorite niche. It is tailored to a
business where...
a) someone makes out a "job ticket" (order form, invoice,
etc.) MANUALLY at the time the customer places an order,
then later presents the customer with a computer-
generated bill (by mail or in person);
b) repeat business from the same customers is common
(although there may also be frequent new customers);
and...
c) jobs are entered into the database, and customer invoices
printed out, in "batch"-- that is, a stack of job tickets
will be entered all together, rather than one being
entered each time it is created.
Conversely, it is less well suited to businesses where job
information is recorded "live" at the point of sale, by whomever
happens to be working the front counter. Nor is it ideal for
walk-in businesses where nobody runs up a "tab;" for that kind of
operation, you should really input customer information at the
same time as item/cost information (if you bother with customer
information all; department stores often don't, for cash sales).
It's NOT really a "cash register" program.
There's nothing to stop you from using FleXiBill for these kinds
of business, but that is NOT what was intended at the design
stage. Some operations may grow tiresome for your customers as
the databases grow, such as waiting for invoice printout.
A hint, while we're on the subject: If you think you want to
adapt FleXiBill to an operation where the customer stands and
waits while you print out the invoice (and you don't want to have
us customize for you), use DUPE (Main Menu 1-Submenu 7) instead
of PRINT (1-2), which runs through the entire database looking
for invoices to print. DUPE goes straight to the job you ask
for. (Of course, you have to remember the number, so you can ask
for it.)
Page 3
FleXiBill FreeWare version 5.2 Documentation Page 4
The invoice printout assumes a 7" tractor-fed pre-printed form,
probably NCR-paper (carbonless duplicates), designed to show the
billing address through a standard #10 window envelope when
folded in half. The printer is assumed to be an Epson- or
IBM-compatible dot-matrix printer. (There are several ways to
adapt this printout to other processes and other printers... see
the "Work-Arounds" section for more details.)
The report printouts, on the other hand, assume you have a second
printer loaded with standard tractor-fed paper. The label
printout (available in FleXiBill Commercial version 6.0) requires
you to remove that paper and insert fan-fold single-column
six-line address labels. The businesses using this software now
tend to have either two or three printers, linked to the CPU
through an inexpensive switching device.
Since nobody can build a program perfect for all purposes, we
didn't try. If these assumptions don't fit your work process, it
doesn't mean you can't use the software. It can still be a very
effective alternative to pricy commercial accounting systems for
your individual or small business needs. Read the "Work-Arounds"
section before you give up... or, after you've tried the system
long enough to be sure you like it, talk to us about customizing
it for your needs.
Don't feel bad at all if you don't want to order the registered
version, or any custom software; we don't mind! If you want more
than this program offers, maybe we can help you. There are
plenty of business needs beyond the capabilities of this
software, and we're not worried about finding customers.
We hope you're glad you've acquired FleXiBill v 5.2, and the
remainder of this documentation is intended to provide you with
the information you need to make it work most effectively for
your business billing. Good luck.
* Version 5.2 Upgrade Notes *
Those of you who may have enjoyed FleXiBill version 5.0 will be
pleased to know that this version, while enhanced slightly,
operates in almost exactly the same way. The improvements in
this upgrade are:
* A CREDIT field has been added to the CUSTOMER.DBF and
JOBS.DBF databases, allowing you to store prepayments and
credit invoices against them. While this may not be
important to all users, it's very convenient when someone
does overpay you, and you need to track use of their funds
for them. The program notes such balances, and asks you at
invoice entry if you would like to apply them against the
current billing.
Page 4
FleXiBill FreeWare version 5.2 Documentation Page 5
* The color-rendering scheme has been slightly modified, and
the method of assigning colors improved. This is of primary
significance to FleXiBill Commercial version 6.0 users,
because only a DEMO of the color-assignment process is
provided in FXB 5.2; however, three color storage templates
are provided, for color monitors, monochrome monitors, and
LCD (laptop) screens. One of these should allow you to see
the program clearly, whatever display system you're using.
The downside to the upgrade is that it is incompatible with the
version 5.0 databases. In case you have already input a
significant number of jobs into FleXiBill 5.0, a utility called
UPGRADE.EXE has been supplied which will allow you to append all
of those customer and job records into the new databases. See
the subheading UPGRADING TO FLEXIBILL VERSION 5.2 for detailed
instructions. The CHANGES.DBF database, which records code-name
changes, is unchanged; you may use the old one if you have
already made code-name changes and wish to keep a record of them.
CONVENTIONS & TERMINOLOGY
We have noted, in reviewing this documentation before
distribution, that some of our terms and concepts may not be
clear to all users. The following conventions have been used
throughout. We hope these explanations will help you understand
and use your system more effectively. Experienced DOS users may
wish to skip down to the "Program Terminology:" subsection.
DOS Terminology:
<> These surround a key to be pressed, e.g. <Esc>
CAPS Some major subheadings (as the one above) are in upper
cases ("all caps"); also, anything you are requested to
type on your keyboard will be in upper case, e.g.
CD C:\FXB<Enter>
means to type "CD C:\FXB", then press the <Enter> key.
DOS This really means MS-DOS or PC-DOS; the IBM-
compatible PC system operating software, and its
resident commands and utility programs. For this
software, all levels of DOS should be appropriate
(2.0 through 4.1 have been tested).
DRIVE A disk, tape, optical or other storage device. Disk
drives may be hard (fixed) or floppy. Some drives
are physical, some are logical (artificial
subdivisions of a physical drive into smaller areas,
for convenience). Some drives are just reserved
Page 5
FleXiBill FreeWare version 5.2 Documentation Page 6
areas of Random Access Memory (RAM), some are memory
cards (circuit boards). Floppy drives may be 8"
diameter, (rare), 5-1/4" (becoming rare), 3-1/2"
(most common now), or 2" (still rare, may become more
common). The drive most users today will use most
often is the C: drive, the 1st hard disk.
Conventionally, the 5-1/4" floppy is "A:", and the
3-1/2" is "B:", although this can be modified by
experienced users.
DIRECTORY This refers to a LOGICAL "place" rather than a
physical location in your computer system, so the
concept may be difficult for some. Where you "are"
when operating a computer system means the
subdivision of the various file storage areas to
which you have immediate access. This is best
illustrated with examples. If you are "in" a
subdirectory called "C:\FXB," it means that if you
use the DOS "DIR" command, the files which have been
assigned to the FXB subdirectory on the C: drive
will be listed for you.
In reality, the files are stuck all over your
physical C: drive wherever there is a space for them,
often several places with markers telling DOS where
one segment ends and the next begins. Copying a file
into a subdirectory like \FXB just adds a mark to a
reserved area of the filename telling DOS not to
display it unless a display of that subdirectory is
requested.
The situation is further confused by the fact that
directory means a list of files as well as a logical
"place" where they are stored; and that subdirectory
and directory are often used arbitrarily to mean
exactly the same thing.
It will help if you place in your AUTOEXEC.BAT file
the command "PROMPT $P$G" (on its own line). This
tells DOS to display the cursor prompt with a few
additional bits of information. If you're on the C:
drive in the \FXB subdirectory, instead of seeing
C>_
you'll see
C:\FXB>_
With this display to assist you, the DOS directory
system will soon cease to be a mystery.
ROOT The first directory of a drive, e.g. "C:\". If you
type "DIR<Enter>" here, you will see a list of all
files on the C: drive that have not been assigned to
Page 6
FleXiBill FreeWare version 5.2 Documentation Page 7
any particular subdirectory, and of the
subdirectories on that drive.
FILE A group of alphabetical or numeric characters, or
DOS-recognizable program instructions, contained on a
specified area of one of your system drives, and
labeled with a DOS-legal name of eight characters
and, optionally, a DOS-legal filetype of three
characters. Sometimes called "programs," but these
days programs are executable (something you can
"run"); files may be just stored text or data
ARCHIVE A complex file created by mathematically compressing
other files and adding them together to make a single
file which is more easily stored and transmitted over
networks or Bulletin Board systems, as this program
was distributed. If that isn't how you got this
program, you may not need to know... but they can be
very handy for back-up and storage purposes, too.
Around here, we like Phil Katz' PKZIP suite of
archiving software, available as ShareWare from
almost any BBS. Other popular methods are ARJ, ZOO,
LHA, and ARC (oldest). Your BBS system will probably
have lots to say about its preferred archiving
methods.
Program Terminology:
To avoid confusion, it is important to note up front that some
words in the billing process are used interchangeably, and the
only way to tell what they mean is by their context. Examples
may help. When using FleXiBill, if you "invoice" a customer, you
are:
(a) Entering the "job" (the work your company did) in your
database, including the items sold or work performed, the
amount you are charging, and the tax and shipping that
you must add to make up the total amount billed.
(b) Generating a printed record of this job indicating to the
customer the amount that remains to be paid (or to serve
as a receipt if the bill was paid up front).
This is also called "billing" a customer. The printed record
sent to the customer is called a "bill," or an "invoice."
The "job" as it is entered in your FleXiBill database may
properly be called a data record, an entry, a job, a job record,
a bill, or an invoice... simply because it is the basis for all
of the above. However, to avoid confusion we have tried to
remember to refer to it in this documentation as a job or job
record, for clarity.
Page 7
FleXiBill FreeWare version 5.2 Documentation Page 8
Other definitions are:
CUSTOMER the person or company for whom your business has done
something billable
CREDIT the amount given to you by a customer for which you
have not yet rendered service or provided goods;
money that you owe back to the customer
REPORT a listing of jobs billed, amounts owed, tax charged,
etc. for your records
CODE NAME the unique identification string you assign to each
customer which allows the program to call up their
full name, address, telephone number and credit
balance for billing and reporting purposes; up to
eleven characters in length
INDEX (verb) to arrange a customer or job list in some
order that allows you or the program to quickly find
what you seek. E.g., indexing jobs by job number
arranges them from lowest to highest (or
alphabetically, if letters are included in the job
ticket number). Indexing by customer code name
groups jobs alphabetically according to the code name
to which they were billed
PRINTOUT (noun) usually, the "batch" invoice printout, during
which invoices are printed for all jobs entered for
which bills have not yet been sent to the customer.
Also, any report sent to the printer, such as the
Code Name List or the Monthly Report
SYSTEM REQUIREMENTS
This software has been tested on IBM-compatible XT's & AT's
(8086, 80286 and 80386 CPUs) using MS-DOS 2.11, 3.3 and 4.1; it
should be compatible with other IBM-compatible machines and DOS
levels, but these are the ones we've tested.
The program will not recognize or take advantage of memory beyond
640k. 640k or 512k systems should have no problem, unless an
awful lot of RAM is taken up by TSRs (Terminate-and-Stay-Resident
programs). The program appears to load and run complete reports
without difficulty with 340k >>AVAILABLE<<; it wouldn't load at
all at 337k. We recommend a healthy 480k, because our testing was
*NOT* comprehensive; and...
*** WE CANNOT BE RESPONSIBLE FOR LOSS OF DATA OR THE ***
*** INCONVENIENCE OR DAMAGES ARISING THEREFROM. ***
Page 8
FleXiBill FreeWare version 5.2 Documentation Page 9
Three color-variable storage files have been supplied; one for
color, one for monochrome, and another for LCD (laptop) screens.
They will all work with any CGA, EGA or VGA card. (You might try
using one of the others if you don't like the default appearance
of the program.) We believe that the software will operate
smoothly on a system with a Hercules monochrome card, or no
graphics card at all (although the logo on the main screen might
look strange). However, we have not had the opportunity to test
it on those systems; you will be doing that for us. Please let
us know what you find out.
The software can be run from a floppy disk, but it will be
slower, and database capacity will be limited. As distributed it
requires about 260k, with a couple of sample records for learning
purposes. Start adding jobs and customers, and the databases
will quickly get larger. Given current prices, we heartily
recommend upgrading to a hard disk if you don't have one... if
you're planning to make enough money to need a billing program,
you'll probably be able to afford it!
Any standard IBM-compatible keyboard will work. The function
keys <F1> through <F12> are not required. There are dBase III+
editing operations which can be performed using <Ctrl> plus a
key, but they are not essential to the program. The <Alt> key
has one important function; PROGRAM OPERATION CAN BE HALTED AT
ANY TIME by pressing <Alt>+<C>, then answering <N> to the query
"Continue?". The <Esc> key can help you exit from the menuing
system, but is not essential. Mouse or other pointer device
input is not recognized.
GETTING STARTED
To run FleXiBill v 5.2 you must have all of the following files,
with these EXACT names:
LIST #1 - REQUIRED FILES
CHANGES.DBF database of code name changes
CODE.NTX index of customer database by code name
COLOR.MEM color variable storage
CUSTOMER.DBF customer information database
JOBCODE.NTX index of jobs database by customer code name
JOBS.DBF jobs database
FXB52.EXE main program
NR.NTX index of jobs database by job ticket number
TAX.MEM tax rate variable storage
TODAY.MEM date variable storage
Page 9
FleXiBill FreeWare version 5.2 Documentation Page 10
In addition, you should have four other files that are not
immediately necessary to program operation:
LIST #2 - ADDITIONAL FILES
MEMCOLOR color-variable storage master (color)
MEMMONO color-variable storage master (monochrome)
MEMLCD color-variable storage master (LCD/laptop)
FXB52.DOC this documentation file
README.1ST preliminary instruction file
If you have downloaded the software from a bulletin board system
(the most common method of distibution) it will be in archived
form. It was distributed as FLXBIL52.EXE, a self-extracting
archive created with Phil Katz' PKZIP and PKSFX utilities;
however, many BBS SysOps have a preferred archiving system to
which they convert all uploads, so we have no way of knowing what
you will eventually find. These instructions will assume that
you have a copy as it was originally distributed; you will have
to check with your SysOp for instructions if the file has been
altered.
You may rename the FXB52.EXE main program file to anything
convenient, but the program will look for each of the other
files in List #1, above, by those names. In addition, certain
other ___.MEM or ___.NTX files may appear as you continue to use
the system. The .NTX filetype is given to those files
containing index pointers, telling the program in what order to
display the files. For example, JOBCODE.NTX stores the order in
which to display job records when arranged in job ticket number
order.
The .MEM filetype is given to files containing stored memory
variables used by the program at startup and various points
during some of the reports. For example, the TODAY.MEM file
contains the current billing date, which it displays each time
you start the program as the billing date used at the last
billing session. COLOR.MEM stores colors in which the program is
displayed; FleXiBill Commercial version 6.0 includes the ability
to overwrite the contents of this file with new customized color
selections according to your preferences.
The only files that will appear in the FXB subdirectory (whatever
you choose to name it) that can be renamed or removed WITHOUT
adversely impacting program operation are files you may choose to
create when outputting a code name list to a filename. (With
FXB6 Commercial version 6.0, you might also find database reports
that were printed to a filename.) We recommend that you create
these somewhere else, anyway... for instance, in a "\DOC"
subdirectory (as shown in the example each time the program
requests a filename).
Create a subdirectory on your hard disk with the MD command, e.g.,
MD FXB<Enter>
Page 10
FleXiBill FreeWare version 5.2 Documentation Page 11
Copy all files into that subdirectory by typing the name of the
executable archived file (and path, if necessary) followed by a
space and the subdirectory name, e.g.,
D:\TEMP\FLXBIL52 C:\FXB<Enter>
This will cause all files in the self-extracting archive to be
copied into the C:\FXB subdirectory.
NOTE: In case the file has been re-archived, the following are
typical examples of the extraction process using three popular
archiving programs:
For... Type...
-----------------------------------------------------------
FLXBIL52.ZIP PKUNZIP D:\TEMP\FLXBIL52 C:\FXB
FLXBIL52.ARJ C:<Enter>, then CD C:\FXB, then
ARJ -e D:\TEMP\FLXBIL52
FLXBIL52.LHZ C:<Enter>, then CD C:\FXB, then
LHA e D:\TEMP\FLXBIL52
There are many other archiving programs, and no doubt more will
be developed in the future. Each will have its own instructions.
The bottom line is, all the program files need to be placed in
the same subdirectory. This program will not store and remember
a path to another drive or subdirectory. It expects to find all
associated files right there, wherever it is being run.
IF YOU ARE USING A MONOCHROME MONITOR OR LCD (LAPTOP) SCREEN:
You may wish to try out the MEMLCD color-variable master instead
of the COLOR.MEM file provided. Copy the MEMLCD file over the
COLOR.MEM file by typing:
COPY MEMLCD COLOR.MEM<Enter>
If you don't like these colors, copy over COLOR.MEM with the
MEMCOLOR file, or with the MEMMONO file. A good way to determine
the best color scheme for your system is to try entering a demo
job (menu selection 1-1). Are the highlighted fields readily
visible? Can you tell where the cursor line is? Also, try the
Browse feature (3-7). If you can't tell where your cursor is,
you'll have difficulty entering your data.
You can run FleXiBill v 5.2 by typing:
cd \fxb
fxb52
Or you can create a start-up batch file by typing:
copy con: fxb.bat
Page 11
FleXiBill FreeWare version 5.2 Documentation Page 12
Then, type the following:
cd\
c:
cd c:\fxb
fxb52
cd\
When you reach the final "\", press <Ctrl>+<Z>. The ^Z tells the
con: device (console) to stop capturing keystrokes. If you have
a favorite text editor, such as QEdit, or WordStar in
Non-Document mode, you may create the batch file that way. No
batch file was supplied with the distribution package because it
is not strictly necessary, and because we don't know what drive
or subdirectory you plan to use for your program. However, we
feel it is the simplest and most user-friendly way to enter and
exit the program.
Place the FXB.BAT file in a subdirectory in your path (if your
AUTOEXEC.BAT file contains a "path" statement) or in your root
directory (usually, C:\). The .BAT file described above will
take you into the FXB subdirectory, run the software, and take
you back out to the root of the C:\ drive when you exit. You
need not add the FXB subdirectory to your path statement, and all
necessary FleXiBill files will remain safely in the FXB
subdirectory, accessible to the program.
When you start the program, you will encounter two screens before
reaching the Main Menu screen. The first asks for this session's
default billing date. If your system clock has a backup battery,
the date contained in your CPU date for this session should be
correct. If so, just press <Enter>; if not, you may change the
default date and then press <Enter>. (You will still have the
option of changing the date manually each time you enter a job
ticket.)
The second screen gives you the opportunity to connect and turn
on the invoice printer and set it to 7" form length. You may
also select emphasized print for darker NCR copies.
After making these choices, you will arrive at the Main Menu
screen, with a five-option bar menu at the top and the FleXiBill
logo at the bottom.
UPGRADING TO FLEXIBIL VERSION 5.2
If you have never used FleXiBill version 5.0, skip this section
altogether; follow the instructions above and enjoy. This is for
people who got started with version 5.0 and wish to upgrade.
1) First, you must rename your old CUSTOMER.DBF file to
CUST50.DBF. The new version 5.2 database has the same name,
and DOS will not let them be in the same place at the same
Page 12
FleXiBill FreeWare version 5.2 Documentation Page 13
time unless you rename one of them. The UPGRADE.EXE program
expects to find your database under the name CUST50.DBF,
which saves us the added complexity of writing the upgrade
program so that it asks you which new name you chose.
Ex. REN CUSTOMER.DBF CUST50.DBF
2) Delete everything else in your FXB subdirectory (or create a
new subdirectory and move CUST50.DBF and FORMS.DBF into it).
Most of the FXB 5.2 files have the same name as FXB 5.0, and
you DON'T want to keep the old ones by accident! If you're
worried that you might want to go back to version 5.0
sometime (although we can't imagine why, since they work the
same way), use the new subdirectory method instead of erasing
the old files.
Ex. MD FXB52
COPY FXB\CUST50.DBF FXB52
COPY FXB\FORMS.DBF FXB52
3) Third, place all FXB 5.2 files in the same subdirectory as
your version 5.0 CUST50.DBF and FORMS.DBF files. You can do
this directly from the self-extracting archive file as
distributed.
Ex. C:\TEMP\FLXBIL52 C:\FXB52
If the files have been repackaged in a different type of
archive, use the appropriate de-archiver (see the examples
under "Getting Started," above).
4) Fourth, you must delete all SAMPLE records from both CUSTOMER
and JOBS databases that came with FleXiBill version 5.2 (the
"new" ones). To do this, use the BROWSE feature (3-7),
option <2> (jobs in entry order). Press the <DEL> key once
while your cursor is on a job record, then move down to the
next record and repeat. When each record displays the
<Deleted> symbol as the cursor reaches it, press the <Esc>
key to return to the Browse Submenu. Do the same with the
sample customers using option <4>; then return to the Main
Menu. Then select Pack (5-4) to empty all sample records
from both databases.
5) Exit to DOS, enter the subdirectory with FXB 5.2, and type
UPGRADE<Enter>. The program will automatically copy all
records from your CUST50 and FORMS databases into the FXB 5.2
CUSTOMER and JOBS databases.
You may keep the old databases with your FXB 5.0 files "just in
case," or delete them.
Page 13
FleXiBill FreeWare version 5.2 Documentation Page 14
INTERFACE CHARACTERISTICS
The Main Menu screen of FleXiBill v 5.2 is the FleXiBill logo
with a bar menu across the top. The bar menu is active ONLY when
this screen is displayed. This means that, when some other
screen is displayed, slightly different operational rules are in
effect.
The reason for this is that FleXiBill is essentially a database
management program. It was written in Clipper, which was
patterned after dBase III+, which is a database management system
with its own high-level "programming language." If you're
familiar with dBase II, III, III+ or IV, or with Clipper, you'll
find even detailed FleXiBill operation intuitive. If not, it
still won't take long to learn.
When the menu is active, you may use the arrow keys to move the
highlight area (cursor) left or right, up or down. If your
cursor arrow keys are non-standard, you may also use <Ctrl>+<D>
for right arrow, <Ctrl>+<S> for left arrow, <Ctrl>+<E> for up
arrow, and <Ctrl>+<X> for down arrow. Moving up or down the
first time will drop down the submenu beneath your current main
menu heading, and subsequent key-presses will move your cursor up
or down that submenu. Once you have dropped down a submenu, you
may press the left or right arrow keys, and you will still move
to the next main menu heading, but with its submenu already
dropped down. Press <Esc> to retract the submenus; press <Enter>
or <PgDn> when your choice is highlighted.
Alternatively, you may press a number 1 through 5 in the main
menu to drop down a submenu, then the first character of your
choice (usually a number) to make your selection. For example,
pressing <5> after program start-up will drop down the Reports
submenu, and pressing <F> will then let you choose a method of
printing out the FleXiBill Commercial Order Form. Or you may
press <2> followed by <1> to print the Monthly Report.
The other common interface besides the Main Menu bar is the Entry
Screen. There are several, because entering data is an integral
part of the billing process.
When using these entry screens, most of the operating rules for
the dBase series (II, III, III+ & IV) are in effect; that is,
<Home> takes you to the beginning of an entry field, <End> takes
you to the end; <Ctrl>+<RightArrow> moves you one word to the
right, <Ctrl>+<LeftArrow> moves you one word to the left;
<Ctrl>+<Y> deletes everything to the right of your cursor,
<Ctrl>+<T> deletes the word to the immediate right, and either
<Ctrl>+<W> or <PgDn> will "jump" you out of the immediate entry
area (saving all entries).
However, <Ctrl>+<Q> does *NOT* "quit" as it does in dBase, and
<Esc> will only escape without entry from the Main Menu bar.
Other places in the program, it usually takes a "0" to return to
the main menu, and a "Q" to exit to DOS. If you want to abort
Page 14
FleXiBill FreeWare version 5.2 Documentation Page 15
data entry after you've committed yourself, and there's an entry
field on the screen, go ahead and enter something you won't
forget, like "QWQWQWQW"; then find that record and delete it when
you've finished the entry.
Trying to escape from an entry screen without entering data will
only create a blank record, which will cause more trouble and be
harder to find and eliminate than obviously false data. But
don't wait too long to delete the record, or you might forget to
do it. One of the most pernicious sources of strange-looking
output is... strange-looking input!
Whenever you are asked to enter data to be saved in the database
(e.g., entering invoices), or to be used in a filter or search
process (e.g., specifying the month & year for a report), the
"confirm" feature mentioned above will be active. This prevents
you from accidentally leaving the entry field simply because you
reached the end of the current entry line.
However, for those screens designed to provide a data review
function, the "confirm" feature is *NOT* active. For example,
"Job View" Review menu (3-1), will display an entire database
record on a single screen, and ask you to to press one of several
keys. If you press <0> to EXIT this feature, you will
immediately return to the Main Menu screen.
However, if you choose "Job Chg" under the same menu (3-4), you
will see a very similar display... but, since this screen is
intended to allow you to enter changes to the bill, no action
will be taken after you make your selection until you press
either <Ctrl>+<W> or <PgDn>.
The reason for this difference is speed and ease of use. When
you're reviewing, you may need to skim through various jobs to
find something, like "Which job number was it that contained that
big order for polymerized mergetroids?" But when you're making
changes, caution supersedes speed in importance.
You may be frustrated at first by the program's apparent refusal
to accept your input and go on. It is common, for example, for
new users to use "Payment" under Review (3-6) to enter deposits,
then complain that the program won't accept the changes entered
and go on. Remember that this function automatically enters
today's billing date as the payment or deposit date, but allows
you the option of re-entering a different date after it has
recalculated the balance due. For this reason, the program
cannot just proceed to the next function; it has to wait until
you decide what submenu selection to make, then press <PgDn>.
Trial and error will quickly give you the "feel" of operation,
which is consistent within the constraints described above. The
goal of flexibility was achieved at the expense of some potential
automation, but that made the program useable by a wider range of
businesses.
Page 15
FleXiBill FreeWare version 5.2 Documentation Page 16
NOTES ON PROGRAM OPERATION
Monthly Report:
Should you choose to run the Monthly Report (2-1), an entry
screen will be displayed with a FleXiBill version notice in the
upper right-hand corner. Whenever you see that notice, you are
away from the Main Menu, and you will either have to enter data,
make choices, or wait for an operation to finish before you can
return to it (unless you press <Alt>+<C> to abort the program).
In the case of the Monthly Report, you will have to enter the
month and year as two-digit numbers (e.g., "05" for May and "92"
for 1992). This entry screen has a "confirm" feature; that is,
you may continue entering or changing numbers as long as you
like, but they will not be accepted by the program until you
press <Enter>.
Demo Data:
Your program comes with a couple of fictitious jobs and
customers, for demo purposes. These should be deleted and the
databases packed (5-4) before you begin entering your own real
data. The fastest way to delete these records is using the
Browse feature under the Review menu heading (3-7). The first
three choices in the Browse submenu are ways to display the jobs
database; the fourth is for the customer database.
Select <1>, <2> or <3> and press <Enter>, and you will be looking
at the "far left" of the sample jobs database. The order in
which they are displayed will depend on your selection; indexed
by job number, not indexed (entry order), or indexed by customer
code name.
Press the <Del> key once while your cursor highlights any of the
fields of each record, and the symbol <Deleted> will appear to
the left of the Record # display. Press <Del> again and the
symbol will disappear. When the symbol is showing, that record
has been *MARKED FOR DELETION* -- it is NOT deleted. It will
remain part of your database until you execute the packing
operation from the Maintenance menu (5-4). Once you have packed
the databases, all records marked for deletion are gone without
hope of recovery.
Don't forget to delete the sample customers, too. But exercise
caution; don't delete these demo records until you feel
comfortable enough with the program to re-enter your own data.
You may wish to try out program functions with the records
provided to help you get a feel for the way the program operates.
Page 16
FleXiBill FreeWare version 5.2 Documentation Page 17
BILLING
This is really the reason for the whole program, so it gets a
centered, capital-letter heading.
When you're ready to enter your own jobs, you will first have to
enter the customer to whom the bill will be presented. You can
do this in a "batch" process (all at once), or individually (just
prior to each job entry). It would be faster and easier to use
the batch method, but practically speaking it's more likely that
you'll enter jobs for your "regular" customers, and add new ones
as they come up. This means changing from one menu selection to
another a little more frequently, but it doesn't take that long.
Customer Code Names:
The user assigns these identifiers, unique to each customer, to
enable account tracking and overdue notices. Mnemonically
memorable code names are suggested, e.g. "GARTRUCK" for Garfield
Trucking Co., or "PETES ARMRY" for Pete's Armory and Sporting
Goods. There is room for 11 characters, including internal
spaces (don't begin or end with spaces).
Local & Non-Local Customers:
Because of the current crop of confusing tax laws, a special
feature has been included in the code name and report functions.
Each code name that begins with the slant character (/) will be
reported as "non-local"; all others are assumed to be "local."
For example, here in Orange County, California, a special tax is
collected from the business owner by the County for business
conducted with residents of other counties. The Monthly Report
will require at least three pages, no matter how small the amount
of business conducted in a month, because it prints:
(1) a summary of non-local (non-Orange County) business
(2) a summary of local (Orange County) business
(3) a summary of all business for the month
Political Commentary:
Fortunately, government agencies at all levels are aware of the
tremendous amount of slack time in any small business operation.
Many painstaking hours of research have resulted in the
development of these paperwork hoops, to give us something to
jump through when things get slow...
Customer Code Name List:
One thing you must always have handy is a current list of
customer code names. Because of the importance of this list,
there are three methods of printout available: direct to the
report printer, saved in an ASCII file, or saved in a Xerox
Ventura Publisher file. The Ventura file is a flat ASCII file
(no control codes), except that instead of spacing field output
Page 17
FleXiBill FreeWare version 5.2 Documentation Page 18
into columns, each record has a Tab (^I, decimal value 009,
control character HT) placed between fields. The default ("Body
Text") tag in Ventura can be defined with tab values that work
well with the type font and size chosen for final printing, but
output will look very strange if columns are separated by spaces
in normal PC fashion.
The code name is crucial to the billing operation. Many systems
use an automatically-generated account number for each customer,
but these can be difficult to remember, and require complex
cross-referencing. The code name is selected by the user; it can
be mnemonically memorable, and therefore does not need to be
looked up as often.
Option <4> on the Code Name Management submenu, "Automatic Code
Name Change," allows you to change the code name you use for a
customer. The program will make the change to the customer list,
then search the current jobs database and replace the code name
field in all jobs for that customer with the new code name. Then
the change will be recorded, with the current billing date and
CPU time, in the CHANGES.DBF database. Option <5> will print a
list of these changes, indexed by new code name, either to your
printer or to an ASCII file.
Remember that this change does not include archived records; they
will have to be changed manually using Browse (3-7, <3>). Two
complicating factors in this process are that, first, the
archived database must first be indexed (1-4 or 5-3); and,
second, because you are making a change to the key field while
indexed, immediately upon pressing <Enter> to record the change
your database position will change. If you have 10 or more
records to change, this could be very annoying. It would
probably be simpler to use Browse to identify job numbers which
need changing, write them down, and then use Job Chg (3-4) to
make the changes by job number.
"Okay" Procedure:
Don't forget to "Okay" your invoices after you've printed them;
otherwise, each time you enter new invoices and print them out,
you'll also print out the ones you printed before! This feature
is necessary because sometimes a paper jam or ribbon failure will
require you to re-run a batch of invoices. When this occurs, you
select the "Okay" feature (1-3) and choose to mark all invoices
for re-print. This will mark all invoices which carry an "F" in
the CUT field (printed but not yet okayed) with a "P" (ready to
print) in that field. Naturally, if you haven't okayed all your
previous printouts, EVERY ONE OF THEM WILL BE MARKED FOR
RE-PRINT!
This can be expensive when you're printing on 4-part NCR
pre-printed forms. Form the habit of doing the "Okay" after each
batch printout!
Page 18
FleXiBill FreeWare version 5.2 Documentation Page 19
Browse Feature:
Take advantage of the ease of use of the Browse feature (3-7)
when you need to make minor changes to a lot of jobs in the same
field. For instance, if half of your batch of invoices printed
but then the printer jammed, so half must be re-printed, you can
Browse the jobs database in entry order (un-indexed), press
<Ctrl>+<PgDn> to jump to the bottom (last job entered), and
quickly find and mark those jobs that didn't print successfully
with a "P" in the CUT field. This saves you from re-printing
invoices you don't need.
Deposits and Payments:
You can record deposits and payments either at the time of
invoice creation (1-1) or later using the Payments feature (3-6).
The operation of this feature is "confirm ON," as with (3-4) and
(3-5), because substantial data entry is involved. This often
leads to confusion, so remember: if you press <0> to quit to the
Main Menu, and then press <Return>, you WON'T get to the Main
Menu, but the first data entry field. You must press <PgDn> to
make your menu selection take effect. Bear in mind that you can
press <0>, then <Enter>, and make several changes in the record
before pressing <PgDn> to quit.
Pressing <D> and then <PgDn> takes you briefly to another screen
where you may enter the amount of the deposit being made, then
back to the displayed record. The deposit is automatically
deducted from the Balance owed, and the current billing date is
entered as the Deposit Date. (This may be changed by the user.)
Pressing <P> followed by <PgDn> automatically resets the Balance
to "0.00" and enters the current billing date as Date Paid; this
also can be changed by the user.
Crediting An Account:
Entering a deposit larger than the balance owed automatically
results in a credit to that customer's account, and a notation on
that record that it was paid against the customer's credit. This
notation is *NOT* displayed on the printed invoice unless
manually entered on one of the comment lines, but it might be
important for you to be able to tell your customers which jobs
were paid from their credit balance.
Another method for crediting a customer account is simply to
enter it into that customer's record using the Customer Changes
feature (3-5). Or, add the amount using the Browse feature
(3-7), option <4>. These methods do not apply the credit to a
particular bill, and no automatic notations are made.
When entering a new job ticket, if the customer's account shows a
credit balance you will be asked if you wish to pay the bill from
the credit balance. This is because some customers may wish to
apply their credit balance only to certain bills, and pay others
by cash or check. (Just trying to stay FleXiBill!)
Page 19
FleXiBill FreeWare version 5.2 Documentation Page 20
WORK-AROUNDS
All right, now we get to the good stuff. This is the section
where we tell you all the things you can do to avoid ordering
FleXiBill Commercial for $45.00. If you can make some of these
ideas work for you, we're happy to have helped.
RE-ENTERING INVOICES (1-5):
This feature of FXB6 is very handy, but you can get the job
done using either the Job Change feature (3-4) or Browse (3-7).
What Re-Entering does for you is recalculate the tax, subtotals,
etc. automatically, but if you have a calculator or a pencil you
can handle this as infrequently as it comes up.
OVERDUE NOTICES (1-8):
A simple stamp applied to a Dupe (1-7) will serve as a reminder
of unpaid bills. The Overdue feature (1-8) available in FXB6
compiles all of a customer's bills not yet paid and lists them on
an invoice form. This is convenient, but not absolutely
necessary.
REPORTS (1-2 through 1-9; 4-1 through 4-6): The Monthly Report
and the code name printout (1-9 & 5-7) are the only essential
printouts for normal business operation. If you want a yearly
summary, you'll have to total the 12 monthly reports. The other
reports available in FleXiBill Commercial are a convenience, not
a necessity.
The Credit Report is very handy, but not absolutely essential; it
just prints out a list of each customer's credit balance
(customers with no credit balance are not reported), and each job
paid by credit for those customers.
Main Menu Option 4, "RPT FILE", is actually used more by
developers than by our customers, because once you've created an
ASCII report file, you still have to send it to a printer. We
use them to study output and see what needs to be tweaked without
wasting paper. You might save up reports until you had a change
to change paper in your single printer, or you could use them to
create slightly dressier reports, or pull report data into larger
reports... but a necessity this ain't!
ARCHIVED DATABASES:
The Old Data and Old Dupe features (2-7 & 2-8) are for reporting
databases that have been stored away for a while. The simple
workaround here is to rename FORMS.DBF something else, and rename
your storage database to FORMS.DBF temporarily. Just don't
forget to change them back when you're done. Also, with the
utilities in (5-2) and the Closeout function (5-6), you can
create a storage database of only paid bills, leaving unpaid
bills in the current database. Without these functions, you
Page 20
FleXiBill FreeWare version 5.2 Documentation Page 21
can't archive last year's database until all bills are either
paid or carried forward.
This isn't as bad as it sounds; deleting a job from the database
to be archived is pretty simple, using (3-1), (3-4) or (3-7).
After you rename that database to something you'll remember
easily, like 1992INVS.DBF, just extract FORMS.DBF from the
FLEXBIL5 archive, delete the demo jobs, pack all databases (5-4)
and you're ready to re-enter the unpaid bills from last year.
*DO NOT* get confused and change the name of the CUSTOMER.DBF or
CHANGES.DBF files. We hope your customers will stay around year
after year.
REVIEWS (3-2 & 3-3):
The BackView feature (3-2) is really neat... and not necessary.
It was a specific request from a customer who maintains job
ticket envelopes (filed by job ticket number) containing
"masters" of a job, and who frequently needs to know the last
time a certain type of job was done for a specific customer. You
specify that customer code name and start with the most recently
entered job, searching backward until you find the one you need.
It's not very fast, but it beats searching the database one
record at a time from the beginning.
The best workaround -- in fact, the fastest way to handle that
situation even with FXB6 -- is probably to Browse the jobs
database, indexed by customer code name (3-7, <3>), and indicate
the code name at which you would like to begin browsing. Then,
press <Ctrl>+<RtArrow> to skip screens to the right until you
reach the Item1 field, and scan down for that job. (If it's in
Item3, it'll take a little longer.)
The CustView (3-3) is another nice feature with the same
workaround as mentioned above. This one only shows you the jobs
a particular customer has ordered, from earliest to most recent.
This saves time when you know that customer placed the order, but
you don't remember when. Again, it's not much more difficult to
use the Browse (3-7) indexed by customer code name (<3>) to get a
quick look at all of that customer's jobs.
MAINTENANCE (5-1, -2, -6, -8 & -9):
PrintSet (5-1): A mere convenience. It will send a FORMFEED
(which most printers can do anyway), a RESET (turn the printer
off, then on), the control codes for INVOICING (available at the
start-up screen) and for REPORTS (always sent just before a
report). Can occasionally save you from having to exit and
re-enter the program.
Utils (5-2):
Actually dangerous to have around, if you're not experienced in
using dBase II, III, III+ or IV. These will let you manipulate
archived (or any other) dBase-compatible databases. You can
Page 21
FleXiBill FreeWare version 5.2 Documentation Page 22
perform the standard dBase commands APPEND, BROWSE, COPY,
DELETE, LOCATE, INDEX, REPLACE and SORT... all of which can
drastically alter the contents of your databases. When these
were first added, they were in a secret menu for developers
only. We suggest that our FXB6 customers exercise extreme
caution playing around with these!
They are, however, convenient when you want to dig up a job
ticket from a few years back, or when you need to index the
database on an unusual key (SHIP? DATE? BALNC?) or to LOCATE old
records. It is also the only way to look at a dBase III
Plus-compatible database that has a different structure than
FORMS, CUSTOMER or CHANGES. (These structures are listed at the
end of this documentation.)
If you really need that kind of database power, consider buying
dBase or one of the newer generation (FoxBase, RBase, MagBase,
Paradox, etc.). It's outside the intent of this program.
Closeout (5-6): THIS is a real timesaver, and we wrestled with
the idea of including it in the FreeWare distribution... but our
penury won out. We worked hard on this program, lost a lot of
sleep and missed out on family outings. You can live without it,
honest; use the techniques described above for Archived
Databases.
What this does is create a new database (you pick the name, like
4Q92 or 1991BILS) of all *PAID* jobs older than a given cutoff
date. All unpaid jobs are retained. Then it deletes the
transferred jobs from the current database, and packs it. (It
incidentally creates a backup database before starting, just
because we don't trust electrons implicitly.) One customer does
this every January 1st for dates older than the previous January
1st, so he always has last year and the current year in the
database (plus a few very slow-paying carry-overs). It makes it
easier to manipulate the database if it doesn't get too large.
ResetDay (5-8): This just gives you a chance to change the
default billing date without exiting and re-entering the program.
A minor timesaver.
Colors (5-9): Not at all necessary, but fun for the kids and
sometimes a little easier on the eyes. We learned the hard way
that not all monitors display colors in quite the same way. The
MEMLCD file provided, for example, works best on laptop LCD
screens that treat white as black and vice versa. The colors
provided in the default COLOR.MEM file might not look as good on
your monitor as they did on ours. That's why we added the option
to save changes to FXB6.
GENERATING JOB TICKET NUMBERS:
Yes, it would be simple to have the program do it, and some of
our customers have had us make that modification; but many
businesses use letters as well as numbers in their job ticket IDs
Page 22
FleXiBill FreeWare version 5.2 Documentation Page 23
to differentiate between one type of job and another... for
example, BS1001 and AP1003 could specify the 1st and 3rd
Benchmark Services and Applied Products jobs, respectively.
Short of having us include the auto-numbering feature as a
customization, the simplest way to handle ticket number
generation without getting lost is to number some graph paper and
"X" out each number as you use it. Any word processor or text
editor can do this in short order; a BASIC language routine could
accept starting and ending input and do it even quicker, once it
was created.
Or, there are sequential numbering stampers available through
stationery and office supply stores for less than $20. Or, if
you have your invoices pre-printed, having them pre-numbered also
is usually a very small additional cost.
PRINTING WITH OTHER TYPES OF PRINTER/PAPER
This is the tough one. The system was developed with the
foreknowledge that the customers we were writing for wanted to
use pre-printed tractor-fed 7" billing forms, because they'd been
using them for years and didn't want to change. Of course,
they'd been typing them on an electric typewriter, and they
weren't tractor-fed... but they had years of back files on 7" NCR
copies, and lots of pre-printed window envelopes, and they just
didn't want to start a new process.
Our earliest customers didn't want reports at all. We built them
in anyway because we were pretty sure they'd eventually be
needed. We were right; now the reports are an important part of
their accounting process. But the reports shouldn't be run on
the expensive 4-part NCR forms, so they put in another (cheap)
dot-matrix printer and a printer switching device (even cheaper).
If you have a dot-matrix printer, consider having tractor-fed
forms pre-printed; it's not all that expensive, it's a standard
item, and almost any commercial printer has catalogs and order
forms from places that print nothing else. Print out an invoice
on plain paper and take it in to be sure the printout is
compatible with the form you order. You don't have to order
multi-part NCR; they also pre-print plain paper (much cheaper) in
7" lengths.
Or, print your invoices on plain paper and get a rubber stamp
made (most print shops, again) with your company name and logo on
it. Not as tacky as it sounds! Photographic processes can be
used to capture a neat logo and good-looking type so that the
only variable factor is your stamping technique, which you can
polish fairly quickly on scrap paper.
Or, output to a laser printer instead of a dot-matrix (and don't
answer yes to the start-up question about using the invoice
printer during this session). You can create your logo and
business information using any graphics or desktop publishing
Page 23
FleXiBill FreeWare version 5.2 Documentation Page 24
software, and print it before or after you output your invoices.
This will give you 4" on the bottom for free advertising.
CAUTION: Some laser printers will break down if the
paper is run through twice, because of the gummy
deposits left by twice-processed toner. Check your
documentation before trying this on your equipment.
The problem can also occur with some lasers when
processing previously photocopied paper. The only
absolutely safe option, for lasers with this
characteristic, is to have the paper pre-printed
on a lithographic (ink and water) press.
You can also output to an ink-jet; these printers are not subject
to the double-cycling problem mentioned above, as long as the ink
from the first pass has time to dry.
A WORD ABOUT ROUTINE MAINTENANCE
This software has been in use for a several years, in various
versions, by some of our earliest customers. We are indebted to
them for helping us to learn which practices can cause the biggest
problems, and which can reduce stress and loss.
Yes, you *CAN* lose data!! Don't ever believe otherwise. An old
associate of ours liked to say, "Use and enjoy, but never TRUST,
the system." It's true, for any system.
To minimize the likelihood of disasters, minor and otherwise,
heed the following cautions.
VIRAL INFECTION:
There is evil in the world. If you like to sample the bulletin
boards (where this program was originally distributed), you're
particularly vulnerable. Vile, despicable, inexcusable vandals
have used their skills to create insidious programs that hide
from you, and destroy your data. We recently fought a night-long
battle with one such pest because of our own lack of caution.
While helping a new-user friend load her software on her new
laptop, we read a virus from one of her back-up disks into four
different systems, and then copied it onto the boot track of all
of the floppies we formatted for her. It required anti-viral
software, ingenuity and about 12 hours to completely disinfect
all four systems and all the floppy disks involved.
SCAN! SCAN! SCAN! Everything you download, everything anybody
gives you. McAfee makes their anti-viral ShareWare easy to
obtain and use; try it out on your system, for your own peace of
mind. And pay them if you like it; they deserve it.
It distresses us that you might contract a virus by downloading
FleXiBill, but we can't overlook the possibility. It was
Page 24
FleXiBill FreeWare version 5.2 Documentation Page 25
distributed virus-free, but we can't control where it's been
since then.
DISK MAINTENANCE:
A quick word about what happens when files are stored on a disk.
Information is read from input (your COM port, if you're
downloading from a BBS, or your floppy drive, or your keyboard...
wherever) and stored in the next available drive location (let's
assume it's C:\FXB, for ease of discussion). The space available
may be 36k, and the program is perhaps 360k. Obviously, it won't
all fit. So, DOS lays down 36k and marks the end with a little
pointer byte that says "go to..." wherever the next space is
available.
Now, let's suppose you've stored FleXiBill in its FXB
subdirectory on your C: drive in this manner. It's in about 12
different places, but they all say C:\FXB, so that's what you
see, and everything *LOOKS* fine.
Now, let's further suppose you start adding jobs to your
database. Say 6 months go by, and you've done a whopping
business, and your database is up to 350 customers and 1,000
different jobs. DO YOU KNOW WHERE YOUR DATA IS???
No, you don't. DOS does... but let's be reasonable. DOS is not
perfect. The more complex your storage set-up becomes, the less
reliable DOS will be about finding, presenting, and altering it.
There are two methods for improving this situation. You can use
defragmentation software, which is available commercially or as
ShareWare; or you can physically remove files from your disk and
lay them back down again.
Now, the second method is not as good as the first because,
unless you remove *ALL* files from your disk, you have no
guarantee that it won't just lay them right back down in multiple
segments!
We've used both methods with great success, but there are risks
of which you should be aware. Sometimes we find it quicker to
copy files to the hard disk, then back onto a floppy, than to
defragment the floppy; but for hard disks, it's usually faster
AND more reliable to use software that's made to do the job.
The primary risk is, you may lose data. The way to minimize this
risk is to BACK UP RELIGIOUSLY!!! Copy your .DBF files to floppy
disk before you start the defragmentation process.
Central Point Software makes a good program called PC-TOOLS that
will show you a nice graphic picture of your disk, so you can
visually satisfy yourself that your files are defragmented.
Gazelle Systems makes an excellent disk optimizer (defragmenter)
called OPTUNE that uses a similar graphic representation to
display its progress. Another good defragmenter (without the
Page 25
FleXiBill FreeWare version 5.2 Documentation Page 26
visual progress report) is DOG (Disk OrGanizing software). There
are lots of them under the Disk Utilities heading on any good
BBS. There are also several available on the shelves of any good
software store, like Egghead or CompUSA.
If you use OPTUNE, be careful... disk technology has advanced,
and some more modern systems may not appreciate having the spin
rate or the interleave adjusted. These are options, and best
left alone if you're not VERY knowledgeable.
SHUT-DOWN:
NEVER shut down your computer while your software (ANY software)
is running! DOS has enough problems without having to figure out
where it might have left things hanging during such a traumatic
interruption of normal operation. Files which have been opened
for alteration must be closed according to the internal rules by
which Clipper and dBase III+ operate, or they lose their
identifying characteristics. If this happens, they will no
longer be recognized by FleXiBill, dBase III+, or any other
database manipulator. (This is a "bad thing;" trust us.)
Over the years we've seen our customers get away with numerous
violations of these rules... but we've also seen them tear their
hair and lose their tempers as though it were our fault, or
IBM's. Please don't pass the buck; do it right, and it will work
well for you.
If your power goes out, you can't help it; just be sure you turn
the CPU off before the power comes back on, to prevent damage
from a surge. (If you don't have a surge suppressor, and you
should, you'd be better of to unplug it completely until the
power supply is stable.)
You should also avoid interrupting database operations with
<Alt>+<C>; however, if you must, be sure that the first thing you
do when you start the program up again is re-index (1-4 or 5-3).
And, above all, BACK UP YOUR DATA.
IF YOU THINK YOU HAVE DATABASE PROBLEMS:
If your system can't find a record you KNOW you've entered, try
re-indexing before you panic. If that fails, try defragmenting
your drive (don't forget to back-up first!) and THEN re-indexing
before you panic. Look for the entry using Browse (3-7) option
<2> (entry order) if it's a job, or <4> if it's a customer. You
may find that the number you entered wasn't the number you
thought it was.
UNEXPLAINED MYSTERIES:
It has happened that during program operation the computer "takes
a hit." This is a means of expressing the mystical occurrence
that nobody ever quite fully explains... it means, in its most
Page 26
FleXiBill FreeWare version 5.2 Documentation Page 27
literal sense, that an electron got misplaced somewhere, and the
computer didn't follow instructions exactly. We've seen it
happen, with various software (coincidentally, never with
FleXiBill).
We can assure you that it isn't the fault of the program, because
it doesn't occur routinely or under any particular set of
software-related circumstances... but it does, in fact, occur.
Often weather is a factor, static electricity or moisture in the
air, or excessive dryness, or heat... Sometimes using a good
commercial program like WordPerfect or Windows, your computer
will "freeze up"; nobody ever says exactly why, but it happens.
We have one recorded instance of the JOBS.DBF database becoming
unrecognizable by FleXiBill. We were called in, and we found it
was true; FleXiBill couldn't open the file, dBase III+ couldn't
open it, and nothing we could do would recover it. It appeared
as though the file had been sorted in a non-dBase-compatible
fashion, more as a direct DOS sort. We suspect one of the games
the customer's children were using on the same system during
off-hours, which allowed players to create and sort their own
___.PUZ puzzle files.
Fortunately, only about 25 of the customer's current 3,400 job
records were lost, because they had performed a routine back-up
three days earlier. We removed the suspected game, defragmented
the hard disk, deleted the JOBS.DBF file, copied in the new one,
defragmented the hard disk again, and there's been no trouble
since.
Why should we tell you this horror story? BECAUSE WE NEVER WANT
TO HEAR ANOTHER ONE!! Every time you enter enough data that
you'd hate to do it again, BACK IT UP!!
When your database files get large enough that back-up to floppy
disk is inconvenient, you may wish to start backing up using a
software archiving program like PKZIP or ARJ. It is possible to
back them up to another location on the hard disk, but this is
only a partial solution; sometimes the hard disk is the problem.
We have created a simple utility to automate the back-up process
for some of our customers, but something similar can be done with a
batch file and the PKZIP program:
COPY CON: FXBAK.BAT
PKZIP B:\FXBAK C:\FXB\*.DBF^Z
Then type FXBAK with a floppy in the B: drive and your database
files will be archived into a file called FXBAK.ZIP on that
disk. PKZIP version 2.04e (1-25-93) will create a single file of
about 250k from 3+ Megabytes of FleXiBill database files.
Page 27
FleXiBill FreeWare version 5.2 Documentation Page 28
dBase III+ COMPATIBILITY
The database files (with a filetype of .DBF) and the memory
variable storage files (.MEM) are completely dBase III+
compatible, but the index files (.NTX) are not. If you have
dBase III+, you will have tremendous flexibility in direct
manipulation of the data. There is nothing this program does
that cannot be done using the dBase III+ programming language;
Clipper is essentially a compiler that uses the same programming
language to create DOS-executable programs. In fact, there are
an infinite number of unique ways of slicing and dicing data in
dBase III+ to produce profit and loss statements, comparisons,
graphs, etc.
However, one major advantage of a compiled program like FXB5 or
FXB6 Commercial over an interpreted system like dBase III+ is
speed. The same indexing process that takes 30 seconds for 3,300
records in FXB5 takes about 20 minutes using dBase III+.
Another advantage is user-friendliness. Direct manipulation
using dBase III+ requires you to understand that environment and
its operations, and perhaps, for some processes, to learn the
programming language as well. (Not to mention that it requires
you to shell out in the neighborhood of $500 for that program!)
Here are the commands you would issue in dBase III+ to index the
databases as they are indexed in FleXiBill. The index files
created will have a filetype of .NDX, and will NOT be recognized
by FleXiBill, but they will order the databases the same way.
use jobs
index on jobnr to nr
index on code to jobcode
use customer
index on code to code
use changes
index on newcode to new
Then, to perform operations on the jobs database indexed
according to code name, you would type:
use jobs index jobcode
Please be cautious about direct database manipulation. FleXiBill
will be careful to maintain your database integrity, but using
dBase III+ there are many ways to destroy it. dBase III+ is a
powerful tool, with powerful commands and programming capability.
That power can wipe out every Balance Due figure in your database
with a single REPLACE command. We recommend that you do not use
your only database for practice in learning dBase III+!! Copy
it, if you like, and use it in a different subdirectory; that
way, you'll still have the original if there's an accident or a
mistake. (Yes, they DO happen!)
Page 28
FleXiBill FreeWare version 5.2 Documentation Page 29
DATABASE STRUCTURE:
--- Structure of CHANGES.DBF ---------------
Field Field Name Type Width
1 OLDCODE Character 11
2 NEWCODE Character 11
3 CHGDATE Character 8
4 CHGTIME Character 8
Total 39
--- Structure of CUSTOMER.DBF --------------
Field Field Name Type Width
1 CODE Character 11
2 NAME Character 30
3 CREDIT Numeric 8 2
4 ADRS Character 30
5 ADRS2 Character 30
6 PHON1 Character 12
7 PHON2 Character 12
Total 134
Page 29
FleXiBill FreeWare version 5.2 Documentation Page 30
--- Structure of JOBS.DBF ------------------
Field Field Name Type Width Dec
1 CODE Character 11
2 DATE Character 8
3 JOBNR Character 7
4 BALNC Numeric 8 2
5 TOTAL Numeric 8 2
6 TAX Numeric 8 2
7 DATPD Character 8
8 CUT Character 1
9 CREDIT Character 1
10 DEPDT Character 8
11 TXBL Character 1
12 DEPST Numeric 8 2
13 SUBTL Numeric 8 2
14 SHIP Numeric 8 2
15 CHEKNR Character 10
16 COMMNT1 Character 75
17 COMMNT2 Character 75
18 PONR Character 14
19 QUAN1 Character 10
20 ITEM1 Character 45
21 PRIC1 Numeric 8 2
22 QUAN2 Character 10
23 ITEM2 Character 45
24 PRIC2 Numeric 8 2
25 QUAN3 Character 10
26 ITEM3 Character 45
27 PRIC3 Numeric 8 2
28 QUAN4 Character 10
29 ITEM4 Character 45
30 PRIC4 Numeric 8 2
31 QUAN5 Character 10
32 ITEM5 Character 45
33 PRIC5 Numeric 8 2
Total 583
Page 30
FleXiBill FreeWare version 5.2 Documentation Page 31
SOME FINAL NOTES
We hope you enjoy this program. We hope you like it well enough
to pass it on to friends, upload it to other bulletin boards, and
generally encourage its use. We want everybody to use it and
like it.
But we know better. Somebody isn't going to like the interface,
somebody else isn't going to like the colors we chose, and others
aren't going to like the report format, or the invoice format, or
the manual job number assignment.
If you dislike something about this program enough to complain
about it, we'll be happy to have your comments at the address
listed on the Main Menu screen. Sure, we'd like to get
compliments and praise... but if enough people complain about the
same things, that helps us know what isn't working as well as it
could.
And, of course, we'd love to hear about any help you might need
from us. We specialize in database-oriented business software,
but we also have expertise in the areas of technical training and
printing/electronic publishing. FleXiBill Commercial version 6.0
is a pretty good program, but it's generic. If it's *ALMOST*
just what you want, maybe we can tune it up and perfect it --
just for you.
Enjoy!
Page 31