Трекер бюджета с открытым исходным кодом для разработчиков — полный контроль над финансовыми данными

Если вы разработчик, то ваши финансовые данные, скорее всего, хранятся на чужом сервере. Любое приложение для учета бюджета и расходов — Mint, YNAB, Copilot, Lunch Money — держит ваши транзакции, остатки на счетах и историю трат в своем облаке. Вам остается только надеяться, что сервис не взломают, что ваши данные не продадут и что сам продукт однажды не закроют, как это случилось с Mint в 2024 году.

Если вам привычны Docker и Postgres, есть вариант лучше: развернуть трекер бюджета с открытым исходным кодом на своей инфраструктуре и хранить все данные у себя.

Трекер расходов с открытым исходным кодом, который вы размещаете сами

Expense Budget Tracker — это полностью открытая система для учета расходов и бюджета на базе Postgres. Вы клонируете репозиторий, запускаете make up и получаете рабочее приложение на localhost:3000 с настоящей базой данных, которой управляете сами.

Никакой регистрации, никакой отправки данных с вашей машины и никаких подписок. Лицензия MIT: форкайте, дорабатывайте и используйте как угодно.

Таблица бюджета с фактическими данными за прошлые месяцы, учетом текущего месяца и прогнозом по категориям на будущее

Стек здесь простой и понятный: Next.js для веб-интерфейса, Postgres 18 для хранения данных и служба на TypeScript, которая ежедневно загружает курсы валют. Все работает в Docker-контейнерах через один docker-compose.yml.

Развертывание через Docker или AWS

В репозитории сразу есть два варианта развертывания:

Локальный Docker Compose — четыре команды, и приложение уже запущено:

git clone https://github.com/kirill-markin/expense-budget-tracker.git
cd expense-budget-tracker
open -a Docker   # start Docker if not running
make up          # Postgres + migrations + web + worker

Откройте http://localhost:3000 и начинайте вносить транзакции. Данные Postgres сохраняются в Docker-томе. На этом настройка заканчивается.

AWS CDK — полноценное рабочее развертывание одним скриптом:

bash scripts/bootstrap.sh --region eu-central-1

Этот сценарий поднимает ECS Fargate, RDS Postgres, ALB с HTTPS, Cognito для аутентификации, WAF, мониторинг в CloudWatch, автоматические резервные копии и CI/CD через GitHub Actions. Оценочная стоимость составляет около $50 в месяц, а в результате вы получаете инфраструктуру корпоративного уровня, которой полностью владеете. Руководство по развертыванию проводит через все шаги: от создания учетной записи AWS до настройки DNS в Cloudflare.

Поскольку здесь нужны только Postgres и Docker, систему можно разместить и где угодно еще. DigitalOcean, Hetzner, Raspberry Pi дома, Kubernetes-кластер компании — если там работают Docker и Postgres, приложение тоже запустится.

SQL API для программного доступа

Большинство приложений для бюджета дают только веб-интерфейс. Здесь же есть SQL API для запросов поверх HTTP: маршрут POST /v1/sql, который принимает SQL-запросы и возвращает JSON.

curl -X POST https://api.your-domain.com/v1/sql \
  -H "Authorization: ApiKey ebta_a7Bk9mNp..." \
  -H "X-Workspace-Id: workspace-id" \
  -H "Content-Type: application/json" \
  -d '{"sql": "SELECT category, SUM(amount) AS total FROM ledger_entries WHERE kind = '\''spend'\'' AND ts >= DATE_TRUNC('\''month'\'', CURRENT_DATE) GROUP BY category ORDER BY total"}'

Вы создаете API-ключ в Settings, выбираете нужный идентификатор рабочей области, и после этого любой HTTP-клиент может работать с вашими данными. Это простой REST API: никакого GraphQL, никаких ORM-абстракций и никаких SDK, которые нужно отдельно изучать. Просто SQL на входе и JSON на выходе.

Модель безопасности здесь строгая: API-ключи хранятся в виде SHA-256-хэшей, в запросах разрешены только SELECT/INSERT/UPDATE/DELETE, действует ограничение в 30 секунд на выполнение, не больше 100 строк в одном ответе и лимит 10 запросов в секунду на каждый ключ. Все запросы проходят через Postgres Row Level Security — тот же механизм изоляции, что использует веб-приложение, — поэтому API-ключ может обращаться только к данным своей рабочей области.

