Перейти к основному содержимому

🧾 План оплат

Таблица на схеме

2.09.25

Схема основных связанных сущностей

2.09.25

📅 Задачи yougile

  • 🔵🟢 Реализовать ITR-447

✏️ Общее описание

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

🔎 Уточнить

🖊️ Общие особенности

  • Начальник может создать дополнительные оплаты, которые не были предусмотрены первоначально и изменить сумму платежей
  • Менеджер и помощник может создать и пересоздать план платежей
  • Менеджер и помощник может изменять даты платежей, формировать счета на оплату
  • План оплат можно пересоздать в следующих случаях:
    • если счета ещё не созданы
    • если все созданные счета имеют статус «Отменён»
    • при этом значения счетов, находящихся в статусе, отличном от «Отменён», не изменяются
  • % на оплату - целое число, но если необходимо ввести определённую сумму, то можно отредактировать значение в плане оплат. Автоматический пересчёт % и суммы специально убран (только для начальника, т.к. такие ситуации крайне редкие. Обычно проценты указываются с шагом в 10%)

📋 Предзаполненные данные

🔐 Доступ

  • Менеджер по продажам (просмотр своих и редактирование своих)
  • Помощник менеджера по продажам (просмотр и редактирование заказов, которые относятся к менеджеру по по продажам с которым он связан)
  • Начальник менеджеров по продажам (просмотр, редактирование, выгрузка отчёта)
  • Бухгалтер (получение)

💻 Веб интерфейс

https://orders.regina.fvds.ru/buyer-orders/00000000-0000-0000-0000-000000000000/edit

Вкладка план платежей

Таблица в заказе покупателя

Кнопка - сформировать план платежей (Менеджер по продажам или Помощник)

Функционал создания (пересоздания) плана платежей:

  • Проверить идёт создание плана (планируемые оплаты для данного заказа ещё не созданы) или пересоздание (планируемые оплаты есть, но их можно обновить - они не затрагивают выставленные счета)
  • Основываясь на данных в оплате заказа создать план платежей по предоплате, оплате перед отправкой и финальной оплатой
    • предоплата - если в заказе заполнено поле Предоплата %. Сумма = Сумма заказа * Предоплата %; % оплаты = Предоплата %; Дата = Дата запуска план; Этап оплаты = Предоплата; Заказ покупателя = текущий; Комментарий = null. Если Дата запуска план не заполнено, то выдвать ошибку с просьбой заполнить
    • Перед отгрузкой - если в заказе заполнено поле Перед отгрузкой %. Сумма = Сумма заказа * Перед отгрузкой %; % оплаты = Перед отгрузкой %; Дата = Дата отгрузки план; Этап оплаты = Перед отгрузкой; Заказ покупателя = текущий; Комментарий = null. Если Дата отгрузки план не заполнено, то выдвать ошибку с просьбой заполнить
    • Окончательная - если в заказе Предоплата % + Перед отгрузкой % < 100. Сумма = Сумма заказа - сумма предоплаты - сумма перед отгрузкой; % оплаты = 100 - Предоплата % - Перед отгрузкой %; Дата = Дата запуска план + Срок поставки в днях (учитывать тип дней); Этап оплаты = Окончательная; Заказ покупателя = текущий; Комментарий = null. Если Срок поставки в днях не заполнено, то выдвать ошибку с просьбой заполнить

Колонки в таблице (два уровня заголовков):

  • Оплата
    • (id)
    • (isEditable - true если есть роль менеджера или помощника и статус Создан или Отправлен)
    • Сумма
    • % (оплаты)
    • Дата
    • Этап (оплаты)
    • Заказ
    • Ответственный
    • Коментарий (узкая колонка на пару слов)
  • Счёт
    • (id)
    • (isEditable - false если хоть один привязанный счёт имеет статус Оплачен)
    • Номер
    • Дата
    • Статус
    • Автор
    • Оплачено
    • Есть ошибки
  • Действия
    • Создать счёт (видна только Менеджеру по продажам или Помощнику. Доступна если Оплата.isEditable=true)
    • Редактировать планируемую оплату (видна всем. Менеджер по продажам или Помощник могут изменить дату или комментарий, Начальник может вручную корректировать данные по оплате. Доступна если Оплата.isEditable=true)
    • Редактировать счёт (видна только Менеджер по продажам или Помощник. Доступна если есть счёт и Счёт.isEditable=true)
    • Просмотр счёта (видна всем. Доступна если есть счёт)

