Как сделать приложение для бюджета: категории, транзакции, импорт и отчёты
Приложение для бюджета показывает, сколько вы планировали потратить по каждой категории, сколько уже потратили и что осталось. Чтобы его сделать, нужны аккаунты, категории, месячный бюджет по каждой категории, транзакции и несколько понятных отчётов. Два решения определяют всё остальное: ваш метод бюджетирования и то, как транзакции попадают в приложение — вводятся вручную, импортируются из CSV-файла банка или подтягиваются через подключение к банку. Начните с импорта CSV: он даёт большую часть пользы за малую долю работы и риска.
Этот гид посвящён программной части. Это не финансовый совет.
Сначала выберите метод бюджетирования
Метод определяет экраны и расчёты, поэтому выберите его до написания промпта.
| Метод | Как работает | Что показывает приложение |
|---|---|---|
| Лимиты по категориям | Задаёте месячный лимит для каждой категории | Потрачено и лимит по категориям, с индикаторами прогресса |
| Нулевой бюджет | Каждой единице дохода назначается задача, пока ничего не останется нераспределённым | Баланс «не распределено»; деньги переносятся между категориями |
| Разделение 50/30/20 | Доход делится на проценты: нужды, желания и сбережения | Три блока и то, как каждый из них идёт |
| Конверты | Фиксированные суммы по категориям; неизрасходованное переходит дальше | Остатки по конвертам, которые переносятся из месяца в месяц |
Лимиты по категориям проще всего построить и понять. Нулевой бюджет и бюджет по конвертам требуют логики переноса: что происходит с деньгами, оставшимися в категории к концу месяца, и что делать, если категория превышена.
Что нужно приложению для бюджета
Страницы
- Этот месяц — каждая категория с бюджетом, потраченным и остатком; общий доход и общие траты.
- Транзакции — список с датой, получателем, суммой, категорией и счётом; фильтры и поиск; быстрая смена категории.
- Импорт — загрузка CSV, сопоставление колонок, предпросмотр, подтверждение.
- Настройка бюджета — категории, группы (жильё, еда, транспорт) и суммы в месяц.
- Счета — текущий счёт, сбережения, кредитная карта, наличные, с балансами.
- Отчёты — траты по категориям во времени, доходы и расходы, сравнение месяцев. Подсказки по выбору диаграмм см. в гиде о том, как сделать дашборд.
Данные
- Счета — название, тип, валюта, начальный баланс.
- Категории — название, группа, порядок сортировки, архивная отметка.
- Бюджеты — категория, месяц, сумма.
- Транзакции — счёт, дата, получатель, сумма, категория, заметка, ID импорта, отметка «проведено».
- Правила — «получатель содержит TESCO → Продукты», применяются при импорте.
- Переводы — пара связанных транзакций между вашими счетами, чтобы перевод на сбережения не считался тратой.
Права доступа
У личного бюджета один владелец. Семейный бюджет требует общего домохозяйства, которому принадлежат данные, а каждый партнёр входит под своим аккаунтом. В любом случае никто посторонний не должен видеть ни одной строки. Проверьте это, войдя под вторым, никак не связанным пользователем.
Как работать с деньгами правильно
Финансовые приложения ломаются в мелочах, и это неприятно. Укажите эти правила в промпте:
- Храните суммы как целые числа в наименьшей единице (копейках, центах) плюс код валюты. Числа с плавающей точкой дают итоги вроде 0.30000000000000004.
- Знаки согласованы. Расход отрицательный, доход положительный, либо используйте отдельное поле направления — но не оба варианта сразу.
- Переводы — не траты. Связывайте обе стороны перевода и исключайте их из сумм по категориям.
- Возвраты уменьшают траты в исходной категории, а не считаются доходом.
- Месяцы определяются по часовому поясу пользователя, чтобы транзакция в 23:00 последнего дня месяца не попадала в следующий месяц.
- Одна валюта на бюджет для первой версии. Многовалютность требует курсов обмена и решения, какой курс использовать.
Как попадают транзакции
| Способ | Сложность сборки | Примечания |
|---|---|---|
| Ручной ввод | Низкая | Подходит для наличных, но утомительно для всего остального |
| Импорт CSV | Низкая–средняя | Большинство банков позволяют скачать транзакции; колонки в каждом банке разные, поэтому дайте пользователям сопоставлять колонки и сохранять это сопоставление |
| Подключение банка | Высокая | Использует агрегатор вроде Plaid или открытые банковские API; аккаунты разработчика, одобрение, постоянные расходы и серьёзные обязанности по безопасности |
При импорте CSV предотвращайте дубликаты: храните ID импорта или отпечаток из даты, суммы и описания и пропускайте уже виденные строки. Применяйте правила категоризации при импорте, чтобы большинство строк приходили уже с категорией.
Если позже вы добавите подключение к банку, ключи API провайдера должны оставаться на сервере, а пароли от банков пользователям никогда не запрашивайте. См. как хранить ключи API в безопасности.
Пример первого промпта
Сделай веб-приложение для бюджета на двоих: семейный учёт. Мы используем лимиты по категориям: категории сгруппированы (Жильё, Еда, Транспорт, Развлечения, Сбережения), у каждой месячная сумма бюджета. Главный экран показывает этот месяц: бюджет, потрачено и остаток по каждой категории с индикаторами прогресса, а также общий доход и общие траты. Счетов несколько (текущий, сбережения, кредитная карта). У транзакций есть дата, получатель, сумма, счёт, категория и заметка. Суммы храни как целые копейки с кодом валюты. Переводы между нашими счетами — связанные пары и не считаются тратами; возвраты уменьшают траты в их категории. Добавь импорт CSV: загрузка, сопоставление колонок один раз для каждого банка с запоминанием сопоставления, предпросмотр, пропуск дубликатов и правила получателей вроде «содержит TESCO → Продукты». Отчёты: траты по категориям по месяцам и доходы против расходов за последние 12 месяцев. Мы входим каждый по email и паролю и делим одно домохозяйство; никто другой не видит наши данные. С базой данных, удобно на телефоне.
Шаги сборки
- Категории и вид «этот месяц» с примерными данными. Проверьте расчёты вручную на небольшом наборе.
- Список транзакций и быстрая категоризация. Смена категории должна делаться одним нажатием.
- Импорт CSV. Попробуйте настоящие выписки из собственного банка. Импортируйте один и тот же файл дважды и убедитесь, что ничего не дублируется.
- Правила. Добавьте десять получателей, которые покрывают большую часть ваших трат.
- Переводы и возвраты. Проверьте оба и сверьте суммы по категориям.
- Вход и домохозяйство. См. как добавить вход в приложение.
- Отчёты. Когда накопится несколько месяцев данных.
- Проверка безопасности. Пройдите чек-лист безопасности для приложений, созданных с ИИ, прежде чем доверить приложению реальные данные.
Частые ошибки
- Деньги в числах с плавающей точкой. Используйте целые копейки.
- Учёт переводов как трат. Ваши взносы на сбережения будут выглядеть как перерасход.
- Повторный импорт. Каждый повторный импорт удваивает траты, если нет проверки на дубликаты.
- Начинать с подключения банков. Много работы и риска, прежде чем вы поймёте, что приложение полезно.
- Хранить пароли от банков или номера карт. Никогда.
- Нет экспорта. Людям нужны данные в таблице; добавьте экспорт в CSV.
- Слишком много категорий. Двадцати достаточно; триста — это уже таблица.
Когда лучше готовое приложение для бюджета
Известные приложения для бюджета предлагают безопасное подключение банков во многих учреждениях, мобильные приложения и годы работы с нестандартными случаями. Если для вас важнее всего автоматическая синхронизация с банком, одно из них — практичный выбор.
Собственное приложение стоит делать, когда ваш метод не укладывается в их модель, когда вы не хотите, чтобы финансовые данные хранила другая компания, когда для вас достаточно импорта CSV пару раз в месяц или когда вы строите инструмент для конкретной группы — казначея клуба, небольшой благотворительной организации, программы коучинга. Если ваш бюджет сейчас живёт в таблице, как превратить таблицу в приложение поможет перейти. Для учёта расходов бизнеса или команды, а не домашнего бюджета, см. как сделать трекер расходов.
Как сделать приложение для бюджета в Mythex
Mythex может собрать это приложение по промпту выше: вы описываете его в чате, проверяете в живом предпросмотре и публикуете. Выделенная база Postgres добавляется, когда приложению она нужна. Вход — ваш собственный подход, и то же касается любого провайдера банковских данных: его ключи вы храните как секреты проекта, а агент подключает их на сервере. Банковских подключений в Mythex нет. Для старта подойдёт шаблон дашборда бюджета, построенный вокруг импорта CSV и анализа отклонений.
Вопросы
Могу ли я сделать собственное приложение для бюджета?
Да. Приложение для бюджета — в основном категории, месячные суммы по каждой категории и транзакции, а поверх них отчёты. ИИ-конструктор может собрать его по описанию; главные решения — ваш метод бюджетирования и способ попадания транзакций в приложение.
Как приложения для бюджета подключаются к банковским счетам?
Обычно через агрегатор банковских данных, например Plaid, или через открытые банковские API там, где они есть. Для этого нужен аккаунт разработчика, в некоторых случаях одобрение и аккуратная работа с безопасностью. Импорт CSV-файлов, которые вы скачиваете из банка, намного проще и отлично подходит для первой версии.
Как приложению для бюджета хранить суммы денег?
Храните суммы как целые числа в наименьшей единице валюты, например в копейках или центах, вместе с кодом валюты, а не как числа с плавающей точкой. Так не возникнет ошибок округления при сложении множества транзакций.
Безопасно ли хранить финансовые данные в приложении, которое я сделал?
Может быть безопасно, если приложение требует входа, отделяет данные каждого человека, хранит секреты на сервере и работает по HTTPS. Никогда не храните банковские пароли и полные номера карт. Проверьте приложение по чек-листу безопасности, прежде чем добавлять туда данные других людей.