Подходит для ИИ-агентов и языковых моделей

Именно SQL API делает интеграцию с ИИ в личных финансах действительно полезной: агенту нужен прямой доступ к базе, чтобы читать и записывать финансовые данные.

Посмотрите, как обычно устроена работа с ИИ-помощниками сейчас. Вы загружаете в Claude или ChatGPT скриншот банковской выписки, просите разнести траты по категориям и получаете аккуратную текстовую сводку. А затем вручную переносите эти цифры в тот инструмент, где на самом деле ведете учет. Это сценарий 2023 года.

Когда у вас есть SQL API, ИИ-агент не просто анализирует данные, а записывает их прямо в базу. Процесс выглядит так:

  1. Вы загружаете банковскую выписку в CSV или PDF либо просто скриншот в ИИ-агента.
  2. Агент читает каждую транзакцию, сопоставляет категории с уже существующими и делает INSERT в ledger_entries.
  3. Агент сверяет остаток по счету с цифрой из банка.
  4. Вы тратите 5 минут на проверку вместо часа ручного ввода.

Схема базы данных для этого и задумана. Всего семь плоских таблиц, без вложенного JSON и без сложных соединений для базовых операций. Таблица ledger_entries намеренно сделана простой: одна строка на каждое движение по счету и понятные названия столбцов. Поэтому языковая модель может с первой попытки составить корректный INSERT, не путаясь в структуре.

В Expense Budget Tracker есть и встроенный чат с ИИ в веб-интерфейсе. Вы подключаете API-ключ OpenAI или Anthropic и получаете помощника с инструментом query_database, который умеет выполнять SELECT, INSERT, UPDATE и DELETE прямо в вашей Postgres. Достаточно загрузить скриншот банковского приложения: ИИ разберет все транзакции, попросит подтверждение и затем внесет их в базу. Он следует строгому протоколу: сначала находит уже существующие категории, потом проверяет дубликаты, сверяет остатки и записывает данные только после вашего явного подтверждения.

Чат с ИИ поддерживает модели Claude от Anthropic и GPT от OpenAI. Обе используют один и тот же инструмент доступа к базе с одинаковыми правилами безопасности: разрешенные ключевые слова, таймауты запросов и обязательное применение RLS. Тот же SQL API можно использовать и с любым внешним агентом: Claude Code, OpenAI Codex, собственными скриптами или вебхуками Zapier. Дайте агенту ваш API-ключ ebt_, укажите адрес API, и он получит полный доступ на чтение и запись в пределах вашей рабочей области.

Возможности трекера бюджета

Это не минималистичный журнал расходов. Здесь уже есть все, чего обычно ждут от коммерческого продукта:

  • Бюджетная таблица — строки соответствуют категориям, столбцы месяцам. В прошлых месяцах показывается факт, в будущих — прогноз. Можно планировать на 12 месяцев вперед и сразу видеть ожидаемые остатки.
  • Поддержка нескольких валют — каждая транзакция хранится в своей исходной валюте. Курсы от ECB, CBR и NBS загружаются ежедневно. Пересчет в валюту отчетности выполняется во время запроса через соединение таблиц в SQL, без заранее рассчитанных столбцов и без потери точности.
  • Остатки по счетам — можно учитывать расчетные счета, сбережения, кредитные карты, наличные и инвестиции. Для каждого счета считается текущий остаток на основе журнала операций.
  • Переводы — движение денег между своими счетами, в том числе между разными валютами. Это две записи в ledger_entries с одним event_id: одна отрицательная, другая положительная.
  • Категоризация транзакций — вы сами определяете категории. Никакой навязанной классификации. ИИ подхватывает уже существующие категории из ваших данных.
  • Многоязычный интерфейс — English, Spanish, Chinese, Arabic, Hebrew, Farsi, Ukrainian, Russian. Полноценная поддержка RTL.
  • Изоляция рабочих областей — Postgres Row Level Security гарантирует, что данные пользователей полностью отделены друг от друга, даже если все работают с одним сервером базы данных.
  • Демо-режим — в интерфейсе есть переключатель на демонстрационные данные в памяти. Чтобы изучить продукт, база данных не нужна.

Схема Postgres, понятная разработчику

