До старта конференции

Идеальная архитектура домашней бухгалтерии

Управление - Практика учета

Статья в которой я описываю свой взгляд на максимально простую и удобную архитектуру построения программы домашней бухгалтерии - как должны выглядеть кошельки, валюты, операции, отчеты.

Идеальная архитектура домашней бухгалтерии

Начиная, наверное, с 2004 года, я непрерывно веду домашнюю бухгалтерию. Важную роль в этом деле сыграло знакомство с программой SPB Pocket Finance для наладонных компьютеров. Раньше я думал, что причина того, что мне легко вести учет в том, что я веду его на КПК, но потом понял, что важнее принципы архитектуры, положенные в основу этой программы.

Поэтому я немного обобщу эти принципы, покажу основные ошибки, которые делают авторы программ для домашней бухгалтерии и попытаюсь обрисовать контуры идеальной архитектуры для подобных программ.

Программа домашней бухгалтерии кажется настолько простой, что многие начинают ее писать с нуля. Я сам пробовал вести учет в Excel, в Access, в 1с7, но только в SPB Pocket Finance смог вести учет. На рынке очень много программ для домашней бухгалтерии, но многие из них допускают архитектурные ошибки, которые лишают их популярности и удобства.

Основные принципы домашней бухгалтерии

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

Важная особенность учета в том, что пользователи обычно укрупняют статьи затрат, т.к. им лень записывать, сколько конкретных продуктов они купили, им проще относить все на статью продукты.

Идеальная архитектура

Далее будет рассмотрена идеальная архитектура, с комментариями, чем она лучше других архитектур.

Кошельки

Основной объект учета – кошелек. Это некий счет, который хранит сумму денег в одной валюте. В некоторых программах допускается учет в нескольких валютах по одному кошельку, но это только усложняет учет. Обычно, зная сумму остатка в кошельке, и валюту кошелька мы совершенно точно понимаем, сколько денег в валюте кошелька у нас осталось. При операциях по кошельку не нужно указывать валюту, т.к. она соответствует валюте кошелька.

Кошелек – это и обычный кошелек, где хранятся наличные, и счет в банке, и пластиковая карта.

Перемещение денег

Деньги можно перекладывать из кошелька в кошелек. Если кошельки в разных валютах, то сумма прихода может быть не равна сумме расхода – происходит конвертация по некоторому курсу.

Долги

Долги можно рассматривать как кошельки. При перемещении денег в кошелек долга мы даем в долг, при получении денег из кошелька мы берем в долг (или забираем долг обратно).

Для аналитического учета необходимо хранить остатки в таких кошельках в разрезе контрагентов и при операциях перемещения указывать контрагентов.

Инвентаризация

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

Если были изменения задним числом, то сумма корректировки изменится. При открытии документа пользователь может увидеть, совпадает ли введенная сумма корректировки с рассчитанной. Таким образом, можно отслеживать, когда изменились данные задним числом.

Учитываемые значения

Для учета оборотов важно знать не только сумму, но еще и количество. Иногда важно точно знать, сколько штук продуктов покупается, сколько поездок делается и т.п.

Аналитика

Для каждого движения можно уточнить:

  1. 1.       В рамках какого проекта осуществляется движение
  2. 2.       Какой контакт участвует в движении
  3. 3.       Статья доходов/расходов – по какой статье осуществляется приход или расход денег.

Другая аналитика обычно не используется в домашней бухгалтерии.

В качестве проектов можно использовать например:

  • ·          «Работа» - расходы, связанные с работой
  • ·         «Командировка в Минск» - расходы, связанные с командировкой в Минск
  • ·         «Аутсорсинг» - доходы, связанные с аутсорсингом

Пересчет валют для отчетов

Валютный учет в домашней бухгалтерии должен быть максимально упрощен. Никаких пересчетов курсов в момент операции.

Учет по каждому кошельку ведется в валюте кошелька.

Если нужно отчет привести к единой валюте, то каждое движение пересчитывается по курсу валюты кошелька к валюте отчета на дату операции.

Набор документов

Такой простой набор объектов учета позволяет реализовать основные операции небольшим набором документов:

  1. 1.       Поступление денег в кошелек
  2. 2.       Расход денег из кошелька
  3. 3.       Перемещение денег между кошельками

См. также

