...

суббота, 21 декабря 2013 г.

Личные финансы на основе GnuCash

Добрый день хабра-юзер! Месяца полтора назад, может более, я как-то в комментариях упомянул, что веду домашний учет финансов на основе GnuCash. В течении следующей недели мне пришло несколько личных сообщений с просьбой описать процесс сего действия. Скажу сразу, при написании статьи поймал себя на мысли, что легче написать книгу, чем статью по личным финансам. После месяца обдумывания решил выделить 3 основных момента.


  • В статье не будет описания алгоритма работы с программой, но далее, я дам ссылки на достаточно подробные статьи. Если вы никогда не работали с этой программой советую до прочтения статьи ознакомиться с ними.

  • Личные финансы во многом копируют учет финансов «услуг», поэтому эта статья будет полезна и начинающим предпринимателям. Ведение личных финансов, поможет узнать как правильно читать финансовую отчетность, и где часто происходят затыки искажающие её.

  • Личные финансы это монитор вашей деятельности, не более и не менее, это не панацея от всех болезней. Это достаточно кропотливый, нудный и постоянный процесс. Нельзя вести учет финансов урывками. Введёте мусор и в будущем будете анализировать мусор!






Итак начнем установку. Первое, на что хочу обратить внимание, что устанавливать нужно с базой данных MySQL. Это очень важный момент. GnuCash это всего лишь оболочка, все ваши данные хранятся в базе данных, и чем эластичнее и функциональнее инструмент хранения, тем меньше у вас будет проблем в будущем при мигрировании на более современные системы.

Установим программу:



sudo apt-get install gnucash libdbd-mysql mysql-server


Добавим базу данных:



mysql> create database gnucash;
mysql> grant all on gnucash.* to gnucash@localhost identified by 'PASSWORD' with grant option;
mysql> flush privileges;
mysql> exit


После установки нужно создать статьи расходов и доходов. Удалите все статьи которые предложит программа. И выделите 3 основные группы в доходах и расходах.

1. Операционные статьи — это статьи которые описывают повседневную

деятельность. Оплата коммунальных услуг, покупка бензина, аренда квартиры.


2. Инвестиционные статьи — это статьи разовых платежей. Например, вы купили квартиру в кредит и выплатили банку сразу 20% стоимости. Этот платеж будет относиться к инвестиционной деятельности. Вы инвестировали в квартиру, а вот ежемесячные выплаты будут относиться уже к операционной деятельности. Вклад в банк является инвестиционной деятельностью.


3. Финансовые статьи — это проценты от банка, покупка обязательств и т. д.


Далее вам нужно создать Активы. Ваши деньги не сразу попадают в нужную категорию. Они приходят на ваш счет, а только потом, вы создаете проводку. К активам относятся наличные, банковские счета, электронные деньги.


Вот собственно и всё, шаблон создан и учет начал вестись.

image

image


Проблемы


1. Когда вы коммерческая организация, банк ведет свой учет по вашим расходам и доходам, благодаря этому, у вас есть возможность проверки. В случае же личных финансов, вы сам себе государь. Где-то года два назад, мне в голову пришла мысль как фиксировать мелкие расходы. Я их начал просто фотографировать, а имя файла превращалось в стоимость. Так был создан двойной учет для проверки.


Внимание, если у вас в организации начали вести двойной учет, эта адская катастрофа.


2. Как быть с проектами. Вот вы фрилансер или разработчик создали свой проект, как учитывать эти расходы? Очень просто они все относятся к инвестиционной деятельности. Да, да. Всё просто.


3. У меня есть счета в электронной валюте ฿ как быть?

В последнее время у всех на устах популярный биткоин, но такой валюты в GnuCash нет. Для этого придется залезть в исходники и поправить 2 файла iso-4217-currencies.scm и iso-4217-currencies.c которые находятся в '/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);
}
}
}


и нужно будет подправить файл /usr/share/xml/iso-codes/iso_4217.xml в системе



<iso_4217_entry letter_code="BTC" numeric_code="nil" currency_name="Bitcoin"/>


Собираем исходники



sudo apt-get build-dep gnucash
sudo sh configure --prefix=/opt/gnucash
sudo make
sudo make install


Буду рад ответить на ваши вопросы.


Ссылки:

www.gnucash.org/

wiki.gnucash.org/wiki/GnuCash

www.ashep.org/tag/gnucash/

wiki.gnucash.org/wiki/SQL


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.


Комментариев нет:

Отправить комментарий