Good afternoon, habra-user! A month and a half ago, maybe more, I somehow mentioned in the comments that I am keeping a home accounting of finances based on GnuCash. During the next week I received a few personal messages asking me to describe the process of this action. I will say right away when writing an article I caught myself thinking that it is easier to write a book than an article on personal finance. After a month of deliberation, I decided to highlight 3 main points.
- The article will not describe the algorithm for working with the program, but further, I will give links to fairly detailed articles. If you have never worked with this program, I advise you to read them before reading the article. www.ashep.org/tag/gnucash
- Personal finances in many ways copy the accounting of finances of “services”, therefore this article will also be useful for beginning entrepreneurs. Maintaining personal finances will help you learn how to read the financial statements correctly, and where gaps that distort it often occur.
- Personal finance is a monitor of your activities, no more and no less, it is not a panacea for all diseases. This is a rather painstaking, tedious and ongoing process. You can not keep records of finance snatches. Introduce trash and in the future you will analyze trash!
So start the installation. The first thing I want to note is that you need to install with the MySQL database. This is a very important point. GnuCash is just a shell, all your data is stored in a database, and the more flexible and functional the storage tool is, the less you will have problems in the future when migrating to more modern systems.
Install the program:
sudo apt-get install gnucash libdbd-mysql mysql-server
Add a database:
mysql> create database gnucash; mysql> grant all on gnucash.* to gnucash@localhost identified by 'PASSWORD' with grant option; mysql> flush privileges; mysql> exit
')
After installation, you need to create items of expenditure and income. Remove all the articles that the program will offer. And select the 3 main groups in income and expenditure.
1. Operational articles are articles that describe everyday
activity. Payment of utilities, the purchase of gasoline, rental apartments.
2. Investment items are one-time payment items. For example, you bought an apartment on credit and paid the bank immediately 20% of the cost. This payment will apply to investment activities. You have invested in an apartment, but the monthly payments will relate to operating activities. Contribution to the bank is an investment activity.
3. Financial items are interest from the bank, purchase of liabilities, etc.
Next you need to create Assets. Your money does not immediately fall into the right category. They come to your account, and only then, you create the wiring. The assets include cash, bank accounts, electronic money.
That's all, the template has been created and records have started to be kept.


Problems
1. When you are a commercial organization, the bank keeps track of your expenses and income, thanks to which you have the opportunity to check. In the case of personal finance, you are your own sovereign. Somewhere about two years ago, I had an idea how to fix minor expenses. I just started taking pictures of them, and the file name turned into value. So double counting was created for verification.
Attention, if your organization started to keep double records, this hellish disaster.
2. How to deal with projects. Here you are a freelancer or a developer created your project, how to take into account these costs? Very simply, they all relate to investment activities. Yes Yes. It's simple.
3. I have accounts in e-currency ฿ how to be?
Recently, everybody has a popular bitcoin on their lips, but there is no such currency in GnuCash. To do this, you will have to go into the sources and fix the 2 iso-4217-currencies.scm and iso-4217-currencies.c files that are in '/gnucash-2.4.7.1b/src/engine/'
;; non-standard/private - Not ISO4217 ( "Bitcoin" "bitcoin" "satoshi" "ISO4217" "BTC" "nil" 100000000 100000000 "BTC" )
{ const char *fullname = "Bitcoin"; gnc_commodity *c = gnc_commodity_new(book, CUR_I18N(fullname), "ISO4217", "BTC", "nil", 100000000); if(!c) { PWARN("failed to create commodity for currency %s", fullname); } else { if(!gnc_commodity_table_insert(table, c)) { PWARN("failed to insert %s into commodity table", fullname); } } }
and you will need to tweak the file /usr/share/xml/iso-codes/iso_4217.xml in the system
<iso_4217_entry letter_code="BTC" numeric_code="nil" currency_name="Bitcoin"/>
We collected source codes
sudo apt-get build-dep gnucash sudo sh configure --prefix=/opt/gnucash sudo make sudo make install
I will be glad to answer your questions.
References:
www.gnucash.orgwiki.gnucash.org/wiki/GnuCashwww.ashep.org/tag/gnucashwiki.gnucash.org/wiki/SQL