1.1 Управление юридическими лицами

Что нужно

Владелец франшизы должен иметь возможность вести реестр юридических лиц — как своего (головного), так и юрлиц партнёров-франчайзи. Это основа для привязки торговых точек, сотрудников, финансов и документооборота.

Два типа юрлиц

ЮЛ Франшизы (головное)

Юрлицо владельца бренда. Одно на всю сеть. Используется для автоподстановки в документы (счета, акты, договоры).

Что нужно хранить:

  • Полное наименование организации
  • ИНН, КПП, ОГРН
  • Юридический адрес (одно текстовое поле, без разбивки по частям)
  • Банковские реквизиты (банк, БИК, расчётный счёт, корр. счёт) — один комплект на ЮЛ
  • Контактный телефон (формат +7) и email
  • Признак “Главное ЮЛ” — одно на всю франшизу, подставляется в документы автоматически

У ЮЛ франшизы нет статуса “Приостановлен” — оно всегда активно.

ЮЛ Франчайзи (партнёра)

Юрлицо партнёра, который работает под брендом франшизы. У одного франчайзи может быть несколько юрлиц. Одно юрлицо принадлежит строго одному франчайзи (не может быть общим на двоих). Одно юрлицо может обслуживать несколько торговых точек.

Что нужно хранить (помимо тех же базовых данных что у франшизы):

  • Номер и дата договора франчайзинга (желательно заполнить, но можно создать ЮЛ без них — дозаполнить позже)
  • Статус: Активен или Приостановлен
  • Кто владелец (какой франчайзи)

Можно создать ЮЛ франчайзи без привязки к конкретному франчайзи — привязать потом.

Что должен уметь делать пользователь

Франшиза (владелец бренда)

  • Просматривать список всех юрлиц в системе
  • Создавать новые юрлица (и свои, и партнёрские — при создании явно выбирает тип: “ЮЛ Франшизы” или “ЮЛ Франчайзи”)
  • Редактировать любое юрлицо
  • Удалять юрлицо (если к нему не привязано ни одной торговой точки — ни активной, ни закрытой)
  • Назначить одно из своих ЮЛ главным (для автоподстановки в документы)
  • Приостановить ЮЛ франчайзи — при этом все торговые точки этого ЮЛ перестают принимать заказы
  • Возобновить ЮЛ (снять приостановку) — торговые точки НЕ возвращаются в публикацию автоматически, нужно опубликовать каждую вручную (чтобы ничего не включилось случайно)
  • Импортировать юрлица из Excel-файла (массовое добавление)

Франчайзи (партнёр)

  • Просматривать только свои юрлица
  • Редактировать: банковские реквизиты, контактные данные (телефон, email), юридический адрес
  • НЕ может менять: наименование, ИНН, КПП, ОГРН, статус, данные договора

Менеджер торговой точки

  • Нет доступа к юрлицам

Кассир

  • Нет доступа к юрлицам

Поля — обязательность и валидация

При создании обязательны:

  • Наименование
  • ИНН (проверка контрольной суммы, не только длины — чтобы нельзя было ввести мусор)
  • ОГРН
  • Юридический адрес

Не обязательны (можно дозаполнить позже):

  • КПП (у ИП его нет — поле просто остаётся пустым)
  • Банковские реквизиты (все четыре поля)
  • Контакты (телефон, email)
  • Номер и дата договора (для ЮЛ франчайзи)

Валидация и маски ввода:

  • ИНН — маска: 10 цифр (ООО) или 12 цифр (ИП), проверка контрольной суммы
  • КПП — маска: 9 цифр
  • ОГРН — маска: 13 цифр (ООО) или 15 цифр (ИП/ОГРНИП)
  • БИК — маска: 9 цифр
  • Расчётный счёт — маска: 20 цифр
  • Корр. счёт — маска: 20 цифр
  • Телефон — маска: +7 (XXX) XXX-XX-XX

Не разделяем ООО и ИП как отдельные типы — определяется автоматически по длине ИНН.

ИНН после создания менять нельзя

Смена ИНН — это по сути другое юрлицо. Если ошиблись при вводе — удалить и создать заново.

Список юрлиц