Комментарии
1. Сергей Жемойтель (djam_arttek) 6 06.12.11 16:26 Сейчас в теме
Использую Skrooge и насколько понял эта программа близка к идеалу :)
2. Осипов Сергей (fixin) 3587 06.12.11 16:40 Сейчас в теме
(1) бог в помощь. Я использую самописную на 1с, реализованную по моим же принципам.
3. Сергей Жемойтель (djam_arttek) 6 07.12.11 02:17 Сейчас в теме
Я так отказался от мысли использования 1С в качестве базы для домашней бухгалтерии. Попробовал несколько программ. И остановился на skrooge как наиболее интересной.
4. Иван Петроченко (ipetrochenko) 07.12.11 02:55 Сейчас в теме
Еще неплоха идея тегов как это реализовано в сервисе drebedengi.ru.
5. Лариса Девятова (Lara9owa) 07.12.11 05:11 Сейчас в теме
Использую 1С:Деньги, полностью соответствует этим принципам + можно еще планировать бюджет на месяц.
XoloD; Thror; +2 Ответить
6. Юлия Малышева (unis) 07.12.11 08:08 Сейчас в теме
7. Игорь Братунец (brigi) 07.12.11 12:52 Сейчас в теме
Самопальную бухию на основе 1С 7.7, веду уже с 2000 года.
Конечно архитектура отличается от изложенной в теме,
но как грится на вкус и на цвет, фламастеры разные.
Но не давно всетаки ввел понятие кошелька и занялся перепиской её на 8.2,
с переносом данных из 7ки.
По поводу валют, все таки хорошо знать текущую сумму общей налички в национальной валюте, без дополнительных отчетов, пересчет суммы во время операции, особой нагрузки на ИБ не представляет.
8. Петр Дорошкевич (alfanika) 312 07.12.11 15:06 Сейчас в теме
Все это есть в 1С:Деньги 8, и даже больше!!!
9. Александр Рытов (Арчибальд) 2660 07.12.11 15:11 Сейчас в теме
От того, что истина банальна, она не перестает быть истиной.
10. Сергей Жемойтель (djam_arttek) 6 07.12.11 18:53 Сейчас в теме
Прошу прощения. Вопрос выбора упирался в несколько требований к софту.
1. Программа должна быть легкой. И в плане использования и в плане требований к ресурсам
2. Программа не должна зависеть от какой-либо платформы. К сожалению, иметь дома 1С ради учета своих финансов посчитал нерациональным.
3. По возможности, программа должна быть межплатформенной. Увы 1С кроме как на Windows не работает. Я имею ввиду толстый клиент. На базе 8.2 Учебной версии что-то пробовал сваять. И даже сделал, так как мне это удобно. Но ограничения на учебную версию не позволяют полнофункционально использовать программу. А покупать Базовую бухгалтерию для этой цели или ПРОФ как-то глупо.

