Introduction
Utility to keep track of money, expenses, investment, etc.
Background
Accounts
Money goes from one account to other account. There are 3 types
of accounts:
- Neutral: This type of account is in your system, you own this
accounts.
Samples: Cash, Bank Accounts, Cash in other currency.
- R+: This type of account puts money into your system. They put
the money into neutral accounts.
Samples: Salary, Interests, Income.
- R-: This type of account takes money out of your system (and you
never see it again).
Samples: Supermarket, bills, grocery, electronics, gas,
bus, furniture...everything you buy.
Transactions
- R+ to Neutral (you earn money)
- Neutral to Neutral (you move money)
- Neutral to R- (you loose money)Transaction Samples
From: Sallary To: Bank A Account Amount: 3000 | Here you earn money, money goes from R+ to Neutral. |
From: Bank A Account To: Cash Amount: 3000 | Here you move money. You don't loose and you don't earn. This is an ATM
extraction. Neutral to Neutral. |
From: Cash To: Electronics (New TV)Amount: 100 | Here you loose money. Money goes from Neutral to
R-. |
Currency Exchange Buy
From: Cash To: Buy foreign currency Amount: 1250 | Your dollars dissapear. You loose them. |
From: Euro Buy To: Euro Cash Amount: 1000 | Euros appear to your Euros Cash. You "earn"
them |
Currency Exchange Sell
From: Euro Cash To: Euro Sell Amount: 1000 | Your euros dissapear. You loose them. |
From: Sell foreign currency To: Cash Amount: 1250 | dollars appear to your Cash. You "earn"
them |
Both operations are done in two steps,
because both accounts of transactions should have the same currency. If not,
there could be a lot of problems.
Using the utility
The utility comes with a sample database of accounts.
Just check if they fit with your needs. Then enter than transactions. The first
ones should be from "A - initial" to "A".
In Statistics, if you don't enter the account name, you get the sum of earnings and loss.
Hints
Points of Interest
I used in it A LOT of components from codeproject. Thanks a lot to all the
people who wrote them, I wouldn't be able to build this thing without them. I first built a .NET app to keep track of money, but .NET was slow back then (2001) and graphics weren't good. Then I used an SQL Sever database and finally, an excel worksheet. This is an improvement on all of them. I found similar apps like Monex and other but....they don't fit my needs and they get complicated in some operations. I intend to improve this thing, mainly because I use it.
The code got a little "wired" while building the app, in case you decide to change it. I'll probably improve it in the next version. This utility compiles with VC++ 2005 with warnings.
English is not my first language, so please excuse any errors there. This is my first CodeProject
article.
ToDo List
- Printing
- Code improving
- Graphics improving
- Virtual accounts
- Import-Export
- Unicode
- Help