Files
rdb/man/cashflow.man

181 lines
4.6 KiB
Groff

.TH cashflow "" "" "/rdb Command"
.PC "Compute balance column of cash table"
\fBcashflow < \fIcashtable\fR
.PP
.II "compute cash flow"
.II "cash flow"
The command
.B cashflow
helps you manage your cash flow.
It reads
.IR cashtable ,
which you design,
then computes a running balance in a
.I Balance
column (which must be column 3) from an
.I Amount
column (which must be column 2).
.PP
Cash-flow analysis lets you see if you will always have enough money
in hand to cover each day's bills.
It makes cash management possible by
telling you whether to put off an expense until a check arrives,
ask for an advance, get to work and make more money,
or control your spending.
.SH Example
The following gives an example
.IR cashtable ,
called
.BR cash :
.DM
Date Amount Balance Description
------ ------ ------- -----------
890101 512 current balance
890101 -450 rent check
890101 1000 pay check
890115 -300 estimated tax payment
890115 1000 pay check
890115 -1000 living expenses
890120 -900 big purchase
.DE
.DM
890201 1000 pay check
890201 -450 rent check
890215 1000 pay check
890115 -1000 living expenses
.DE
.PP
The command
.B cashflow
needs two columns, named
.B Amount
and
.B Balance.
(If you use different column names, you must edit the
.B cashflow
shell script).
All other columns are optional.
Each row in your table represents
a projected income item (positive) or a projected expense (negative).
This is your flow of cash.
To summarize the cash flow in our example table
.BR cash ,
type:
.DM
cashflow < cash
.DE
.PP
This prints the following on your screen:
.DM
Date Amount Balance Description
------ ------ ------- -----------
890101 512 512 current balance
890101 -450 62 rent check
890101 1000 1062 pay check
890115 -300 762 estimated tax payment
890115 1000 1762 pay check
890115 -1000 762 living expenses
890120 -900 -138 big purchase
.DE
.DM
890201 1000 862 pay check
890201 -450 412 rent check
890215 1000 1412 pay check
890115 -1000 412 living expenses
.DE
.PP
That
.B "big purchase"
gives us a negative balance in 890120.
Now that you know, you can do something about it.
One move is to put the big purchase off
until the first of February.
After you edit table
.B cash
to reflect this change, it appears as follows:
.DM
Date Amount Balance Description
------ ------ ------- -----------
890101 512 current balance
890101 -450 rent check
890101 1000 pay check
890115 -300 estimated tax payment
890115 1000 pay check
890115 -1000 living expenses
890201 1000 pay check
890201 -900 big purchase
890201 -450 rent check
890215 1000 pay check
890115 -1000 living expenses
.DE
.PP
Running
.B cashflow
again will tell us if this strategy works:
.DM
Date Amount Balance Description
------ ------ ------- -----------
890101 512 512 current balance
890101 -450 62 rent check
890101 1000 1062 pay check
890115 -300 762 estimated tax payment
890115 1000 1762 pay check
890115 -1000 762 living expenses
890201 1000 1762 pay check
890201 -900 862 big purchase
890201 -450 412 rent check
890215 1000 1412 pay check
890115 -1000 412 living expenses
.DE
.PP
As you can see, this works \(em there's no negative cash flow for any
period.
You can also try other options.
.PP
You can do all of the inputting and editing in the text editor.
You can execute commands in
.B vi
by using the exclamation `!' shell feature;
or from MicroEMACS by typing \fB<ctrl-X>!\fR.
You also might want to write out to a
.I tmp
file and use
.B mv
to overwrite your
.B cash
table so that it is
file is up to date.
For example, in
.B vi
you can type:
.DM
:!cashflow < cashtable > tmp ; mv tmp cashtable
:e!
.DE
.PP
The first line computes the
.B Balance
column, writes the result into a
.B tmp
file, and moves
.B tmp
to be the new
.B cashtable.
All of this is necessary because
in COHERENT you cannot have one file
as both input and output without wiping out the file.
The second line,
.B :e!
pulls the new file into the
.B vi
editor and displays it on your screen.
.SH "See Also"
COHERENT Lexicon:
.B
ksh,
me,
sh,
vi
.R
.SO cashflow