Я веду учет личных расходов уже несколько лет. Готовые приложения меня не устроили. Моим решением много лет была связка из банковских 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): Наглядно показывают структуру расходов в процентах за любой выбранный месяц.


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


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


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


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

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