Ранее использовал программу "Домашние финансы"Проф версию. Всем бы она была бы хороша да только не работает в моем любимом линуксе... А под wine запускать не хотелось. В линуксах просмотрел несколько программ. Все они по своему хороши. Но остановился на Skrooge как наиболее оптимальной софтине...
11. Осипов Сергей (fixin) 3587 07.12.11 22:43 Сейчас в теме
(10) Конечно, все мы хотели бы перестать жрать 1С, но что поделать. Если хочется возможности заточить под себя, лучше 1с ничего не придумано. Так что Линукс, Линуксом, а покамись, пока не видно "убийцы 1С", она - лучшая для любых баз данных.
(8) Я смотрел 1с:Деньги 7.7, тогда еще восьмерки не было. Даже вел там расходы месяца, но не сложилось. Такая программа, которую часто юзаешь под себя, должна быть идеально под тебя заточена.
12. Anatolii Karasev (KapasMordorov) 408 07.12.11 22:57 Сейчас в теме
Вел учет когда надо было в Inesoft Cash Organizer. Удобно было.
Сейчас бы смотрел в сторону Sanuel Family, у которой есть мобильная и ПК-шная части.
13. Алексей Фурманов (Aleksey-29) 08.12.11 10:31 Сейчас в теме
Еще нужен быстрый запуск (т.е. кликнул по ярлыку, сразу открылось) и заставить вводить свои расходы других членов семьи (в этом тоже есть сложность). А то получается я свои ввожу, а остальные не вводят.
14. Алексей Фурманов (Aleksey-29) 08.12.11 10:35 Сейчас в теме
И интересно было бы автоматом как-то их в базе фиксировать. Н-р, как по пластиковой карте. На сервере лежит база, у меня есть ID и карта. Я делаю покупку в магазине и предъявляю эту карту, продавец по терминалу связывается с сервером и фиксирует мои расходы. А уж доходы я сам введу он-лайн.
15. Жека Moscow (SpartakM) 34 08.12.11 11:30 Сейчас в теме
(2) а выложить здесь эту конфу не желаете?
16. Осипов Сергей (fixin) 3587 08.12.11 11:44 Сейчас в теме
(15) желаю. Это конфа PIM, скоро выложу, я только приехал на инфостарт, ждите.
17. Осипов Сергей (fixin) 3587 08.12.11 11:45 Сейчас в теме
(14) практика показывает, что по налу достаточно 5 минут в день для вбивания расходов, по безналу - 30-60 минут в месяц. Главное регулярность.
18. Сергей Жемойтель (djam_arttek) 6 08.12.11 12:14 Сейчас в теме
(14) По данной схеме необходимо что бы магазины поддерживали подобную технологию. Думаю это на уровне фантастики. Единственное что могло бы как-то автоматизировать учет это взаимосвязь бух.программы с он-лайн банкингом где отображаются движения по карте.
19. Алексей Фурманов (Aleksey-29) 08.12.11 12:22 Сейчас в теме
(18) djam_arttek, сейчас же магазины пласт. карты поддерживают - и это не фантастика (хотя давным-давно...). Думаю скоро и это будет реализовано, а предпосылки уже есть - решения на базе SaaS.
А вот банки не дадут свои данные таким способом.
PS: а в каком он-лайн банке есть движения приход-расход, которые можно выгрузить?
20. Сергей Жемойтель (djam_arttek) 6 08.12.11 12:23 Сейчас в теме
(13) вот skrooge как раз достаточно быстрый или "Домашние финансы".
для отдельных пользователей можно вбить как отдельные статьи расходов. Принуждать наверное к забивки не стоит, а вот самостоятельно учитывать расходы членов семьи вполне под силу.
21. Сергей Жемойтель (djam_arttek) 6 08.12.11 12:27 Сейчас в теме
(19) Магазины не пластиковые карточки поддерживают, а возможность производить оплату по безналу списывая средства со счета пластиковой карты. Любая операция проводится через банк-оператор такой услуги.
Я не готов утверждать, но в случае присутствия в он-лайн банкинге возможности формирования выписки (Банк Открытие), то это и есть вариант получения движений по счету.
22. Александр Топольский (AlexanderKai) 12.02.12 20:14 Сейчас в теме
В таких разработках, по моему мнению должен быть анализ расходов и доходов с предложением программы вариантов как это все дело оптимизировать.
23. Осипов Сергей (fixin) 3587 12.02.12 22:13 Сейчас в теме
(22) видимо, да.
я из практики понял что нужно:
1. Делить расходы на регулярные и по отедльным проектам.
2. Относить расходы к определенному периоду, например если квартплата за январь платится в феврале, то это период январь.
24. Лаура Лаура (Лаура) 13.02.12 12:41 Сейчас в теме
А можно поинтересоваться на такой счет? А оправданны ли ваши затраты времени на обработку-ввод данных в программу. Опишите пожалуйста все плюсы и "изюм" от использования учета домашних финансов. На мой взгляд кроме затрат времени я ничего не поимею: примерный объем средств на оплату расходов на питание, коммуналку я и так могу прикинуть за месяц, заработок мой от использования программы напрямую больше не станет, дети меньше ботинок рвать не станут...
25. Сергей Жемойтель (djam_arttek) 6 13.02.12 14:22 Сейчас в теме
(24) Лаура, учет домашних финансов не стоит сравнивать с тем меньше или больше будут дети рвать ботинки. Программа позволяет упорядочить расходы. Если у вас есть кредиты, или накопления, акции и т.п. то программное обеспечение упростит вам отслеживание движений. Более того если вы планируете крупную покупку а денег сейчас нет, то программа сможет подсказать по каким статьям можно сэкономить...
К примеру, можно понаблюдать за тем как расходуются "карманные" и от чего вдруг у ребенка повысились запросы... Можно оценить какие статьи расходов в жизни не столь важны но отнимают массу средств... Также можно распланировать бюджет на ближайшую перспективу, попробовать спрогнозировать бюджет на будущее... А сэкономленные на этом средства пустить в более нужное русло :)
26. qweasd qweasdzc (serega3333) 13.02.12 14:36 Сейчас в теме
интерфейс домашней бухгалтерии намного сложней сделать, чем архитектуру
27. Сергей Жемойтель (djam_arttek) 6 13.02.12 15:23 Сейчас в теме
28. Осипов Сергей (fixin) 3587 13.02.12 15:31 Сейчас в теме
(24) для меня важно еще знать, что деньги я не потратил в никуда, т.е. не потерял.
Хотя оптимизации не получается. больше всего денег я трачу на жилье и жрачку. и тут никуда не денешься.
Расходы по вводу данных в систему минимальны. Ввожу по чекам из кошелька, на что нет чека - записываю как заметки в КП. Использую крупные статьи, например, Продукты, чтобы не мелочиться.
Опять же, можно цены посмотреть и когда что покупал, например ту же стиралку... ;-)

