Добрый день хабра-юзер! Месяца полтора назад, может более, я как-то в комментариях упомянул, что веду домашний учет финансов на основе 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. Финансовые статьи — это проценты от банка, покупка обязательств и т. д.
Далее вам нужно создать Активы. Ваши деньги не сразу попадают в нужную категорию. Они приходят на ваш счет, а только потом, вы создаете проводку. К активам относятся наличные, банковские счета, электронные деньги.
Вот собственно и всё, шаблон создан и учет начал вестись.
Проблемы
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
Автор: Torna