Счет на оплату
Счет на оплату фиксирует сумму, которую нужно выставить покупателю по конкретной планируемой оплате. В системе счет связан с заказом покупателя, покупателем, нашей организацией, банковскими реквизитами, договором, планом оплат и фактическими платежами.
Страница актуальна для пользовательской работы в интерфейсе и для фиксации договоренностей по реализации.
Где открыть
Счета на оплату доступны в нескольких местах:
- в карточке заказа покупателя на вкладке План оплат;
- в карточке контрагента на вкладке План оплат;
- в основном меню План оплат;
- в карточке заказа покупателя на вкладке Счета на оплату;
- в карточке контрагента на вкладке Счета на оплату;
- в основном меню Счета на оплату;
- в задачах процесса, где требуется создать или проверить предоплату.
Основная работа со счетом выполняется из таблицы План оплат: там можно создать счет, открыть его на редактирование или просмотр, скачать файл счета и раскрыть связанные платежи.
Вкладки и страница Счета на оплату сейчас используются как списки для просмотра уже созданных счетов. В них отображаются таблицы счетов по заказу, контрагенту или всем доступным заказам. Кнопка редактирования в этих таблицах есть в интерфейсе, но основной рабочий сценарий редактирования реализован через План оплат.
Что показывает таблица счетов
В разных местах таблица показывает разный набор колонок:
| Место | Основные колонки |
|---|---|
| Карточка заказа, вкладка Счета на оплату | наша организация, дата выставления, сумма, договор, статус |
| Карточка контрагента, вкладка Счета на оплату | заказ, наша организация, номер счета, дата выставления, сумма, договор, статус |
| Основное меню Счета на оплату | покупатель, заказ, номер счета, наша организация, дата выставления, сумма, договор, статус |
| Таблица План оплат | номер счета, наша организация, дата выставления, статус, автор, оплачено, есть ошибки |
В таблицах доступны стандартные возможности интерфейса: настройки колонок, фильтры, сортировка, пагинация и сброс настроек таблицы.
Создание счета
Счет создается из строки Плана оплат.
Порядок работы:
- Откройте план оплат по заказу, контрагенту или в общем списке.
- Найдите строку планируемой оплаты, по которой еще нет счета.
- Нажмите действие Создать счет.
- Система подготовит данные счета по заказу и планируемой оплате.
- Проверьте банковские реквизиты, основание, дату, срок оплаты и комментарий.
- Нажмите Сохранить.
- После успешного создания система скачает файл счета в формате docx.
Если у заказа есть договор и в договоре указаны наши банковские реквизиты, эти реквизиты подставляются автоматически и в форме не редактируются. Если договор отсутствует или в нем нет банковских реквизитов, система загружает банковские реквизиты нашей организации и предлагает выбрать подходящие. Если у нашей организации нет банковских реквизитов, пользователь увидит предупреждение.
Редактирование счета
Редактирование доступно из строки Плана оплат, если счет еще можно менять.
Счет можно редактировать только в статусах:
- Создан;
- Отправлен.
Если счет уже оплачен, частично оплачен, переплачен, не оплачен или отменен, система не даст сохранить изменения и покажет текущий статус счета.
В режиме редактирования можно изменить:
- статус;
- наши банковские реквизиты, если они не зафиксированы договором;
- основание;
- признак включения процента оплаты в печатную форму;
- дату выставления;
- срок оплаты;
- примечание.
Нельзя изменить вручную номер счета, покупателя, нашу организацию, заказ, договор, этап оплаты, процент оплаты, сумму и НДС. Эти данные рассчитываются или берутся из связанных сущностей.
Просмотр счета
Если счет нельзя редактировать, но у пользователя есть право просмотра, он открывается в режиме просмотра. Форма такая же, как при редактировании, но все поля доступны только для чтения.
Двойной клик по строке плана оплат выполняет основное действие:
- если счет можно редактировать, открывается редактирование;
- если счет нельзя редактировать, открывается просмотр;
- если счета еще нет и у пользователя есть право создать счет, открывается создание.
Формирование файла
Файл счета формируется в формате docx. Сразу после создания счета файл скачивается автоматически. Для уже созданного счета в строке плана оплат доступно действие Скачать счет.
PDF сейчас не поддерживается. Если вызвать формирование PDF через API, система вернет сообщение, что нужно использовать docx.
Перед формированием docx система проверяет данные. Файл не будет сформирован, если:
- у пользователя нет доступа к заказу;
- у покупателя не заполнен юридический адрес;
- в заказе есть товары без цены или итоговой цены;
- не найден шаблон печатной формы счета;
- запрошен формат, отличный от docx.
В файл попадают банковские реквизиты нашей организации, данные нашей организации и покупателя, номер и дата счета, сумма, основание, НДС, товары заказа, срок оплаты, валюта и сумма прописью. Если в счете указан процент оплаты, в печатной форме добавляется блок частичной оплаты.
Поля формы
Форма счета состоит из двух смысловых блоков.
Параметры счета:
- Статус - отображается при редактировании и просмотре.
- Наши банковские реквизиты - выбираются вручную, если они не зафиксированы договором.
- Основание - текст, который попадет в счет.
- Включать процент оплаты в счет - доступно, если процент оплаты не равен 100%.
- Дата выставления счета - дата документа.
- Срок оплаты - количество дней, по умолчанию 10.
- Примечание - внутренний комментарий.
Информация:
- номер счета;
- этап оплаты;
- процент оплаты;
- сумма;
- НДС;
- валюта;
- покупатель;
- наша организация;
- договор;
- банковские реквизиты, если они зафиксированы договором;
- заказ покупателя.
Автозаполнение и расчеты
При создании счета система заполняет данные автоматически:
| Данные | Как заполняется |
|---|---|
| Номер счета | автоматически по нашей организации и году в формате yy-n, например 25-1 |
| Статус | Создан |
| Дата выставления | текущая дата |
| Покупатель | покупатель из заказа через контактное лицо |
| Наша организация | наша организация из заказа |
| Договор | договор из заказа, если он указан |
| Банковские реквизиты | из договора, если в договоре они указаны |
| Основание | если есть договор, формируется как Договор: №... от ... |
| Сумма | сумма товаров заказа: итоговая цена * количество |
| НДС | сумма счета * процент НДС из условий оплаты заказа / 100 |
| Процент оплаты | процент из строки плана оплат |
| Срок оплаты | 10 дней |
Процент оплаты сохраняется в счете только если в форме включен признак Включать процент оплаты в счет и процент планируемой оплаты не равен 100%. Для оплаты 100% отдельный блок процента в печатной форме не нужен.
Проверки при сохранении
Счет не будет создан или обновлен, если:
- планируемая оплата не найдена;
- у пользователя нет доступа к заказу покупателя;
- в заказе не указана наша организация;
- при редактировании планируемая оплата архивирована или не найдена;
- при редактировании счет находится не в статусе Создан или Отправлен;
- у счета есть договор, а пользователь пытается выбрать банковские реквизиты, отличные от реквизитов договора;
- выбранные банковские реквизиты принадлежат не той нашей организации, которая указана в заказе.
Эти проверки выполняются на сервере, поэтому они срабатывают независимо от того, из какого места интерфейса или API пользователь пытается изменить счет.
Статусы и платежи
У счета есть статусы:
- Создан;
- Отправлен;
- Оплачен;
- Частично оплачен;
- Не оплачен;
- Отменен;
- Переплачен.
Статус меняется вручную при редактировании, пока счет находится в редактируемом состоянии, и автоматически при работе с фактическими платежами. Когда платеж привязан к счету, система сравнивает сумму привязанных платежей с суммой счета:
- привязанных платежей нет - счет считается неоплаченным;
- оплачено меньше суммы счета - счет частично оплачен;
- оплачено ровно на сумму счета - счет оплачен;
- оплачено больше суммы счета - счет переплачен.
В Плане оплат строку счета можно раскрыть и посмотреть связанные платежи. Там же отображаются оплаченная сумма и признак ошибок сопоставления.
Импорт из 1С
Счета можно импортировать из файла xlsx, выгруженного из 1С. Действие доступно на странице заказов покупателя для роли начальник менеджеров по продажам.
При импорте система:
- читает номер счета, дату, автора, покупателя, нашу организацию, сумму, основание, договор, комментарий и банковские реквизиты;
- определяет покупателя по ИНН и КПП;
- определяет нашу организацию по коду из номера счета;
- ищет или создает наши банковские реквизиты по номеру счета и БИК;
- при необходимости запрашивает данные банка через DaData;
- ищет заказ покупателя по номеру заказа и нашей организации;
- для нового счета создает связанную планируемую оплату с этапом Другое;
- для существующего счета обновляет данные по номеру счета и нашей организации;
- ищет договор по номеру и может обновить банковские реквизиты договора, если это согласуется с данными счета;
- ищет или создает автора счета как сотрудника;
- возвращает итог импорта: сколько строк прочитано, сколько счетов добавлено, сколько обновлено и какие предупреждения возникли.
Строка импорта пропускается, если в ней не хватает обязательных данных: номера счета, нашей организации, даты, номера заказа в основании, ИНН покупателя, автора, суммы или банковских реквизитов.
Права доступа
| Действие | Роли |
|---|---|
| Смотреть общий список счетов | начальник менеджеров по продажам, менеджер по продажам, помощник менеджера по продажам; API также разрешает администратору |
| Смотреть счета в карточке заказа | начальник менеджеров по продажам, менеджер по продажам, помощник менеджера по продажам; API также разрешает администратору |
| Смотреть счета в карточке покупателя | начальник менеджеров по продажам, менеджер по продажам, помощник менеджера по продажам, менеджер производства; API также разрешает администратору |
| Создать счет из плана оплат | менеджер по продажам, помощник менеджера по продажам, менеджер производства |
| Редактировать счет | менеджер по продажам, помощник менеджера по продажам, менеджер производства |
| Открыть форму счета для просмотра | начальник менеджеров по продажам, менеджер по продажам, помощник менеджера по продажам, менеджер производства; API также разрешает администратору |
| Скачать docx | начальник менеджеров по продажам, менеджер по продажам, помощник менеджера по продажам, менеджер производства; API также разрешает администратору |
| Импортировать счета из 1С | начальник менеджеров по продажам |
| Смотреть счета при привязке фактического платежа | начальник менеджеров по продажам, менеджер по продажам, помощник менеджера по продажам, менеджер производства, бухгалтер; API также разрешает администратору |
В интерфейсе доступность кнопок дополнительно зависит от доступа пользователя к конкретному заказу и состояния счета.
Данные
Счет хранит:
- номер;
- дату создания;
- дату выставления;
- наши банковские реквизиты;
- нашу организацию;
- основание;
- автора;
- сумму;
- сумму НДС;
- процент оплаты, если он должен попасть в печатную форму;
- покупателя;
- договор;
- статус;
- срок оплаты;
- планируемую оплату;
- примечание;
- связи с фактическими платежами.
Прямая связь счета с покупателем используется для быстрой фильтрации. Покупатель также связан с заказом через контактное лицо, но после выставления счета покупатель в заказе не должен меняться.
API
Основные операции:
| Метод | Адрес | Назначение |
|---|---|---|
| PUT | /Order/PaymentInvoice/init | подготовить данные для создания счета по планируемой оплате |
| GET | /Order/BuyerOrder/:buyerOrderId/PaymentInvoice/table | получить счета по заказу покупателя для таблицы |
| GET | /Order/Buyer/:buyerId/PaymentInvoice/table | получить счета покупателя для таблицы |
| GET | /PaymentInvoice/table | получить общий список счетов для таблицы |
| GET | /Order/BuyerOrder/:buyerOrderId/PaymentInvoice/:paymentInvoiceId | получить счет для формы просмотра или редактирования |
| POST | /Order/PaymentInvoice | создать счет |
| PUT | /Order/PaymentInvoice/:paymentInvoiceId | обновить счет |
| GET | /Order/BuyerOrder/:buyerOrderId/PaymentInvoice/:paymentInvoiceId/docx | сформировать docx |
| GET | /Order/BuyerOrder/:buyerOrderId/PaymentInvoice/:paymentInvoiceId/pdf | PDF сейчас не поддерживается, возвращается ошибка |
| POST | /Order/PaymentInvoice/1C | импортировать счета из файла 1С |
| GET | /Order/InvoicePayment/:invoicePaymentId/PaymentInvoice/table | получить счета для таблицы привязки фактического платежа |
| GET | /Order/InvoicePayment/:invoicePaymentId/PaymentInvoices | получить неоплаченные счета покупателя для привязки платежа |