Интерфейс у меня идеален - типа Excel таблицы. ткнул в нужный день и вводи расходы, не парясь с документами, как это делают остальные.

(26)(27) да, интерфейс сложно сделать удобный. Для меня удобный вот такой:
29. Сергей Жемойтель (djam_arttek) 6 13.02.12 15:51 Сейчас в теме
Немного об интерфейсах

Skrooge
Windows/Linux;
бесплатно, открытые исходные коды;


kMyMoney
Linux/Windows;
бесплатно, открытые исходные коды;


Домашние финансы
Только Windows;
Free - бесплатно, урезан функционал;
Другие варианты - платно от 400 р.;
код недоступен;


Домашняя бухгалтерия от keepsoft
Только Windows, есть версия для КПК;
Lite - бесплатная;
Различные лицензии, платно, от 500 р.;
Код закрыт;


1С: Деньги 8
Только Windows;
Только платная 600 р;
Код закрыт;
30. qweasd qweasdzc (serega3333) 13.02.12 16:30 Сейчас в теме
1c деньги на мой взгляд самые приятные глазу
31. Осипов Сергей (fixin) 3587 13.02.12 18:26 Сейчас в теме
(29) все они академичны, эти интерфейсы. Если задаться целью минимизации времени ввода транзакций, придешь к моему интерфейсу или подобному + использование шаблонов повторяющихся операций в полклика мышью. ;-)

(30) в семере я с них соскочил, т.к. нельзя было менять дату операции без распроведения... Не знаю, ничего особо удобного там не встречал.
32. Сергей Жемойтель (djam_arttek) 6 14.02.12 01:07 Сейчас в теме
(31) Экселевский вариант интерфейса тоже как-то не слишком подходящий для простых пользователей. Более того, теряется смысл использования какого-то софта... Т.е. получается возврат к экселю через 1с...
33. Осипов Сергей (fixin) 3587 14.02.12 07:26 Сейчас в теме
(32) ну там в Excel-подобной таблице все же документы расположены, но подробно расписаны...
34. Александр Доровских (Requiem) 30 14.02.12 07:44 Сейчас в теме
Лучше вести не бухгалтерию, а бюджет. Остаток на счетах вы и так знаете например, зачем он вам.
35. Осипов Сергей (fixin) 3587 14.02.12 08:00 Сейчас в теме
(34) с чего вы взяли, что знаю? благодаря учету порой находил косяки. например, отложил деньги и забыл про них и т.п. для меня знание остатков по программе - важнейшая часть учета.
36. qweasd qweasdzc (serega3333) 14.02.12 10:27 Сейчас в теме
(30) fixin, на 8.1 хороший интерфейс без косяков
37. Сергей Жемойтель (djam_arttek) 6 14.02.12 10:40 Сейчас в теме
(36) serega3333, ну на 8.2 с управляемыми формами был бы еще лучше :)
38. Осипов Сергей (fixin) 3587 14.02.12 10:57 Сейчас в теме
(36)(37) я не про косяки веду речь, а про удобство. Как забивается операция?
Создаешь новый документ и вколачиваешь строки? это прошлый век. Я через это прошел и ушел к эксель-подобному интерфейсу в PIM.
40. Сергей Жемойтель (djam_arttek) 6 14.02.12 12:48 Сейчас в теме
если заинтересует хотя бы кого-нибудь, то распишу более подробно работу и вкусности каждой программы в отдельности :)
41. Осипов Сергей (fixin) 3587 14.02.12 13:10 Сейчас в теме
(40) да, расписывай. надо знать конкурентов.
42. zavsom1 zavsomovich (zavsom) 47 25.10.12 17:55 Сейчас в теме
Абсолютно все верно - только я свою прогу писал на учебной конфе по платформе 8-0 в 2006 году и уже в 2010 я купил с ее помощью квартиру - у меня кошельки это счета бух учета - статьи затрат такие: еда, бытовые нужды, телефон, лекарства, развлечения, квартплата и т.п, статьи поступления такие поступления зп и на телефон (так как мне клиенты кидают на телефон , а потом я их вывожу на карту) перемещение между счетами и документ-инвентаризация - называется пересчет валютных средств - так как когда копил то хранил деньги в разных валютах, в золоте и серебре и на металлических счетах, в МММ и акциях. Документ пересчет валютных средств был еще и калькулятором, приводящим все к одной валюте, по текущему на данный момент курсу.
Оставьте свое сообщение