v1.2.0
[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_time025_notification_password_reset_trigger026_recurring_operations027_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