GnuCash-based personal finance

    Good afternoon, Habra user! About a month and a half ago, maybe more, I somehow mentioned in the comments that I keep a home accounting of finances based on GnuCash. Over the next week I received several personal messages asking me to describe the process of this action. I must 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 familiarize yourself with them before reading the article. www.ashep.org/tag/gnucash
    • Personal finance in many respects copies the accounting of finances of “services”, therefore this article will be useful to novice entrepreneurs. Maintaining personal finances will help you learn how to read financial statements correctly, and where plugs often distort it.
    • Personal finance is a monitor of your activity, no more and no less, it is not a panacea for all diseases. This is a fairly painstaking, tedious and ongoing process. You cannot keep track of finances in fits and starts. Introduce the trash and analyze the trash in the future!


    So let's start the installation. The first thing I want to pay attention to is that you need to install it 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, the less problems you will have in the future when migrating to more modern systems.

    Install the program:
    sudo apt-get install gnucash libdbd-mysql mysql-server
    


    Add the 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 expenses and income. Remove all articles that the program will offer. And highlight 3 main groups in income and expenses.
    1. Operational articles are articles that describe daily
    activities. Payment of utilities, purchase of gasoline, apartment rental.

    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 relate to investment activities. You have invested in an apartment, but monthly payments will already be related to operating activities. A contribution to a bank is an investment activity.

    3. Financial items are interest from a 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 a posting. Assets include cash, bank accounts, electronic money.

    That's all, the template has been created and accounting has started.
    image
    image

    Problems



    1. When you are a commercial organization, the bank keeps its records of your expenses and income, so you have the opportunity to check. In the case of personal finances, you are your own sovereign. About two years ago, the idea occurred to me how to fix small expenses. I just started taking pictures of them, and the file name turned into a price. So double accounting was created for verification.

    Attention, if your organization began to double-check, this is a hell of a catastrophe.

    2. How to deal with projects. So you freelancer or developer created your own project, how to take into account these costs? Very simply, they all relate to investment activities. Yes Yes. Everything is simple.

    3. I have electronic currency accounts ฿ how to be?
    Recently, everyone has a popular bitcoin on their lips, but there is no such currency in GnuCash. To do this, you have to go into the sources and fix the 2 files iso-4217-currencies.scm and iso-4217-currencies.c which 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 fix the /usr/share/xml/iso-codes/iso_4217.xml file on the system



    We collect 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.

    Links:
    www.gnucash.org
    wiki.gnucash.org/wiki/GnuCash
    www.ashep.org/tag/gnucash
    wiki.gnucash.org/wiki/SQL

    Also popular now: