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

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

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

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

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

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

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

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

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

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

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

Кошельки

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

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

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

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

Долги

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

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

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

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

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

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

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

Аналитика

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

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

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

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

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

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

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

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

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

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

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

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

42 Comments

  1. djam_arttek

    Использую Skrooge и насколько понял эта программа близка к идеалу 🙂

    Reply
  2. fixin

    (1) бог в помощь. Я использую самописную на 1с, реализованную по моим же принципам.

    Reply
  3. djam_arttek

    Я так отказался от мысли использования 1С в качестве базы для домашней бухгалтерии. Попробовал несколько программ. И остановился на skrooge как наиболее интересной.

    Reply
  4. ipetrochenko

    Еще неплоха идея тегов как это реализовано в сервисе drebedengi.ru.

    Reply
  5. Lara9owa

    Использую 1С:Деньги, полностью соответствует этим принципам + можно еще планировать бюджет на месяц.

    Reply
  6. unis

    Класс!!!

    Reply
  7. brigi

    Самопальную бухию на основе 1С 7.7, веду уже с 2000 года.

    Конечно архитектура отличается от изложенной в теме,

    но как грится на вкус и на цвет, фламастеры разные.

    Но не давно всетаки ввел понятие кошелька и занялся перепиской её на 8.2,

    с переносом данных из 7ки.

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

    Reply
  8. alfanika

    Все это есть в 1С:Деньги 8, и даже больше!!!

    Reply
  9. Арчибальд

    От того, что истина банальна, она не перестает быть истиной.

    Reply
  10. djam_arttek

    Прошу прощения. Вопрос выбора упирался в несколько требований к софту.

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

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

    3. По возможности, программа должна быть межплатформенной. Увы 1С кроме как на Windows не работает. Я имею ввиду толстый клиент. На базе 8.2 Учебной версии что-то пробовал сваять. И даже сделал, так как мне это удобно. Но ограничения на учебную версию не позволяют полнофункционально использовать программу. А покупать Базовую бухгалтерию для этой цели или ПРОФ как-то глупо.

    Ранее использовал программу «Домашние финансы»Проф версию. Всем бы она была бы хороша да только не работает в моем любимом линуксе… А под wine запускать не хотелось. В линуксах просмотрел несколько программ. Все они по своему хороши. Но остановился на Skrooge как наиболее оптимальной софтине…

    Reply
  11. fixin

    (10) Конечно, все мы хотели бы перестать жрать 1С, но что поделать. Если хочется возможности заточить под себя, лучше 1с ничего не придумано. Так что Линукс, Линуксом, а покамись, пока не видно «убийцы 1С», она — лучшая для любых баз данных.

    (8) Я смотрел 1с:Деньги 7.7, тогда еще восьмерки не было. Даже вел там расходы месяца, но не сложилось. Такая программа, которую часто юзаешь под себя, должна быть идеально под тебя заточена.

    Reply
  12. KapasMordorov

    Вел учет когда надо было в Inesoft Cash Organizer. Удобно было.

    Сейчас бы смотрел в сторону Sanuel Family, у которой есть мобильная и ПК-шная части.

    Reply
  13. Aleksey-29

    Еще нужен быстрый запуск (т.е. кликнул по ярлыку, сразу открылось) и заставить вводить свои расходы других членов семьи (в этом тоже есть сложность). А то получается я свои ввожу, а остальные не вводят.

    Reply
  14. Aleksey-29

    И интересно было бы автоматом как-то их в базе фиксировать. Н-р, как по пластиковой карте. На сервере лежит база, у меня есть ID и карта. Я делаю покупку в магазине и предъявляю эту карту, продавец по терминалу связывается с сервером и фиксирует мои расходы. А уж доходы я сам введу он-лайн.

    Reply
  15. SpartakM

    (2) а выложить здесь эту конфу не желаете?

    Reply
  16. fixin

    (15) желаю. Это конфа PIM, скоро выложу, я только приехал на инфостарт, ждите.

    Reply
  17. fixin

    (14) практика показывает, что по налу достаточно 5 минут в день для вбивания расходов, по безналу — 30-60 минут в месяц. Главное регулярность.

    Reply
  18. djam_arttek

    (14) По данной схеме необходимо что бы магазины поддерживали подобную технологию. Думаю это на уровне фантастики. Единственное что могло бы как-то автоматизировать учет это взаимосвязь бух.программы с он-лайн банкингом где отображаются движения по карте.

    Reply
  19. Aleksey-29

    (18) djam_arttek, сейчас же магазины пласт. карты поддерживают — и это не фантастика (хотя давным-давно…). Думаю скоро и это будет реализовано, а предпосылки уже есть — решения на базе SaaS.

    А вот банки не дадут свои данные таким способом.

    PS: а в каком он-лайн банке есть движения приход-расход, которые можно выгрузить?

    Reply
  20. djam_arttek

    (13) вот skrooge как раз достаточно быстрый или «Домашние финансы».

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

    Reply
  21. djam_arttek

    (19) Магазины не пластиковые карточки поддерживают, а возможность производить оплату по безналу списывая средства со счета пластиковой карты. Любая операция проводится через банк-оператор такой услуги.

    Я не готов утверждать, но в случае присутствия в он-лайн банкинге возможности формирования выписки (Банк Открытие), то это и есть вариант получения движений по счету.

    Reply
  22. AlexanderKai

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

    Reply
  23. fixin

    (22) видимо, да.

    я из практики понял что нужно:

    1. Делить расходы на регулярные и по отедльным проектам.

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

    Reply
  24. Лаура

    А можно поинтересоваться на такой счет? А оправданны ли ваши затраты времени на обработку-ввод данных в программу. Опишите пожалуйста все плюсы и «изюм» от использования учета домашних финансов. На мой взгляд кроме затрат времени я ничего не поимею: примерный объем средств на оплату расходов на питание, коммуналку я и так могу прикинуть за месяц, заработок мой от использования программы напрямую больше не станет, дети меньше ботинок рвать не станут…

    Reply
  25. djam_arttek

    (24) Лаура, учет домашних финансов не стоит сравнивать с тем меньше или больше будут дети рвать ботинки. Программа позволяет упорядочить расходы. Если у вас есть кредиты, или накопления, акции и т.п. то программное обеспечение упростит вам отслеживание движений. Более того если вы планируете крупную покупку а денег сейчас нет, то программа сможет подсказать по каким статьям можно сэкономить…

    К примеру, можно понаблюдать за тем как расходуются «карманные» и от чего вдруг у ребенка повысились запросы… Можно оценить какие статьи расходов в жизни не столь важны но отнимают массу средств… Также можно распланировать бюджет на ближайшую перспективу, попробовать спрогнозировать бюджет на будущее… А сэкономленные на этом средства пустить в более нужное русло 🙂

    Reply
  26. serega3333

    интерфейс домашней бухгалтерии намного сложней сделать, чем архитектуру

    Reply
  27. djam_arttek

    (26) serega3333, чем же?

    Reply
  28. fixin

    (24) для меня важно еще знать, что деньги я не потратил в никуда, т.е. не потерял.

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

    Расходы по вводу данных в систему минимальны. Ввожу по чекам из кошелька, на что нет чека — записываю как заметки в КП. Использую крупные статьи, например, Продукты, чтобы не мелочиться.

    Опять же, можно цены посмотреть и когда что покупал, например ту же стиралку… 😉

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

    (26)(27) да, интерфейс сложно сделать удобный. Для меня удобный вот такой:

    Reply
  29. djam_arttek

    Немного об интерфейсах

    Skrooge

    Windows/Linux;

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

    kMyMoney

    Linux/Windows;

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

    Домашние финансы

    Только Windows;

    Free — бесплатно, урезан функционал;

    Другие варианты — платно от 400 р.;

    код недоступен;

    Домашняя бухгалтерия от keepsoft

    Только Windows, есть версия для КПК;

    Lite — бесплатная;

    Различные лицензии, платно, от 500 р.;

    Код закрыт;

    1С: Деньги 8

    Только Windows;

    Только платная 600 р;

    Код закрыт;

    Reply
  30. serega3333

    1c деньги на мой взгляд самые приятные глазу

    Reply
  31. fixin

    (29) все они академичны, эти интерфейсы. Если задаться целью минимизации времени ввода транзакций, придешь к моему интерфейсу или подобному + использование шаблонов повторяющихся операций в полклика мышью. 😉

    (30) в семере я с них соскочил, т.к. нельзя было менять дату операции без распроведения… Не знаю, ничего особо удобного там не встречал.

    Reply
  32. djam_arttek

    (31) Экселевский вариант интерфейса тоже как-то не слишком подходящий для простых пользователей. Более того, теряется смысл использования какого-то софта… Т.е. получается возврат к экселю через 1с…

    Reply
  33. fixin

    (32) ну там в Excel-подобной таблице все же документы расположены, но подробно расписаны…

    Reply
  34. Requiem

    Лучше вести не бухгалтерию, а бюджет. Остаток на счетах вы и так знаете например, зачем он вам.

    Reply
  35. fixin

    (34) с чего вы взяли, что знаю? благодаря учету порой находил косяки. например, отложил деньги и забыл про них и т.п. для меня знание остатков по программе — важнейшая часть учета.

    Reply
  36. serega3333

    (30) на 8.1 хороший интерфейс без косяков

    Reply
  37. djam_arttek

    (36) serega3333, ну на 8.2 с управляемыми формами был бы еще лучше 🙂

    Reply
  38. fixin

    (36)(37) я не про косяки веду речь, а про удобство. Как забивается операция?

    Создаешь новый документ и вколачиваешь строки? это прошлый век. Я через это прошел и ушел к эксель-подобному интерфейсу в PIM.

    Reply
  39. djam_arttek

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

    Reply
  40. fixin

    (40) да, расписывай. надо знать конкурентов.

    Reply
  41. zavsom

    Абсолютно все верно — только я свою прогу писал на учебной конфе по платформе 8-0 в 2006 году и уже в 2010 я купил с ее помощью квартиру — у меня кошельки это счета бух учета — статьи затрат такие: еда, бытовые нужды, телефон, лекарства, развлечения, квартплата и т.п, статьи поступления такие поступления зп и на телефон (так как мне клиенты кидают на телефон , а потом я их вывожу на карту) перемещение между счетами и документ-инвентаризация — называется пересчет валютных средств — так как когда копил то хранил деньги в разных валютах, в золоте и серебре и на металлических счетах, в МММ и акциях. Документ пересчет валютных средств был еще и калькулятором, приводящим все к одной валюте, по текущему на данный момент курсу.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *