Реализация семейной бухгалтерии при помощи Google Sheets, жевательной резинки и скотча
Скоро новый год, и, как и в прошлом году, одним из самых актуальных вопросов для любой семьи остается вопрос «куда уходят деньги?». Все мы периодически задаемся этим вопросом, и очевидно, что для его решения нужна внутрисемейная финансовая отчетность (как для любой организации). Я пытался использовать бухгалтерские программы desktop, а также мобильные приложения, но так и не нашел подходящего решения. Есть хорошие бесплатные программы, но у них, как правило, нет функции совместного доступа, а платные требуют покупки лицензии для каждого пользователя. Полный набор критериев, который сложился у меня, и который хотелось бы видеть в программе для ведений семейной бухгалтерии:
- должна позволять вносить данные о расходах нескольким пользователям
- должна обладать гибким набором категорий расходов (да и, в целом, быть гибкой)
- должна позволять следить за общей суммой расходов по периодам и категориям
- должна быть бесплатной
- должна обладать простым интерфейсом
Не найдя решения удовлетворяющего перечисленным критериям среди существующих приложений, стал думать о своем, но размышляя над этой темой, понял, что нет смысла еще в одном бухгалтерском приложении, когда все что нужно для решения задачи, это пошаренная таблица. Бегло пробежавшись по API Google Sheets, обнаружил функцию SUMIFS, которая полностью удовлетворяла мои бухгалтерские запросы. Но обо всем по порядку.
Шаг 1й. Подготовительный
1. Создаем новый Google Sheets и настраиваем ему нужные права доступа для всех участников.
2. Делаем разметку для ведения статей расходов (доходов). Должно получиться что-то вроде этого:

Как вариант, можно добавить графу Person, для указания кто внес запись.
Шаг 2й. Творческий
После первого шага у нас на руках общая таблица куда можно вносить всю необходимую информацию. Конечно, есть нюанс, что по идее, названия категорий расходов должны быть согласованы между всеми участниками, дабы отчетность получилась более строгой, но как показывает практика, в случае неточностей все быстро решается функцией Find&Replace (дополнительным бонусом, оказалось то, что если не можешь придумать адекватного названия, для категории расходов, то скорее всего это что-то что тебе не нужно). Теперь можно воспользоваться функциями SUM и SUMIFS для создания «наблюдателей» (watchers) для нужных категорий расходов. Я остановился на общей сумме, сумме за период, сумме за месяц и тем же суммам для категории «косяки» (траты вызванные забывчивостью, потерей документов и прочим в том же роде). При желании, можно добавить слежение за любой категорией, подсчет процентов относительно общей суммы и другие функции. Несмотря на то, что Google Sheets относительно простой табличный редактор, он обладает мощным набором инструментов (по крайней мере, для большей части распространенных задач), о чем можно почитать тут.
Для представленного варианта разметки у меня получился следующий набор функций
#для общей суммы
=SUM($E$2:$E$100000)
#для суммы за период, начало периода указано в J2, конец в K2
=SUMIFS($E$2:$E$100000,$A$2:$A$100000,»>=»&J2,$A$2:$A$100000,» < >=»&J6,$A$2:$A$100000,»>=»&K6,$A$2:$A$100000,» < ="&J7,$A$2:$A$100000,">https://habrastorage.org/r/w1560/webt/zo/ty/7l/zoty7lfjzgvcqld_nqrsdluoury.png» alt=»image» sizes=»(max-width: 780px) 100vw, 50vw» srcset=»https://habrastorage.org/r/w780/webt/zo/ty/7l/zoty7lfjzgvcqld_nqrsdluoury.png 780w, https://habrastorage.org/r/w1560/webt/zo/ty/7l/zoty7lfjzgvcqld_nqrsdluoury.png 781w» loading=»lazy» decode=»async»/>
- google sheets
- бухгалтерия