🧾 Счет на оплату
Таблица на схеме

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

📅 Задачи yougile
🔵🟢 Реализация взаимодействия со счетами ITR-137 (устарело, много смежных выполненных задач)- 🔵🟢 Реализация взаимодействия со счетами ITR-349
- 🔵🟢 Реализация взаимодействия со счет-договорами ITR-357
✏️ Общее описание
После оформления заказа можно выставить счёт заказчику. Варианты счёта включают обычный, с частичной оплатой, счёт-договор. Счет-договор оформляется в случае, если заказ создается без предварительного договора. При создании в счете автоматически проставляется необходимая сумма согласно описанию в заказе
🔎 Уточнить
🖊️ Общие особенности
- Номер счета присваивается автоматически и нумеруется по порядку для выбранной нашей организации. Каждый год нумерация начинается заново с первого номера. Формат номера включает год и порядковый номер с начала года, например, 25-1
- Если выбран счёт-договор, то в базе данных создаётся договор с типом «счёт-договор», и данный счёт связывается с этим договором
- Таблицу со счетами можно просматривать в трёх местах: 1. в основном меню — там отображаются все счета; 2. в карточке контрагента — можно увидеть счета, связанные с этим контрагентом; 3. в заказе — доступно просмотр счетов по конкретному заказу и возможность создания нового счета
- В счёте предусмотрена прямая ссылка на покупателя, что нарушает принципы нормализации базы данных. Однако для ускорения фильтрации и в связи с невозможностью изменения покупателя в заказе было принято решение использовать такой подход
- Счёт формирует менеджер по продажам или его помощник.
- Поставщик — это наша организация, информация о котором берётся из заказа покупателя.
- Сумма НДС указывается на основании данных из заказа покупателя.
- Счета на оплату в 1С бухгатерии не привязываются
- Статус счёта меняется автоматически при поступлении платежа (на частично оплачен, оплачен, при ручном отвязывании - не оплачен). Менеджер должен перепроверить и после его подтверждения заказ уходит в работу.
- Счета выставляются на основе платёжного календаря, который формируется на основе данных о предоплате и оплате в заказе покупателя
📋 Предзаполненные данные
🔐 Доступ
- Начальник менеджеров по продажам (просмотр)
- Менеджер по продажам (просмотр и редактирование если есть доступ к заказу покупателя)
- Помощник менеджера по продажам (просмотр и редактирование если есть доступ к заказу покупателя)
- Бухгалтер (получение)
💻 Веб интерфейс
https://orders.regina.fvds.ru/xxxxxxxxxxxxxxxxxxxxxxxxx
Таблица в заказе
Таблица внутри заказа
Колонки:
- Номер счёта
- Наша организация (скрыта)
- Дата
- Итого
- Договор
- Статус
Таблица в контрагенте
Таблица внутри контрагента
Колонки:
- Заказ
- Наша организация
- Номер счёта
- Дата
- Итого
- Договор
- Статус
Общая таблица в меню
Таблица по всем контрагентам в вехнем меню
Колонки:
-
Покупатель
-
Наша организация
-
Заказ
-
Номер счёта
-
Дата
-
Итого
-
Договор
-
Статус
Просмотр
- модальное окно Форма такая же как форма редактирования, но без возможности изменять (readonly)
Создание счёта (новое)
модальное окно При открытии с бекенда запрашивается необходимая информация для отображения в форме:
- Итого - Сумма заказа — сумма всех товаров в заказе.
- НДС — рассчитывается как (итого * НДС / 100) из данных заказа.
- % оплаты - из плана оплат
- Этап оплаты - из плана оплат
- Валюта — берется из данных заказа.
- Покупатель — выбранный для данного заказа покупатель.
- Наша организация - из заказа. Если не указана в заказе, то возвращать ошибку - требовать заполнить организацию в заказе.
- Наши банковские реквизиты - брать из договора. Если нет, то null
- Основание - Если есть договор, то "Договор: № _ от 09.10.2019"
- Наши банковские реквизиты* - если получено значение с бекенда, используем его; в противном случае, если есть только одно возможное значение, устанавливаем его автоматически
- Договор - договор из заказа
- Срок оплаты* - по умолчанию 10
Модальное окно:
- Слева информационные поля (не редактируемые): Итого, НДС, Оплаченная сумма, Валюта, Покупатель, Наша организация, Договор, Этап оплаты, % оплаты;
- Справа поля счёта (редактируемые): включить % оплаты в счёт (по умолчанию true, если false тогда в счёте этот блок не будет отображаться. Доступен если % оплаты != 100), Наши банковские реквизиты, Основание, Дата, Срок оплаты, Комментарий;
После создания счёта сразу происходит скачивание файла
Если в заказе нет оплаченных счетов, то у всех товаров обновлять рекомендуемую цену

Редактирование счёта (новое)
модальное окно Запрашивается и отображается в форме информация о счёте:
- (id)
- номер (не ред.)
- статус
- дата
- наши банковские реквизиты (если есть договор, то не редактируемое)
- основание
- Покупатель (не ред.)
- Наша организация (не ред.)
- Итого (не ред.)
- НДС (не ред.)
- % оплаты (не ред.)
- валюта (не ред.)
- срок оплаты
- договор (не ред.)
- этап оплаты (не ред.)
- включить % оплаты в счёт (бек - если заполнен в счёте и не 100, то true)
- комментарий
- (isEditable = true - если статус "создан" или "отправлен")
Создание файла счёта
скачивание присходит сразу после создания и есть кнопка сформировать файл повторно
Создание счёта-договора
Кнопка создания находится только в заказе покупателя
Поля: Номер - не редактируемый - заполняется автоматически Дата выставления счёта - по умолчанию устанавливать текущую Наша организация Наши банковские реквизиты - если одни, то устанавливать автоматически
Редактирование счёта-договора
🔗 Связанные сущности
- ⭐ Заказ покупателя
- 🧾 Платёж по счёту
- 🧾 Банковские реквизиты
- 🧾 Договор
- 📕 Валюта
- 📕 Статус счёта
- 🧾 План оплат
👨🏽💻 API
/Order/PaymentInvoice/ - Swagger - Order API