Skip to content

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 26 Jun 13:55

[v1.2.0] — 2026-06-26

Добавлено

Кредиты и ипотека

  • Локальное время автосписания debit_time_local (HH:MM) в API/UI; автосписание включается переключателем, при включении по умолчанию подставляется 00:00 (для отключения передаётся null)
  • Автосписание через scheduler по дате платежа и debit_time_local; при создании кредита больше не предсоздаются массово будущие транзакции
  • Модалка управления автосписанием на странице кредита (переключатель + время)
  • Переключатель автоплатежа в форме создания кредита (с дефолтом 00:00)
  • Поля банка кредита bank_id, bank_name в API/UI
  • Тип кредита mortgage (MVP): property_price, down_payment, опция «не списывать взнос с баланса», расчёт property_price - down_payment
  • Отдельный счёт взноса down_payment_account_id (если не указан, используется debit_account_id)
  • Для ипотеки в UI фиксирована ежемесячная периодичность (month)

Периодические операции

  • Новая сущность и страница /recurring-operations; периоды: неделя / 2 недели / месяц / год; создание из существующей операции
  • В списке операций для системных категорий скрыто действие «Сделать периодической»
  • Перестроен layout формы: сначала список, затем кнопка «Добавить» с раскрытием; редактирование inline (одна открытая форма)
  • Из селектора исключены системные категории
  • Поле подкатегории всегда отображается (если список пуст, контрол disabled с )
  • Для периода month день берётся из start_date, поле day_of_month в UI скрыто

Setup и счета

  • Восстановление БД из .db-бэкапа на странице первичной настройки (POST /api/v1/setup/restore)
  • Действие «сделать основным» добавлено на список счетов (индикатор — синяя галочка у имени)

Уведомления

  • Admin-only триггер password_reset: новый тип шаблонов и настройка только для администраторов

Изменено

Кредиты

  • Иконки банков в списке и карточке кредита
  • Пагинация для длинных графиков платежей (вместо «показать ещё»), включая форму создания кредита
  • Оптимистичный UX оплаты: после «Оплатить» интерфейс сразу отражает изменения и блокирует редактирование графика до ответа сервера
  • Сортировка кредитов приведена к «новые → старые»
  • Страница деталей кредита: бейджи типа, редактирование имени, блок данных в 3 колонки, иконки действий вместо текстовых кнопок
  • Унифицирован денежный формат в кредитах (разделители тысяч + валюта)

UI/UX

  • Стабилизирована высота календаря
  • Внедрены хлебные крошки
  • Обновлены стили кнопок и вкладок
  • Триггеры уведомлений отображаются компактным вертикальным списком
  • На главной и странице счёта: текущий баланс + баланс с учётом future в текущем месяце (прогноз скрывается, если равен текущему)
  • Админ-раздел перенесён в «Настройки → Админка»

Документация и контракты

  • Описания BUHGALTER_STATIC_EMBED и BUHGALTER_CORS_ORIGINS приведены к фактическому runtime-поведению
  • Синхронизированы спецификации OpenAPI 1.2.0; добавлено поле transaction.category_is_system и описание ограничения для плановых операций системных категорий
  • ru/en локали снова встроены в серверный бинарник; типовой запуск больше не требует BUHGALTER_LOCALES_DIR

Исправлено

Кредиты и прогноз

  • Исправлен регресс: будущий платёж по кредиту (оплата датой в будущем) снова корректно учитывается в прогнозе баланса на главной и на странице счёта в рамках текущего месяца
  • В активации future-операций кредита устранён преждевременный перевод в manual до наступления даты операции

Навигация и счета

  • Исправлен переход на страницу счёта и загрузка страницы при прямом открытии URL
  • Восстановлено действие «сделать основным» на странице счёта

Операции

  • Для системных категорий (кредиты, долги и другие служебные категории) запрещено создавать и обновлять операции с kind=future — backend возвращает ошибку валидации (ERR_SYSTEM_CATEGORY_PLANNED)

UI/UX

  • Дополнительно стабилизирован DateTimePicker: высота календаря и поле даты больше не «скачут» между месяцами/состояниями

Техническое

Миграции

  • 024_credit_bank_and_debit_time
  • 025_notification_password_reset_trigger
  • 026_recurring_operations
  • 027_credit_mortgage_fields

Качество и релиз

  • Тесты backend/frontend и OpenAPI-проверки синхронизированы с контрактами v1.2.0
  • Версия 1.2.0

Коммиты

Changelog

  • f945f4c Ещё несколько багов попутных, с календарём, регрес небольшой был, исправлен
  • 7b6d2c7 Доработки по кредитам. e2e тесты
  • 59b7b93 v1.2.0: добавлена ипотека и периодические операции, доработаны кредиты, добавлено восстановление базы в setup, локали встроены в бинарник

Docker

Вложения docker-compose.yaml, .env и .env.example — compose из репозитория; .env с BUHGALTER_IMAGE_TAG=1.2.0. При необходимости: cp .env.example .env.

docker pull ghcr.io/kai-zer-ru/buhgalter:1.2.0
docker compose -f docker-compose.yaml up -d

Или без compose:

docker run -d --name buhgalter \
  -p 8765:8765 \
  -v buhgalter-data:/app/data \
  -v buhgalter-backups:/app/backups \
  --restart unless-stopped \
  ghcr.io/kai-zer-ru/buhgalter:1.2.0