Menu

User Manual

Thomas Wang

Cash Flow User Manual

Introduction

Cash Flow (https://sourceforge.net/projects/cash-flow) is a simple personal finance application that helps you keep track of cash, income, expense, and budget. It supports a variety of different financial reports. For example, the cash flow report is a yearly report describing each month the types of income and expense by categories. The Cash Flow application is a free application released under the Apache 2.0 License.

The Cash Flow application reads its data from a user editable text file. This text file contains your yearly financial transactions in a similar layout as a paper ledger. This is different from a commercial personal finance application where they typically deploy a binary database with an opaque data format.

Cash Flow will not keep track of your stock or bond mutual fund accounts - your mutual fund companies will track them for you. However, the record of dividends and capital gain distributions can be tracked within a set of money market accounts within the application. Business users should select an accounting software for their business.

Program Installation

Cash Flow application comes pre-packaged in a "zip" compressed archive named "CashFlow.zip". You can install it anywhere you like under your home directory. By default, the program is installed under a directory named "CashFlow".

In order to run this program you will need to install version 8 of Java JDK (http://www.oracle.com/technetwork/java/javase/downloads/index.html) on your computer. After installing the JDK, remember to visit the Java Control Panel's "Security" tab. There is an option named "enable Java content in the browser". It should usually be unchecked to prevent any Java applet from running in the browser.

After-installation Steps

The file "CashFlow.bash" is associated with TextEdit on the Mac. Click on "CashFlow.bash" in the Finder, and select "File -> Get Info" command. Change its "open with" application from TextEdit to Terminal. To be able to select Terminal you need to switch from "Recommended Applications" to "All Applications".

For the Windows platform, you can create a desktop short-cut to "CashFlowWin32.exe". Double-clicking on the short-cut will launch the application for you.

Program Invocation

One easy way of running the Cash Flow application is to simply double-click on the supplied batch file of "CashFlow.bash", or the Windows executable "CashFlowWin32.exe".

Launching the Cash Flow application will bring up the initial launcher window with a single button labelled "Select a cash flow file...". Click on the button will open a file chooser dialog box. For this example, look into the "CashFlow" folder and locate the sample data file of "Sample2014Data.txt". Go ahead and select that file.

What you did was to run the Cash Flow application targeting the the supplied sample data file "Sample2014Data.txt". This sample data file contains the default financial transaction categories, and sample data for two months worth of financial transactions.

The initial view shown is a text editor view of the data file. You can scroll the window pane to look at the content of this data file to get some idea how to enter data for your own income and expense items.

Select the view named "Cash Flow & Budgets" located in the application pull-down menu, and a table should appear on screen:

A B C D E F G
Income 2014
Category Jan - Feb Pct Jan Feb
dividend 0.76 0% 0.76 0.00
income 7322.00 100% 3661.00 3661.00
Total 7322.76 100% 3661.76 3661.00
Expense 2014
Category Jan - Feb Pct Jan budget Feb budget
atm 120.00 2% 80.00 (20.00) 40.00 +40.00
car 742.94 11% 699.94 43.00
charity 265.00 4% 125.00 +25.00 140.00 +35.00
dining 130.92 2% 115.00 +125.00 15.92 +309.08
education 10.00 0% 0.00 10.00
fee 19.50 0% 0.00 19.50
food 409.66 6% 206.65 203.01
gift 15.99 0% 0.00 15.99
hobby 79.59 1% 79.59 +20.41 0.00 +120.41
housing 1600.00 25% 800.00 800.00
medical 1300.00 20% 630.00 670.00
phone 151.00 2% 75.50 75.50
shop 437.07 7% 116.32 (6.32) 320.75 (217.07)
utility 285.60 4% 193.93 91.67
vacation 930.50 14% 0.00 0.00 930.50 +569.50
Total 6497.77 100% 3121.93 3375.84
Net Income +924.99 +539.83 +385.16
Tags Jan - Feb Jan Feb
Remodel (320.75) +0.00 (320.75)
Total (320.75) +0.00 (320.75)

For the budget columns any number in parenthesis indicates the amount of the over-budget situation, while a plus figure indicates the remaining available amount for this month.

Clicking on a figure will highlight that particular row. The bottom half of the window will show the transactions that populated that figure.

In general, user data files should be stored in a dedicated directory, perhaps with the directory name of "Finance". Copy the supplied sample file to that directory, and rename it Finance-<year>.txt, for example: (Finance-2017.txt).</year>

Financial Accounts

Financial accounts in the Cash Flow application can be bank accounts, credit card accounts, or cash envelope accounts.

Generally bank accounts have positive balances, while credit card accounts have negative balances (you owe money).

This is an example of creating two financial accounts within a Cash Flow data file. You can see that we have one account named "bank" with a January 2016 opening balance of $1000, and a closing balance of $3000. One January 3rd there is an incoming salary of $2000 dollars.

For the credit card account named "credit card" the January 2016 opening balance is a loan of $100.2. After an annual fee charge of $25 the ending balance is a loan of $125.2.

Account bank
{ 1000 => 3000
  01/03/16 income, Alliance Mutual 2000.00
}

Account credit card
{ -100.2 => -125.2
  01/02/16 fee, credit card (annual fee) 25
}

Loan Accounts

Credit card companies usually report credit balances as a positive figure, but it still means that you owe them money. If you do not want to always enter negative number for the balance figures, then you can use Cash Flow's loan account type to represent a credit card account.

Account bank
{ 1000 => 3000
  01/03/16 income, Alliance Mutual 2000.00
}

Loan credit card
{ 100.2 => 125.2
  01/02/16 fee, credit card (annual fee) 25
}

Report Year

The report year is determined by the year specifier, which is usually located at the beginning of the data file.

Year 2016

Income Categories

Income represents money earned that increases your bank balance. There are already a few income categories defined in the example data file.

Declare Income ai - alimony income
Declare Income csi - child support income
Declare Income income - regular income
Declare Income dividend - dividend income
Declare Income inheritance - inheritance income
Declare Income interest - interest income
Declare Income gains - capital gains
Declare Income pension - pension income
Declare Income rebate - cash rebate
Declare Income taxfreeDiv - tax free dividend
Declare Income BasisIncome - income declared as living income during retirement
Declare Income GiftIncome - gift received
Declare Income ShortGains - short term capital gains
Declare Income LongGains - long term capital gains

You can add more income types of your own by writing them in your own data file. Suppose you receive bonus income in each December, and you wish to keep it separate from regular income. You can do so by declaring a new income type of "bonus".

Declare Income bonus - my bonus income

Then you can refer to this income type in the rest of your data file, such as:

12/01/16 bonus, Alliance Mutual, 700.0

Expense Categories

Expense represents purchase or money spent that decreases your bank balance. These are the example expense categories listed in the sample data file:

Declare Expense alimony - alimony expense
Declare Expense atm - ATM withdraws
Declare Expense car - car repair, car purchase, gas, parking, transportation
Declare Expense child - child support expense
Declare Expense civic - donation to campaigns or elections
Declare Expense charity - non-profit donation
Declare Expense dining - dining out expenses, restaurant
Declare Expense education - school costs, tutor expenses, after-school programs
Declare Expense event - movie or musical events, amusement parks
Declare Expense fee - bank fees, credit card fees
Declare Expense gift - gift expense, including birthday and Christmas
Declare Expense food - food and grocery store expenses
Declare Expense hobby - hobby related expenses, wine, tea, collectibles
Declare Expense housing - mortgage, rental, home repair, gardening, home owner association
Declare Expense insurance - car, house, or life insurance
Declare Expense medical - medical or dental expenses, medicine, self paid premiums
Declare Expense misc - miscellaneous expenses
Declare Expense phone - phone, cable, internet
Declare Expense shop - shopping expense
Declare Expense tax - property tax, income tax
Declare Expense utility - electricity, natural gas, water, garbage
Declare Expense vacation - vacation related expenses

The number of categories are deliberately kept small. Having too many expense categories will just make the presentation harder to understand, as each category slice becomes increasingly tiny.

You can declare a new expense type as long as they represent large purchases. Small miscellaneous purchases belongs to the "misc" category.

If you donated sixty dollars to your high school PTA, then the following line could be an accurate representation:

06/24/16 charity, High school PTA (check #102) 60.00

In the above example, the string "High school PTA" is the payee of the transaction. "(check #102)" is the comment field. "60.00" is the amount of the transaction, which is sixty dollars.

Some other times you can group together a series of similar purchases from the same store:

07/12/16 food, Food Barn, 14.62+32.99

It saves the effort to listing them separately:

07/12/16 food, Food Barn 14.62
07/12/16 food, Food Barn 32.99

Field Conventions

A financial transaction may be entered with minimum details or full details according to user preference:

  • date category amount
  • date category (memo) amount
  • date category, payee, amount
  • date category, payee (memo) amount

Here are some real examples:

  • 07/12/16 food 23.72
  • 07/12/16 food (check #160) 23.72
  • 07/12/16 food, Quikmart, 23.72
  • 07/12/16 food, Quikmart (check #160) 23.72

The date field specifies the day of the transaction. Valid date formats include 12/25/2016, 12/25/16, or 2016-12-25. When there are multiple transactions happening on the same day, then the user may add an optional sequence number to the date. 12/25/16.1 indicates the first transaction on that day, while 12/25/16.2 indicates the second transaction on that day.

Category specifies how income or expense transactions should be classified. Category names are always one word to reduce the amount of typing per transaction entered.

Payee is name of a merchant who is getting paid. On the other hand, a payer is the name of a company who is paying you. Payee and payer may contain multiple words.

A memo is a short piece of text enclosed in parenthesis that gives additional information about a transaction.

The amount field indicates the dollar amount of the transaction in local currency. Some valid examples include 10.99, -2.5, 2000, 0.49, and 0. The plus and minus operators are supported in the amount field. "9.99-5.36", "-5.1+2.33+10" are valid amount fields as well. There is no support for division or multiplication currently in the amount field.

Transfer In and Transfer Out

Transfer-In categories represent money transferred into the current financial account from another account you own. Transfer-Out categories represent money transferred out of the current financial account into another account you own. Each transfer-in transaction into an account is generally balanced by an equal transfer-out transaction located somewhere else.

The way to think about it is that transfer categories do not make you richer or poorer, since you are just moving money from one plate to another plate that you own.

The default transfer categories from the sample data file are:

# Payment to merchant
Declare Transfer In PayFrom - incoming payment
Declare Transfer Out PayTo - outgoing payment

# Buy and sell funds
Declare Transfer In BuyFrom - purchase from another account
Declare Transfer Out SellTo - sell to another account

# Other generic transfers such as between savings and checkings
Declare Transfer In InFrom - incoming money from an account
Declare Transfer Out OutTo - move money to an account

Use "PayTo", and "PayFrom" when the transaction is a payment to a merchant. Use "SellTo" and "BuyFrom" when recording mutual fund sales. "OutTo" and "InFrom" are for other generic transfer transactions, such as moving money between a checking and saving account.

You can use these categories in the following way:

Account bank
{ 3000 =>
  03/08/16 PayTo my Visa card (check #101) 355.49
  03/08/16 BuyFrom my brokerage account 1200
}

Loan my Visa card
{ 355.49 => 15.40
  03/14/16 PayFrom bank 355.49
  03/09/16 food, Quikmart 15.40
}

An outgoing transfers and the matching incoming transfers may have different dates due to the in-flight nature of money transfer or check mailing.

If you need to send some money to your uncle, then that is an expense item of type "gift". It is not a transfer-out, because your net balance does drop from this transaction.

  03/21/16 gift, my uncle (check #102) 500.0

Statement Blocks

Bank statements are monthly records of financial transactions. A single bank statement is represented by curly brace groupings in the data file.

Suppose you have a dedicated checking account for holding emergency cash to keep three months of living expense, and it is being automatically deposited from salary two times a month. This could be its representation:

# Statement ends around the 28th
Account my emergency checking acct
{ 2450 =>
  04/01/16 income, Alliance Mutual 120
}
{ 3460 => 2450
  03/22/16 car, Acme car repair (check# 103) 1250.0
  03/16/16 income, Alliance Mutual, 120
  03/02/16 income, Alliance Mutual, 120
}
{ 3240 => 3460
  02/15/16 income, Alliance Mutual, 120
  02/01/16 income, Alliance Mutual, 120
}
{ 3000 => 3240
  01/15/16 income, Alliance Mutual, 120
  01/02/16 income, Alliance Mutual, 120
}
# ^^ my emergency checking acct ^^

You can see how transactions within a single statements are grouped together by curly braces. Each bank statement has a beginning balance, and an ending balance. The amount to the left of the arrow is the beginning balance, while the amount to the right of the arrow is the ending balance. Pound signs in the beginning of a line indicate user comments.

If a bank statement period is not finished, then the ending balance may be omitted.

It can be a good idea to always fill in a temporary statement ending balance, since this practice can improve your situational awareness of your current bank balance.

You can locate your balance figures from visiting your bank's web site.

Built-in Text Editor

Project Cash Flow supports a built-in text editor with color highlights. The date field is rendered using light blue color, while the memo field is rendered with purple color.

Once some edit changes are typed into the editor window you can save the changes using the "Save" menu item under the file menu. If there are validation issues, then the error messages would be shown at the bottom panel of the text editor window.

Pressing "F6" function key reduces the text editor font size, while pressing "F7" function key increases the text editor font size.

Right mouse click brings up a pop-up menu where additional text editor commands are accessible. These commands include:

  • Undo : undo the current set of text changes
  • Redo : redo the current set of text changes
  • Cut : cut the current selection into the clipboard
  • Copy : copy the current selection into the clipboard
  • Paste : paste the clipboard content to the current cursor position
  • Delete : delete the current selection
  • Select all : select the entire text editor content
  • Find : bring up the find dialog box
  • Replace : bring up the replace dialog box
  • Auto-fill delay : change the auto-fill delay interval

The built-in text editor supports auto-fill of the category field, and the payer / payee field. As long as you are typing at the end of the line, any partial word match coupled to a delay in key press would pop up the auto-fill selection box. Scroll up and down the selection list using the arrow keys, and press the 'Enter' key to pick a selection.

You can manually pop up the auto-fill selection box by pressing ctrl-space with the cursor within a supported field. Pressing the 'Escape' key dismisses the auto-fill selection box.

Declared Names

Common payee and payer names can be declared so that auto-fill may work reliably, even in a relatively new data file with not many transactions. The user may also establish standardized spelling for names that may have alternative spelling.

Declare Name US Treasury
Declare Name Quikmart

Ordering of Transactions

In this user manual you might notice that transactions are recorded with the most recent ones near the top. This is the preferred ordering used in this user manual. The Cash Flow application can deal with the most recent transactions ordered near the bottom as well.

Procedure and Timing of Data Entry

In general a user would write down financial transactions into a data file by visiting their bank's web site. It is useful to arrange the web browser to the left side of the screen, while having a text editor open to the right side of the screen. This way it is relatively straight forward to transcribe information into the text editor. Some text edits support sorting over a range of text lines, and this capability can help the situation when a bank's web site would display items in the opposite order to your preference.

It is entirely up to the user how often to transcribe transactions. If your bank balances are high, and without any credit card debts, then you can get away with transcribing less frequently.

Budgets

Budgets are guidelines to how we can spend our money. The Cash Flow application have a flexible system to set up a budget plan.

The simplest budget plans are based on a monthly budgets. Suppose you want to limit monthly shopping budget to four hundred dollars in year 2016, then you can write the rule as follows:

Budget 2016 shop 12 x 400.0

Suppose in the month of February 2016 you need to make a previously agreed desk purchase of no more then two hundred dollars, then you can add to the existing budget with an extra entry:

Budget 2016-02-01 shop 1 x 200.0

Then you will acquire this two hundred dollar budget just in this particular month. Notice that unused budgets automatically carry forward to the next month. Budget deficits also carry forward to the next month.

Modifier Budget Interval
1 x one time only
2 x 6 months
3 x 4 months
4 x 3 months
6 x 2 months
12 x 1 month

Budgets requires buy-in from all stake holders. Without such agreements all you can do is to adjust budgets up to the spending level.

The Cash Envelope System

A powerful saving system invented in the old times is called the cash envelope system.

This is simply a set of cash envelopes labelled for each saving goals. These envelopes can be stored in a bank safe box or in a home lockable file cabinet. You write a check against yourself to get cash saved in particular envelopes.

The Cash Flow application can help you keep track of each envelopes:

# goal 500 dollars - completed
Account washer saving envelope
{ 500 => 0  (March)
  03/27/16 atm, washer saving envelope (envelope emptied up) 20
  03/26/16 shop, Eastern Appliance (washer purchase) 480
}
{ 400 => 500  (February)
  02/22/16 InFrom our credit union, 100
}
# ^^ washer saving goal 500 dollars ^^

Account our credit union
{ 3000 => 2900  (February)
  02/22/16 OutTo washer saving envelope (check #108) 100.0
}
# ^^ our credit union ^^

The Opaque Category of Cash

In the application Cash Flow we represent cash obtained from ATM machines with the category name of "atm". Once we have cash in our pocket then we can spend them right away in any expense categories. In this way, cash is considered an opaque category, because we lack insight to how they are spent. Opaque expenses block our understanding of spending patterns. One goal of using an application such as Cash Flow is to track our expenses precisely. That is the reason why we always want to document them carefully.

We can choose to more closely track of our cash spending by taking advantage of the category reclassification feature of the Cash Flow application.

Suppose you paid your gardener a cash payment of sixty dollars then you can record it as follows:

Account cash transactions
{ 0 => 0
  2016-05-14 atm => housing (gardener) 60
}

The fund from an ATM withdrawal has been re-purposed to a housing expense (gardener).

One other example is the cash refunding example. Suppose you have bought fifteen dollars worth of burgers with a debit card in order to share with your friends. Two of your friends rebated ten dollars of your cost in cash. You can keep track of these transactions this way:

Account cash transactions
{ 0 => 0
  2016-08-20 dining => atm (rebate from John and Ann) 10
}

Account our bank
{ 3015 => 3000
  2016-08-20 dining, Jo Jo Burger, 15.0
}

How can cash deposits to a bank account be handled in Cash Flow? These are recorded as negative ATM amounts. You can think these as returning the ATM money back to the bank, which is similar to returning a coat back to a clothing store.

08/20/16 atm, Bank of the East (cash deposit) -60.0

08/22/16 shop, New Fashion (returning a coat) -87.99

Big Box Stores

Big box stores can be opaque in the same way as cash. Suppose you had a bill of three hundred dollars from a big box store, with groceries of two hundred dollars, and regular shopping of one hundred dollars. You can use re-classification as follows:

Account our bank
{ 3300 => 3000
  2016-09-24 shop, Big Box Co, 300
  2016-09-24 shop => food, Big Box Co, 200
}

With category re-classification you can have better insight into your purchases of big box store items.

Using Tags to Track Expenses

Tags are labels that you can attach to transactions in order to keep track of home improvement projects, or real estate investments. Tags are similar to categories, but a transaction may have multiple tags when appropriate.

Other uses include:

  • Track deductible business expenses.
  • Track specific vaction related costs.
  • Track civic club income and expenses.

This is an example demonstrating the use of tags.

Declare Tag <Yosemite> - the Yosemite vacation
Declare Tag <Remodel> - the Kitchen remodel project
Declare Tag <home business> - business account at Bank of Northeast

Account my credit card
{ 0 => 250.17
  07/02/16 shop <Remodel> Lumber Unlimited, 90.50
  07/06/16 food, Quikmart, 19.67
  07/12/16 dining <Yosemite> Country Diner, 20.0
  07/12/16 vacation <Yosemite> Mountain Lodge, 120
}

# Every transaction in this account is automatically tagged with home business.
Account Bank of Northeast <home business>
{ 3000 => 3400
  07/10/16 income, John Smith, (check 101), 400.00
}

Cash flow report for tagged transactions is situated at the bottom of the Cash Flow report.

Reclassify Spending Items with Tags

Tags may be applied to a reclassified transaction, either targeting the original category or the reclassified category.

This example showed a case where a bank is normally tasked with home business, but a part of one purchase is an exceptional vacational purchase.

Account Bank of Northeast <home business>
{ 3400 => 3100
  08/10/16 shop, Office Supply R US, 400
  08/10/16 shop <home business> => vacation <Yosemite> Office Supply R US (luggage) 100
}

The result is that three hundred dollars of shopping expense are tagged with "home business", while one hundred dollars of luggage purchase are tagged with the Yosemite trip.

Credit Card Pending Charges

When a merchant reports a credit card charge, the transactions stays as a pending charge for a few days. During this time the charge amount may change, reflecting a difference of the authorization request versus the final charge amount.

You can decide to record down these pending charges ahead of time, but be aware that the final charge amount may be different.

# Statement ends around the 28th
Loan credit card
{
# pending
  06/14/16 vacation, Island Excursion (cruise tickets) 1500
}
{ 870.51 => 36.50
  06/07/16 PayFrom my bank 870.51
  06/04/16 shop, Justica (children cloth) 36.50
}
# ^^ credit card ^^

An alternative approach is to exclude the pending charges, and only record the posted charges. This is suitable for the situation when the amount of pending charges is low.

Recording of In-Flight Checks

The treatment for checks that you wrote that are still in-flight and not redeemed can be tricky. There are a few potential options:

  1. Record them down in Cash Flow on the day a check is written
  2. Write down the transaction in Cash Flow as a comment entry by adding a pound sign at the beginning of a line.
  3. Use a photo-copy backed check, and record down only redeemed check entries in Cash Flow.

Suppose you picked option 1, let us see how the data file would look like:

Account our bank
{ 3500.0 => 4500-304.16
  2016-03-04 PayTo Visa (in-flight check #109) 304.16
  2016-03-01 income, Newco, 1000
}

The beginning balance balance was $3500. Since there was a salary deposit the bank's web site would indicate an ending balance of $4500. Because you have a check that is still in-flight, then the projected ending balance is adjusted downward by $304.16. This process can be repeated by each in-flight check.

Tracking of Invest Income

It is possible to track income and capital gains distributions from funds if you direct such payments to a money market fund.

Account my money market fund
{ 3000 => 5099.50
  01/31/16 dividend, my money market fund, 2.10
  01/30/16 dividend, my income fund, 97.40
  01/11/16 BuyFrom my income fund, 2000
  01/11/16 BuyFrom => LongGains, my income fund, 114.78
}

Any funds with a varying net asset value may be represented within the data file. However, the cash flow application is not responsible for keeping track of their current balances.

Account my stock fund
{
  12/30/16 dividend, my stock fund, 101.40
  12/30/16 ShortGains, my stock fund, 23.59
}

Recognition of Retirement Income

Often retirees would fund their retirement spending with a combination of mutual fund sales and pensions. Pension payments can be classified as regular income. For mutual fund sales, the basis portion may be recognized as retirement income by doing a category reclassification. This is needed because normally transfer payments are not shown in a typical cash flow report. However, re-classify a transfer payment into an income category would make it visible in the report once again.

Account my money market fund
{ 3000 => 5099.50
  01/31/16 dividend, my money market fund, 2.10
  01/30/16 dividend, my income fund, 97.40
  01/11/16 BuyFrom my income fund, 2000
  01/11/16 BuyFrom => LongGains, my income fund, 114.78
  01/11/16 BuyFrom => BasisIncome, my income fund, 2000-114.78
}

Mortgage Payments

Fixed term mortgage payments follow an amortization schedule. The payment amount is fixed each month, while the interest payments fall gradually with each payment. You can look up the payment stubs or loan statements for the interest payment of each period.

Account our bank
{
  03/02/16 PayTo my mortgage 1186.19
}

# sample $150000 loan, 5% interest, 12 payments per year, 15 year payment schedule
Loan my mortgage
{ 150000 =>
  03/06/16 PayFrom our bank 1186.19
  03/06/16 fee (interest) 625
}

If you do not wish to keep track of the loan account within Cash Flow, then that is possible as well. In this case you would simply reclassify part of the mortgage transaction as bank fees.

Account our bank
{
  03/02/16 housing, First Mortgage (mortgage) 1186.19
  03/02/16 housing => fee, First Mortgage (mortgage interest) 625
}

Year Beginning Operations

Typically you want your data file to contain one year worth of transactions. Each year in January you will start with a brand new data file. It is important to get a January First balance figure for each of your accounts. Otherwise you may have to copy a small amount of transactions from previous December to get all of your account primed with a beginning balance.

Do one backup prior to your year beginning operation. If by accident the prior year data file is damaged by editing mistake then you can still recover the data. Do another backup after the conclusion of the year beginning operation. That is to record the clean data state for the new financial year.

Year End Cash Consolidation

This is the instruction for year-end cash consolidation. I assume that you are already using the 'atm' category, and a cash transaction account to keep track of your cash spending. In Project Cash Flow, cash is typically considered a generic expense type, as cash eventually gets spend as expenses.

Since this is the year end, we do want to consolidate this cash account with regard to untracked spending, and final cash level for year end.

Count the cash in your family's possession, and note the difference between actual cash level versus the program calculated total yearly 'atm' category. There can be situations where cash was used, but not tracked, or you received extra cash somewhere else that was un-recorded.

Enter your intended adjustment transactions to bring the yearly atm category to exact agreement with your current cash level.

Account Cash Transactions
{ 0 => 0
  2016-12-31 atm => food, me (year end adjustment) 200.0
  2016-12-31 atm => shop, me (year end adjustment) 123.45
  ...
}

In this example you had $323.45 of unreported cash expenset, so these entries would be the best guess to where the money went (maybe a combination of food and cash shopping expenses).

The next step is to record your cash on hand at the end of this year.

Account Cash Transaction
{ 0 => 600
  2016-12-31 atm, me (year end cash on hand) -600
  2016-12-31 atm => food, me (year end adjustment) 200.0
  2016-12-31 atm => shop, me (year end adjustment) 123.45
  ...
}

To start off your 2017 cash transaction account, you would record an year start transaction to note the amount of cash available for spending.

Account Cash Transactions
{ 600.00 => 0
  2017-01-01 atm, me (year start), 600
}

That would ensure the cash level is spot-on at the start of next year.

Tips and Tricks

  • Search for the Word "Account" or "Loan" in the text editor to look through each one quickly.

  • Add a comment of "# ^^ account name ^^" at the end of each account allows you to see where the account ends without needing to scroll up.

  • Save cash transaction receipts, so that you can reclassify cash spending into the correct categories.

  • Remember to include the beginning balance and the ending balance for any statement block having a completed month. This allows a check for any missing transactions by comparing the computed ending balance versus the stated ending balance.

  • The comment line associated a financial account is displayed in the account summary view. You can put a scheduled payment day for a credit card in the comment line to remind you of future payments.

  • Always run Cash Flow after every edit of your data file. Make sure there are no verification errors being displayed in the cash flow view.

  • The amount field in each of the financial transaction must be without any space characters. An amount of "20 + 20" is considered twenty dollars, because of the extra space characters. "20+20" is the correct way to write it.

  • Record the full details for each charitable donation, to make it easy at tax time to claim the deductions.

  • You can write down a comment in the data file as a reminder for any upcoming large bills.

  • Individual transactions may be printed out in the text editor.

OpenOffice Calc Importation and Printing

Each time the Cash Flow application is run, a CSV file is generated along side with the graphical report. The best way to print out the graphical report is to import the CSV file to Excel or OpenOffice Calc.

OpenOffice Calc has an import wizard when a CSV file is opened. The import character set is "Unicode (UTF-8)". The separator character is a comma. The option "quoted field as text" should be unchecked, while the option "detect special numbers" should be checked. Click on "OK" to complete the importation.

For a nicer print-out, change the first column's cell formatting to left justification, and other columns' cell formatting to right justification. Click on a column label would select the whole column; shift-click can select multiple columns at a time. Then you can do a right click to pop up the context menu. Select "Format Cells..." to change horizontal alignment from "Default" to the desired justification style.

Select "File -> Page Preview" to view the proposed print-out. Click on "Format Page" to change the printed page orientation to landscape, since the cash flow report has many columns. Adjust the magnification factor to limit print-out to two pages. Now you can select "File -> Print..." menu choice to bring up the print dialog box. Visit the "Properties..." page to make sure the printer device is also set to landscape mode, and enable color or double-sided as needed. Click on "Print" to complete the print-out.

Excel Importation and Printing

Excel's text importation wizard is hidden under the "Data" tab. First, create a new blank worksheet in Excel. Click on "Data -> From Text", then select the CSV file. The file origin option should be set to "65001 : Unicode (UTF-8)". The delimiter option should be set to comma. Click on "Finish" to complete the importation.

For a nicer print-out, change the first column's cell formatting to left justification, and other columns' cell formatting to right justification. Click on a column label would select the whole column; shift-click can select multiple columns at a time. Then you can do a right click to pop up the context menu. Select "Format Cells..." to change horizontal alignment from "General" to the desired justification style.

Select "File -> Print" to reach Excel's print dialog. The nicest looking print format is the landscape orientation, with custom scaling to result in a print-out of two pages wide by one page tall. Click on "Printer Properties" to verify that the printer properties have the same landscape orientation. Click on the "Print" button to complete the print-out.

Periodic Back-up of Your Data

Even though your financial data are stored in text files there is still a need to keep frequent back-ups of these files. Text editor mishaps can still occur. Keeping a good set of backups will minimize the chance of data loss.

International Language Support

The content of Cash Flow data file may contain UTF-8 encoded international texts. The labels for each month of the year are displayed according to the local locale.

Error messages for the Cash Flow application are currently limited to English text.

License

The Cash Flow application is released with the
Apache 2.0 license.

Acknowledgements

A number of Cash Flow application use-cases were inspired after listening to Dave Ramsey's CDs on personal finance.


Related

Wiki: Home

MongoDB Logo MongoDB