Есть возможность развернуть строку для счетов с оплатой и посмотреть таблицу платежей по этому счёту

при разворачивании отправляется запрос получения данных об оплатах для этого счёта

Колонки

  • (id)
  • Номер платежа
  • Дата
  • Сумма (на этот счёт)
  • Ошибка
Таблица в основном меню (План оплат)

Кнопка - выгрузить оплаты (Начальник менеджеров по продажам) Кнопка - выгрузить платежный календарь (Начальник менеджеров по продажам)

Колонки в таблице (два уровня заголовков):

  • Оплата
    • (id)
    • (isEditable - true если есть роль менеджера или помощника и статус Создан или Отправлен)
    • Сумма
    • % (оплаты)
    • Дата
    • Этап (оплаты)
    • Заказ
    • Ответственный
    • Коментарий (узкая колонка на пару слов)
  • Счёт
    • (id)
    • (isEditable - false если хоть один привязанный счёт имеет статус Оплачен)
    • Номер
    • Дата
    • Статус
    • Автор
    • Оплачено
    • Есть ошибки
  • Действия
    • Создать счёт (видна только Менеджеру по продажам или Помощнику. Доступна если Оплата.isEditable=true)
    • Редактировать планируемую оплату (видна всем. Менеджер по продажам или Помощник могут изменить дату или комментарий, Начальник может вручную корректировать данные по оплате. Доступна если Оплата.isEditable=true)
    • Редактировать счёт (видна только Менеджер по продажам или Помощник. Доступна если есть счёт и Счёт.isEditable=true)
    • Просмотр счёта (видна всем. Доступна если есть счёт)

Есть возможность развернуть строку для счетов с оплатой и посмотреть таблицу платежей по этому счёту

при разворачивании отправляется запрос получения данных об оплатах для этого счёта

Колонки

  • (id)
  • Номер платежа
  • Дата
  • Сумма (на этот счёт)
  • Ошибка
Просмотр
  • модальное окно
Редактирование
Выгрузка платёжного календаря

Открыват модальное окно в котором можно указать диапазон дат и скачать выгрузку при нажатии на кнопку. Дипапазон по умолчанию - от текущей даты плюч месяц

Доступно только начальнику из меню План оплат

Скачивает файл xlsx с колонками:

(Планируемая оплата:) дата, сумма, (Заказ покупателя:) сумма заказа, сумма РРЦ, вероятность, номер заказа, наименование контрагента (имя контрагента через контактное лицо), ФИО менеджера, руководитель (первый с должностью начальник менеджеров по продажам)

Выгрузка Оплат

Открыват модальное окно в котором можно указать диапазон дат и скачать выгрузку при нажатии на кнопку. Дипапазон по умолчанию - от текущей даты плюч месяц

Доступно только начальнику из меню План оплат

Скачивает файл xlsx с колонками:

(Планируемая оплата:) дата, сумма, (Заказ покупателя:) сумма заказа, сумма РРЦ, вероятность, номер заказа, наименование контрагента (имя контрагента через контактное лицо), ФИО менеджера (Ответственный), руководитель (первый с должностью начальник менеджеров по продажам)

(Планируемая оплата:) дата, сумма, (Заказ покупателя:) сумма заказа, сумма РРЦ, сумма доставки, менеджер по продажам (Ответственный), заказ покупателя (Номер), покупатель

🔗 Связанные сущности

🧾 Счет на оплату 📕 Этап оплаты

👨🏽‍💻 API

/Order/PaymentSchedule/ - Swagger - Order API