📜 ⬆️ ⬇️

GnuCash Personal Finance

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.


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.
image
image

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.org
wiki.gnucash.org/wiki/GnuCash
www.ashep.org/tag/gnucash
wiki.gnucash.org/wiki/SQL

Source: https://habr.com/ru/post/206866/


All Articles