Всю схему можно удержать в голове:

  • ledger_entries — одна строка на каждое движение по счету
  • budget_lines — журнал изменений бюджетного плана с добавлением новых записей без перезаписи старых
  • budget_comments — заметки к ячейкам бюджета
  • exchange_rates — ежедневные курсы валют
  • workspace_settings — валюта отчетности для рабочей области
  • account_metadata — классификация ликвидности
  • accounts — представление, построенное на основе ledger_entries

Никакой ORM. Никакого отдельного фреймворка миграций. Только нумерованные SQL-файлы в db/migrations/, которые применяются сценарием оболочки. Можно открыть каждую миграцию, понять каждую таблицу и писать запросы прямо к схеме.

Изменения в схеме проходят через миграции. Роль базы данных app, которую использует веб-приложение, имеет ограниченные права: она не может создавать таблицы или менять схему. Роль tracker, которую использует только скрипт миграций, отвечает за DDL. Это именно то разделение обязанностей, которого ждешь от рабочей системы.

Почему разработчики хранят финансовые данные у себя

У вас уже есть все нужные навыки. Вы понимаете Docker, Postgres и AWS или любой другой облачный стек. Вопрос только в том, оправдывают ли преимущества эти усилия.

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

Настройка под себя — можно добавлять столбцы в схему, строить собственные отчеты на чистом SQL и подключать систему к уже используемым инструментам. Нужен Telegram-бот с ежедневной сводкой расходов? Напишите скрипт, который обращается к SQL API. Хотите строить графики в Grafana? Подключите ее прямо к Postgres. Код ваш, и менять его можно как угодно.

Никакой зависимости от поставщика — даже если вы перестанете пользоваться веб-интерфейсом, данные останутся в стандартной базе Postgres. Их можно выгрузить через pg_dump, открыть любым SQL-клиентом или перенести в другую систему.

Практическая польза для обучения — эта кодовая база показывает реальное сочетание Next.js, Postgres, Docker, AWS CDK, Row Level Security, аутентификации по API-ключам и интеграции ИИ-инструментов. Если вы делаете свой сервис по подписке, здесь есть приемы, которые захочется позаимствовать.

Как начать работу с трекером бюджета с открытым исходным кодом

git clone https://github.com/kirill-markin/expense-budget-tracker.git
cd expense-budget-tracker
make up

Откройте http://localhost:3000. Добавьте первую транзакцию. Задайте бюджет на текущий месяц. Если хотите сначала просто посмотреть интерфейс без базы данных, нажмите кнопку Demo в шапке и переключитесь на демонстрационные данные в памяти.

Когда будете готовы к рабочему развертыванию, воспользуйтесь руководством по развертыванию в AWS или адаптируйте конфигурацию Docker Compose под свою инфраструктуру.

Репозиторий находится по адресу github.com/kirill-markin/expense-budget-tracker. Можете поставить звезду, сделать fork или просто изучить код. Лицензия MIT позволяет использовать проект как угодно.

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

Читайте дальше

Как использовать ИИ для учета расходов и управления бюджетом

Практическое руководство по личным финансам с ИИ. Дайте вашему ИИ-агенту API-ключ, и он будет разбирать банковские выписки, категоризировать транзакции, вести расходы и управлять бюджетом через SQL API.

Как учитывать расходы и управлять бюджетом с помощью Claude Code

Настройте Claude Code как своего помощника по личным финансам. Передайте ему один URL автоконфигурации, дайте пройти проверку кода из письма, сохраните полученный ApiKey, и он сможет разбирать выписки, проверять балансы и вести ваш бюджет прямо из терминала.

Настройка ИИ-трекера расходов для Claude Code, Codex и OpenClaw

Как подключить Claude Code, Codex или OpenClaw к открытому трекеру расходов. Передайте одну ссылку для автоконфигурации, подтвердите код из письма, сохраните полученный ApiKey и дайте агенту начать работу.

Альтернатива Mint в 2026 году: трекер бюджета с открытым исходным кодом, который можно развернуть у себя

Ищете альтернативу Mint в 2026 году? Вот практический компромисс: большинство приложений оптимизируется под удобство, а трекер бюджета с открытым исходным кодом дает возможность самостоятельного размещения, ИИ-сценарии, SQL-доступ и полный контроль над данными.