Колонки:

  • Наименование
  • ИНН
  • Тип (Франшиза / Франчайзи)
  • Статус (Активен / Приостановлен)
  • Количество привязанных ТТ
  • Признак “Главное” (если есть)

Фильтры:

  • По статусу (Активен / Приостановлен)
  • По типу (Франшиза / Франчайзи)

Поиск:

  • По наименованию и по ИНН (ищет по обоим полям одновременно)

Сортировка:

  • По умолчанию по наименованию (А-Я)

Пагинация:

  • 20 записей на страницу, постраничная навигация

Главное ЮЛ:

  • В списке выделяется бейджем “Главное” и закрепляется вверху

Приостановленное ЮЛ:

  • Отображается серым цветом, статус “Приостановлен” красной меткой

Карточка юрлица

  • Все поля юрлица
  • Количество привязанных торговых точек (как число, со ссылкой на список)
  • Вкладки “Сотрудники”, “Документы” — не в MVP, появятся в будущем

Действия — подтверждения

Удаление:

  • Если есть привязанные ТТ (любые, даже закрытые) — показать ошибку со списком этих ТТ и ссылками на них, чтобы пользователь мог перейти и отвязать
  • Если нет привязанных ТТ — модальное окно “Вы уверены? Это действие нельзя отменить”
  • Повторный ввод пароля НЕ нужен

Назначение главного ЮЛ:

  • Модальное окно: “Текущее главное ЮЛ: [название]. Сделать главным: [новое название]? Подтвердить?”
  • Повторный ввод пароля НЕ нужен

Приостановка:

  • Модальное окно с предупреждением: “Будет приостановлено ЮЛ [название]. Следующие торговые точки будут сняты с публикации:” и список ТТ
  • Кнопка “Приостановить”

Возобновление:

  • Модальное окно: “ЮЛ [название] будет возобновлено. Торговые точки потребуется опубликовать вручную.”

Импорт из Excel

Общий процесс:

  1. На странице списка ЮЛ есть кнопка “Импорт из Excel”
  2. Рядом — ссылка “Скачать шаблон” (готовый xlsx-файл с заголовками колонок)
  3. Пользователь загружает заполненный файл
  4. Система проверяет все строки и показывает результат: “Корректных: 485, С ошибками: 15”
  5. Ошибки показываются таблицей: номер строки, поле, что не так
  6. Можно скачать ошибочные строки отдельным Excel-файлом — исправить и загрузить повторно
  7. Кнопка “Импортировать корректные” — подтверждение
  8. Исправлять ошибки прямо в интерфейсе НЕ нужно — проще перезагрузить файл

Ограничения:

  • Только формат .xlsx
  • Максимум 10 000 строк за раз
  • Импортируются только ЮЛ франчайзи (ЮЛ франшизы создаётся вручную — оно одно)
  • Дубликаты ИНН — показываются как ошибка (не пропускаются молча и не обновляют существующую запись)
  • Для больших файлов (больше 1000 строк) — показывать прогресс-бар

Пустые состояния

Франшиза — первый вход, ЮЛ ещё нет:

  • Пустая страница с текстом “Юридические лица пока не добавлены” и две кнопки: “Добавить юрлицо” и “Импортировать из Excel”

Франчайзи — его ЮЛ приостановлено:

  • Видит карточку своего ЮЛ с меткой “Приостановлено”. В систему заходить может, но видит предупреждение что ТТ сняты с публикации.

Аудит-лог

  • В MVP не нужен
  • В будущем: кто создал, кто менял, кто приостановил, когда — в отдельной вкладке карточки ЮЛ

Адаптивность

  • Только десктоп (бэк-офис)
  • Мобильная версия управления ЮЛ не нужна
  • Мобильное приложение — это клиентская часть (заказы), не бэк-офис

Язык интерфейса

  • Только русский

Связи с другими модулями

  • Торговые точки — каждая ТТ привязана к одному юрлицу
  • Сотрудники — сотрудник может быть привязан к юрлицу (не в MVP)
  • Финансы — движение денег ведётся по юрлицам (не в MVP)
  • Документы — счета и акты формируются от имени главного ЮЛ (не в MVP, отдельный модуль)