I know there are many off-shelf stuff, like MS Money, that can help you organize your personal financial things, but I still prefer to do these by myself, so here is how I do:
Always download my credit card transactions / bank statement to an Excel sheet, and then use DTS to load these information into my own database, and then I can do whatever I need to do, such as see how much I have spent in a grocery this week, what is the total spending on my entertainment last month etc. Of course, one thing I have to do is to create a bunch of reference tables to help me to do the join search. These tables include Category table, which is to categorize my transaction places into different category, for example, Safeway is under grocery category, while BestBuy is Electronics etc.
Just imagine, 10 years later, if you want to compare your grocery spending with that 10 years ago, you can open your computer and immediately know the result, isn't that fun?