Я веду учет личных расходов уже несколько лет. Готовые приложения меня не устроили. Моим решением много лет была связка из банковских CSV-отчетов, Python-скрипта для парсинга и Google Таблицы в качестве базы данных.
Эта система работала, но не избавляла от ручного добавления оплаты наличными или разделения счета с друзьями. Но недавно я стал пользоваться банком, у которого отчеты исключительно в PDF, что фактически сломало всю мою автоматизацию. Это и стало триггером для переработки и автоматизации моей Google Таблицы. В итоге у меня получился инструмент, от которого я в восторге. Ссылка на шаблон будет ждать в конце статьи.
Архитектура таблицы
Давайте сначала рассмотрим, что из себя представляет получившаяся таблица. Она состоит из трех основных частей: лист «Настройки», где хранятся пользовательские установки, лист «Данные» со всеми транзакциями и несколько листов-дашбордов со статистикой.
Лист «Настройки»: Центр управления
Здесь нет ничего интересного с технической точки зрения, но позволяет подстроить таблицу под себя.
Тут пользователь может задать:
Целевую валюту: Валюта, в которую будут автоматически конвертироваться все транзакции.
Основные категории: Список категорий расходов, которые вы считаете самыми важными. Это используется для наглядной визуализации на дашборде.
Также этот лист выполняет роль «справочника»: на нем автоматически отображаются все валюты и категории, которые вы когда-либо использовали, и показывается дата самой первой транзакции.

Лист «Данные»: умный ввод транзакций
Это главный лист для ежедневной работы, и здесь сосредоточена основная магия. Цель была не просто в удобстве, а в создании системы, которая помогает сама себе, обучаясь на ваших же данных.
Структура полей
Дата, Сумма, Описание, Комментарий: Базовые поля для ручного ввода. Для
Датынастроен удобный вызов календаря.Валюта, Категория: Это «умные» выпадающие списки. Вам не нужно вести справочник где-то отдельно. Просто впишите новое значение в ячейку один раз, и оно тут же появится в выпадающем списке для всех последующих транзакций.
-
Сумма в валюте пользователя: Полностью автоматический столбец, который конвертирует сумму транзакции в вашу целевую валюту по курсу на указанную дату с помощью функции GOOGLEFINANCE.
Кстати, беларусы тут как всегда страдают: уже лет 5 Google использует какой-то очень странный курс для белорусского рубля. Хотя, можа, так і трэба?
Подкатегория: Связанный выпадающий список. Его содержимое зависит от того, что вы выбрали в
Категории. Это гарантирует порядок в данных и является заделом на будущее для построения более детальных отчетов. В отчетах на данный момент это поле не используется, но это задел для будущего расширения.
Прокачиваем ввод: магия Google Apps Script
А теперь самое интересное. Чтобы ввод данных был не просто удобным, а практически мгновенным, я добавил два правила автоматического заполнения.
-
Автозаполнение валюты. Я заметил, что у меня есть два основных сценария трат: дома (валюта почти всегда одна и та же) и в поездках (валюта тоже одна, но другая). Поэтому скрипт просто смотрит на предыдущую транзакцию и подставляет ту же валюту в новую строку. Это отлично работает в обоих случаях.

автозаполнение валюты -
Интеллектуальное автозаполнение категорий. Тут уже подход сложнее. Когда вы вводите Описание транзакции (например, «Yandex taxi» или «Starbucks»), скрипт тут же ищет это описание во всех предыдущих операциях. Если находит совпадение - он автоматически подставляет Категорию и Подкатегорию из найденной транзакции. Система обучается на ваших же данных: чем больше вы ей пользуетесь, тем умнее она становится.

автозаполнение категорий
Техническая ремарка: Формулы vs. Dropdown
Здесь стоит отметить важный нюанс. К сожалению, в Google Таблицах нельзя одновременно использовать для ячейки и формулу (которая бы подставляла значение), и выпадающий список (чтобы можно было его изменить). Это взаимоисключающие вещи.
Для решения этой проблемы был использован Google Apps Script с триггером onEdit. Скрипт «слушает» изменения в таблице и, когда нужно, программно вставляет в ячейку нужное значение, не удаляя при этом сам выпадающий список. У этого подхода есть небольшая задержка около 1 секунды, что не всегда приятно, но это единственное известное мне решение, позволяющее совместить автоматизацию и гибкость ручного выбора.
Дашборды
Ну и теперь главное, для чего все это делалось. В результате мы получаем удобные дашборды, которые я разбил на месячные и годовые.
Месячные дашборды
Эта группа помогает понять, что происходит с вашими финансами «здесь и сейчас» и за последние полгода.
-
Сводная таблица по категориям: Основной отчет, который показывает суммы трат по каждой категории за последние 6 месяцев, последние 30 дней и среднее значение в месяц за последние 365 дней.

сводная таблица по категориям -
Круговые диаграммы (Pie Charts): Наглядно показывают структуру расходов в процентах за любой выбранный месяц.

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

Сравнение расходов по категориям за последние 30 дней и среднее в месяц за последний год 
Сравнение расходов по категориям по месяцам -
Графики общих трат (Line Charts): Показывают общую сумму расходов в разных категориях по месяцам, позволяя увидеть общий тренд.

Суммарные траты по месяцам 
Траты в категории по месяцам
Годовые дашборды (для стратегического анализа)
Эта группа предназначена для анализа в долгосрочной перспективе, выявления глобальных трендов и планирования.
Сводная таблица по годам: Аналогична месячной, но в масштабе последних 5 лет. Главная особенность - экстраполяция трат на текущий год, которая позволяет уже сейчас понять, уложитесь ли вы в годовой бюджет.
-
Годов диаграммы: Показывают, как менялась структура ваших трат и расходы по категориям от года к году.


График личной инфляции: Сравнивает сумму ваших трат за последние 12 месяцев (например, с октября 2024 по сентябрь 2025) с аналогичным периодом год назад (с октября 2023 по сентябрь 2024).
График индекса роста расходов: Более сложный показатель, который помогает увидеть долгосрочный тренд роста ваших трат, сглаживая разовые всплески.

Заключение и планы на будущее
На этом мой рассказ подходит к концу. Я буду рад обратной связи уже по моему инструменту. Я верю, что любой проект становится лучше благодаря сообществу, поэтому делитесь в комментариях своими мыслями. Что бы вы добавили? Каких дашбордов вам не хватает для полного счастья? Любая конструктивная критика приветствуется!
Если шаблон окажется востребованным, в ближайших планах есть:
Добавить отдельный лист-«библиотеку» с готовыми дашбордами, чтобы каждый мог выбрать и скопировать себе нужные.
Реализовать полноценную аналитику по подкатегориям.
Ссылка на шаблон
Ознакомиться и забрать свою копию таблицы можно по этой ссылке.
P.S. Я также веду телеграм-канал panInvestorPL. Его основная тема - инвестиции и финансы в Польше и Европе, но именно там я планирую публиковать все обновления и улучшения для этой таблицы, а также делиться другими финансовыми инструментами, которые создаю для себя. Так что если вам интересна эта тема или вы просто хотите быть в курсе новостей по проекту - буду рад вас видеть. Обратную связь по таблице также можно давать прямо там.