Или еще один способ вести домашнюю бухгалтерию так, чтобы было удобно именно тебе, а все стальные говорили "интересно, но я такое использовать не буду" :)
Предисловие
Кучу лет с интересом читал разные статейки про то, как люди заводят чудо эксель файлик, заносят в него руками всё расходы, рисуют красивые графики или заносят денег в какой-нить сервис, которое это делает самостоятельно, а потом хвастаются, насколько у них повысилось самосознание, везде расцвели цветы, сразу же накопились миллионы и небо стало голубее. После такого сразу хочется сделать также. Вот только немного лень, а еще если открыть комменты, то сразу находится несколько комментариев, которые показывают косяки или неудобства данного подхода и сразу желание повторять уменьшается:) Да и как-то так сложилось, что в голове всегда было понимание того, "сколько денег в кармане" и с этим жилось спокойно. А еще в банковской приложухе уже есть подобная статистика. Она временами косячит, но вполне норм, и дает некую ретроспективу. В общем не срослось.
Проблема и поиски решения
А вот после релока появилась проблема.
Новая валюта, к размерности которой ты не привык и все цены в ней же. Нет понимания стоимости денег и понимания относительной ценности денег и товаров.
Т.е. 10 тугриков это насколько больше 100 тугриков. Не математически х10
и точка. А вот 10 это много? а 100? А если один товар стоит 20, а другой аналогичный 90 это странно или норм? А относительно чего это "много" считать?
Причем даже если это все перевести в проценты от зп, и наложить на свою старую зп, особо легче не становится, т.к. стоимость жизни тут другая, другое соотношение расходов и другой подход к жизни в целом.
Т.е. для своих существующих знаний и методов учета денег, которые ты нарабатывал с малолетства и до этого вообще не задумывался "а как оно там устроено?", нужно задать корректировки, а для этого как-то формализовать эти методы.
А иначе ты просто не понимаешь на что ты тратишь деньги и из-за чего у тебя под конец месяца на счету ноль, а зарплата только через неделю. А ещё стало полной неожиданностью насколько ущербны банковские приложения, особенно в части ведения статистики. И стало понятно, что вообще сподвигло создавать 100500 приложенек для ведения домашних финансов.
В итоге было решено просто строить всё с нуля.
Какие проблемы нужно решить
- Учёт всех совершенных трат.
- Категоризация всех трат.
- Подсчёт сумм по категориям за какой-то период. Пусть будет месяц.
- Графики? ну м.б. хз.
- Чтобы было удобно.
- Чтобы не было дублирования записей.
- Чтобы категории выставлялись правильно.
- Всё в одном месте для всей семьи.
Последние четыре пункта особо важны, т.к. если это будет неудобно, то на это вскоре будет забито. Если косяки с записями, то, грош, цена этой системы. Ну и если для каждого нужно делать что-то своё, то это все усложнит, будет неудобно в подсчетах и будет похоронено.
Что не интересует или чего избегать
- Откуда трата. Интересует суммарный бюджет, а не разбивка по счетам и картам.
- Мгновенные изменения. Это не онлайн казино, устраивает адекватная задержка.
- Ручное добавление - это боль с и страдание.
- Хотелось бы что-то максимально селфхостное. Ибо всё же это финансы и нефиг их опять специально выгружать очередному "анонимному анализатору", для этого банка достаточно.
Что делать
Пунктом №1 было поискать в клубе, поспрашивать в чатиках, покопаться в своих записках, на худой конец в экселе завести двойную бухгалтерскую запись и страдать:).
Результат был примерно такой же как в предисловии. 100500 приложух разного вида стрёмности, либо с ручным вводом, либо интерфейсом понятным только главбуху сапа, либо со всратым вокрфлоу, либо неюзабильным результатом, либо нафиг ненужным функционалом типа ИИ или синхры вебморы с чем-то ещё.
Мне очень понравилось описание типичной аппки для ведения финансов тут
меня не устраивало слишком большое количество телодвижений для создания одной записи: нажми на добавление траты, выбери поле значения, введи цифру, выбери следующее поле, выбери категорию, выбери следующее поле, введи описание и т.д.
И я всё же хочу решить проблему отсутствия понимания куда я трачу деньги, а не сидеть и задротить сам процесс ведения гроссбуха в тележке.
А еще очень не хочется пробовать пару десятков приложух, которые в массе своей платные, чтобы потыкать в неё, понять что не заходит и перейти к следующей.
Тут сейчас должны прийти адепты зен мани и ynab и сказать, что вот оно, идеальное решение.
Но поскольку это я пишу последовательно, а поиски шли параллельно, то они были отложены как запасной вариант, если таблички не выгорят.
Кстати о гроссбухах. Двойная запись.
Изначально это была одна таблица вида "имя - сумма - остаток". Для ведения дел в лавке 15 века норм. Для дома ок, но только если у тебя все операции наликом, а дома стоит сундук с монетами и основная цель всегда знать текущий остаток.
В современном мире, и сильно упрощая, двойная запись это две таблицы, условно доход и расход, которые считаются отдельно, но обязательно должны сойтись. И сама суть ведения этого формата: свести баланс движения всех денежных средств в ноль в и из разных источников/счетов.
Имхо, если ты не главбух, который уже без этого не может - оно тебе в таком виде на надо. Потому, что пользоваться этим неудобно и переусложнено.
Так что нафиг её. А заодно beancount и всех ему подобных.
Как по мне, один из основных недостатков подавляющего большинства приложух для домашней бухгалтерии: они пытаются как либо колсплеить двойную запись, попутно натянув на неё красивый гуй. Хочешь быть бухом - купи гроссбух, ну или 1с поставь:)
Остаётся подход людей с "у меня всё в экселке". Значит будем пробовать начинать с этого.
Но с этим, обычно, есть проблема, т.к. мало кто хочет делиться подобными табличками, да и вообще в деталях рассказывать как у него это устроено.
Мне повезло, т.к. Лев незадолго до моих поисков хвастался как он уже лет 10 ведет подобную табличку, и он ею поделился, и рассказал как её ведет. И это ЕСТЕСТВЕННО НЕУДОБНО :))
Было так
1 лист - 1 месяц.
В шапке категории. Первая строка это номер категории, вторая - суммирующая формула, третья - название
Ну а слева ручками пишем сколько и на что потратили, ну и номер категории.
Еще одна подобная таблица но уже с тратами по счетам, где категории вида "банк-№счета"
Плюс сводная таблица по месяцам, где данные берутся из шапки предыдущей
И такая же по годам.
Ну и всякие графики. В моем примере они ужасные. А реальные очень красивенькие и можно повтыкать в них с умным видом:) Особенно на дистанции в 10 лет:)
Выглядит немного страшненько, не хватает автоматизации, но общее воркфлоу похоже на то, что мне нужно. Значит будем адаптировать. :)
Таблица
После нескольких бессонных ночей у меня получилось такое:
Имеется одна таблица на год. В принципе можно вообще не разделять, но тогда там будут десятки тысяч записей и браузер будет умирать.
В неё так же добавляются записи в виде дата, сумма, описание, категория.
Вот только теперь категории это текст и выбирается от из дропдауна. Их можно начать вводить руками и будет фильтроваться.
А еще справа есть галочка "за налик". Ставим её когда что-то платилось наликом.
Строчки раскрашиваются в цвет категории.
Ещё нельзя ввести дату из будущего, или в сумму не число. Оно ругнется на несуществующую категорию.
Можно отфильтровать таблицу по любой из этих колонок.
Вся эта красота сделана на стандартных проверке данных и условном форматировании.
И сводные таблички стали повеселей
В месячной таблице данные высчитываются формулами в два экрана на основании таблицы с данными. А категория с самой большой тратой в этом месяце подсвечивается зеленым. Ну и да, я люблю вкусно поесть:)
Налик здесь просто для статистики и не учитывается в расходах, т.к. это просто снятие наличных в банкомате, а не какая-то трата. А все расходы за налик имеют определённую категорию.
Ну и месяц оно считает не календарный, а, скажем так, финансовый. От зарплаты - до зарплаты. А поскольку даты зп плавают, приходится это трекать в отдельной графе.
Ну и относительно красивые графики уже получились
С этим уже можно работать.
Попробовал вводить эти данные руками - через 3 минуты появилось желание убивать.
А значит что?
Автоматизация. Начало.
Для начала можно попробовать руками обрабатывать выгрузки из банка.
В эксельке будут строки вида
|2024/08/19|2024/08/16|TRANSACCION CONTACTLESS EN KFC CITI, CITI, TARJ. :*12358|-13.98|
В принципе похоже, но порядок не тот, мусора много в описании.
Поколдовав минут 5 со "вставкой и заменой" это можно привести к виду:
|2024-08-16|-13.98|KFC|
И уже скопом вставить в табличку и еще минут за 5 расставить везде категории.
Всё,
Ну почти:)
Но это однозначно лучше чем водить все траты руками. И уж точно быстрее.
Такого режима мне хватило почти на год. Оно не особо удобно, и порой подбешивает, но было уже приемлемо. И раз в месяц выгрузить пару отчетов и раскидать их за 20 минут это допустимая трата времени при условии, то ты не понимаешь будет ли толк из твоих действий.
А толк был. И появился достаточно быстро, т.к. я заодно загрузил всю имеющуюся банковскую историю, и вот через несколько месяцев у меня есть реальная статистика за год. На основании которой можно делать выводы.
Собственно в этот момент эта табличка уже выполнила свою минимальную задачу. Я мог анализировать свои расходы и быть уверенным, что учтено всё. Ну или почти всё, т.к. при заполнении таблички раз в месяц-полтора, на регулярное занесение трат за налик просто забиваешь, а потом уже не помнишь.
В какой-то момент мне совсем надоело руками править выгрузку и появилась первая попытка в автоматизацию. На которой и планировал остановиться.
Просто баш скриптик, который конвертит xls
в scv
, и потом в основном sed
и немножко всяким из base-utils
приводит все строки к такому виду |2024-08-16|-13.98|KFC|
.
Но тут в дело вступает банк, в очередной раз подтверждая, что Испанское ИТ самое лучшее ИТ в мире:)
Выгрузка из вебморды у нас в xls, а в приложениях в xlsx. А ещё везде разный формат даты. А ещё там все вспомогательные поля будут на английском, а тут на испанском. И здесь всё капсом, а там там как получится. Ну и всё в таком духе.
Вот вроде мелочи, но бесят. Собственно тут пришла идея "а что будет если это все запихнуть в телегу и пускай оно само всё делает, а меня спрашивает только если не знает что делать".
Но самый прикол, что нельзя просто сохранить файл локально на телефон, можно только зашарить его в какую-то другую аппку:)
Телега
В итоге меня это задолбало, была расчехлена Idea и за пару недель был написан бот который:
- преобразует даты и суммы в единый формат
- предварительно парсит описание трат и удаляет мусор из строк.
- удаляет пустые строки в гугл таблице
- ищет дубли между добавляемым и имеющимся.
- сам категоризирует траты на базе шаблонов.
- для чего не смог найти категорию спрашивает.
- спрашивает нужно ли сделать новый шаблон.
- позволяет использовать несколько категорий для шаблона.
- умеет редактировать шаблоны.
- если трата походит под шаблон с несколькими категориями - спрашивает какую брать.
- позволяет переименовать описание. Это полезно когда покупаешь что-нить в амазоне и тебя в банке транзакция имеет имя
amazon rg3q5YH246uqt
, и хотелось бы это привести камазон кроссовки
- находит переименованные и спрашивает это так или просто так совпало.
- может добавить траты кешем. Также с категориями или без.
- может задать даты отпуска, когда все траты автоматически помечаются определенной категорией.
А чтобы инициировать обработку, нужно просто положить файлик выгрузки в определенную папочку.
А в телеге выглядит это примерно так:
И текущий вокрфлоу выглядит так:
Выгрузить из банка xlsx и зашарить его в приложеньку от моего NAS, в ней выбрать нужную папку, а дальше бот сам закидает тебя вопросами.
Раза с третьего, четвертого он почти перестает спрашивать о новых категориях и либо всё распределяет сам, либо уточняет, когда несколько категорий. Т.к. деньги ты тратишь обычно примерно в одних и тех же местах.
Ну а если выгружать отчеты раз в недельку, то теперь это всё занимает меньше минуты и уже стало комфортно.
Главное не забывать вносить траты за налик сразу:)
Ну а если я хочу проанализировать траты, то интерфейс гугл таблицы почти идеален для этого.
Что дальше?
На текущий момент есть пяток мелких багов, которые пока лень выпиливать.
И мне очень не нравится интерфейс взаимодействия с апи гугла. Он вроде норм и либы более-менее адекватные, но что-то подбешивает. Да и вообще изначально была идея не шарить даные в инет. Так, что пока вяло посматриваю в сторону миграции на гугла на grist
Можно попробовать это монетизировать, но тут тоже есть вопросы. Как быть с безопасностью данных, как разделять доступы, каким образом вообще создавать многопользовательность и пр.
Ну и раз ты прочитал всю эту графоманию до конца, то вот тут можно найти пример текущей итерации таблицы.
Интересно, я проходил что то подобное, поделюсь своим опытом. Я тоже когда то начинал учет с гуглотаблиц, затем был бот в тг (забросил, стало лень пилить «интеграции» с файлами разных банков), затем купил ynab. Пока работала интеграция с моими банками соглашался платить подписку, тк заводить транзакции это самый головняк. Но в какой то момент часть интеграций у них отсохла, ручной труд стал утомлять, и я начал искать альтернативы (даже снова подумывал вернуться и допилить бота). Где то на реддит увидел пост про Actual https://github.com/actualbudget/actual и теперь я с ним. Серверная часть хостится на vps, все банковские акки синхронизированы через GoCradless, правила для категорий работают исправно, практически не требуется что то править, аналитика и графики присутствуют. Минимум доп.действий и никаких подписок, только донат проекту. Теперь только баланс кеша не сходится, там всегда что то забывается 😁