Загрузка банковской выписки вручную#
Пользователи процесса#
- CONTRACTOR, - AGENT,
Предусловия#
-
Заявка в статусе:
- Импортная заявка: AWAITING_FUNDS
- Экспортная заявка: EXECUTION
-
У пользователя ролей CONTRACTOR, AGENT есть права
- У пользователя есть файл банковской выписки в формате 1С, выгруженный из клиент-банка
Точки входа#
- По ссылке из заголовка
Варианты завершения#
- Импортная заявка:
- В заявках сохранилась информация о поступлении части ожидаемых денежных средств (основной платеж или агентское вознаграждение)
- В заявках сохранилась информация о поступлении всех ожидаемых денежных средств, заявки переведены в работу (статус заявки = COLLECTING_DOCUMENTS)
- Экспортная заявка:
- В заявках сохранилась информация о переводе денежных средств клиенту, заявки переведены в статус REPORT_PREPARATION
Процесс#
Общий вид#
| # | Шаг |
|---|---|
| 1 | Исполнитель выбирает файл банковской выписки |
| 2 | Система считывает из файла Платежные поручения |
| 3 | Система подбирает заявки к платежным поручениям |
| 4 | Система показывает список платежных поручений с подобранными заявками |
| 5 | Исполнитель подтверждает сопоставление платежей с заявками |
| 6 | Система сохраняет платежи в БД |
| 7 | Система переводит полностью оплаченные заявки в следующий статус |
| 9 | Система обновляет статус запроса индивидуальных ставок |
| 9 | Система закрывает список платежных поручений, показывает уведомление, возвращает пользователя на страницу откуда был вызван процесс загрузки |
Выбор файла исполнителем#
Кнопка инициализации загрузки банковской выписки в заголовке доступна пользователем с правом UPLOAD_BANK_STATEMENT
При нажатии на кнопку показывается модальное окно:
Пользователь может выбрать только один файл.
Если пользователь выбирает файл неподходящего формата, система
- не загружает файл, но показывает его название
- на месте ссылки "Загрузить" показывает сообщение об ошибке и кнопку удаления
Если пользователь нажал кнопку удаления, система возвращает модальное окно загрузки в исходное состояние.
При нажатии на кнопку загрузки в заголовке повторно, процесс повторяется заново: список ранее загруженных платежных поручений очищается и наполняется заново
Считывание данных файла банковской выписки#
Пример файла банковской выписки
В процессе загрузки и обработке файла отображается лоадер:
В одном файле выписки содержится несколько документов подтверждающих совершение разных операций по счету.
Каждый документ начинается с атрибута СекцияДокумент, заканчивается атрибутом КонецДокумента
- Система загружает только Платежные поручения
СекцияДокумент=Платежное поручение- присутствует атрибут
ДатаПоступило(входящие платежи) илиДатаСписано(исходящие платежи)
Подбор заявки для Платежных поручений#
Импортная заявка#
Если в платежном поручении присутствует атрибут ДатаПоступило и заполнено поле ПлательщикИНН, то это поступление денег, и его нужно привязывать к импортной заявке.
Выписки с незаполненным ИНН не привязываются к заявкам, но отображаются в форме просмотра платежей с фильтром Все
По одной импортной заявке может быть только два платежных поручения
- у одного сумма равна order.payment.amountCustomer
- у второго сумма равна order.commission.amountCommissionCustomerCurrency + order.commission.amountOperatingCostCustomerCurrency
Других поручений по импортной заявке быть не может
Для каждого загруженного из выписки платежного поручения, у которого присутствует атрибут ДатаПоступило, система:
-
Проверяет, привязано ли оно уже к импортной заявке, т.е. существуют ли такие order.paymentOrder[], у которых:
order.document.direction=IMPORTorder.paymentOrder.numberравен значение атрибутаНомервыпискиorder.paymentOrder.dateравен значение атрибутаДатаПоступиловыпискиorder.paymentOrder.amountравен значение атрибутаСуммавыписки
-
Если нет, то ищет импортную заявку к которой можно привязать по параметрам:
order.document.direction=IMPORT- ИНН клиента, создавшего заявку
order.document.customer.company.inn(для ЮЛ) илиorder.document.customer.person.inn(для ФЛ и ИП) равно значению атрибутаПлательщикИННвыписки - Сумма платежа по заявке
order.payment.amountCustomerили сумма агентского вознагражденияorder.commission.amountCommissionCustomerCurrency + order.commission.amountOperatingCostCustomerCurrencyравна сумме значению атрибутаСуммавыписки - валюта отправителя в заявке
order.payment.currencyCustomerравна валюте счета в поручении (для сравнения ищем валюту в справонике по цифровому коду равному 6-8 символам атрибутаПлательщикСчетвыписки) - к заявке не привязано другого платежного поручения с такой же суммой
- Заявка в статусе AWAITING_FUNDS
В зависимости от того, загружены Платежные поручения ранее или нет, система отображает их на форме в разных группах.
Экспортная заявка#
Если в платежном поручении присутствует атрибут ДатаСписано и заполнено поле ПолучательИНН, то это отправка денег, и его нужно привязывать к экспортной заявке.
Выписки с незаполненным ИНН не привязываются к заявкам, но отображаются в форме просмотра платежей с фильтром Все
По одной экспортной заявке может быть только одно платежное поручение
- сумма равна order.commission.amountTotalCustomerCurrency (уже рассчитанная системой сумма, в зависимости от order.commission.paymentMethod, которую Агент должен перевести клиенту)
Других поручений по заявке быть не может
Для каждого загруженного из выписки Платежного поручения, у которого присутствует атрибут ДатаСписано, система:
-
Проверяет, привязано ли оно уже к заявке, т.е. существуют ли такие order.paymentOrder[], у которых:
order.document.direction=EXPORTorder.paymentOrder.numberравен значение атрибутаНомервыпискиorder.paymentOrder.dateравен значение атрибутаДатаСписановыпискиorder.paymentOrder.amountравен значение атрибутаСуммавыписки
-
Если нет, то ищет заявку к которой можно привязать по параметрам:
order.document.direction=EXPORT- ИНН клиента, в заявке
order.document.customer.company.inn(для ЮЛ) илиorder.document.customer.person.inn(для ФЛ и ИП) равно значению атрибутаПолучательИННвыписки - Счет получателя в заявке
order.payment.accountNumberравно значению атрибутаПолучательСчетвыписки - Сумма по заявке
order.commission.amountTotalCustomerCurrencyравна значению атрибутаСуммавыписки - К заявке не привязано другого платежного поручения с такой же суммой
- Заявка в статусе EXECUTION
В зависимости от того, загружены Платежные поручения ранее или нет, система отображает их на форме в разных группах.
Отображение списка выписок#
В списке все платежи (входящие/исходящие) отображаются общим списком
Колонки#
- Номер - атрибут
Номервыписки - Контрагент
- Для выписки, у которой присутствует атрибут
ДатаПоступило- Наименование - атрибут
Плательщик1выписки - ИНН - атрибут
ПлательщикИННвыписки - КПП - атрибут
ПлательщикКППвыписки. Если КПП отсутствует, разделитель/не отображается
- Наименование - атрибут
- Для выписки, у которой присутствует атрибут
ДатаСписано- Наименование - атрибут
Получатель1выписки - ИНН - атрибут
ПолучательИННвыписки - КПП - атрибут
ПолучательКППвыписки. Если КПП отсутствует, разделитель/не отображается
- Наименование - атрибут
- Для выписки, у которой присутствует атрибут
- Сумма платежа
- атрибут
Суммавыписки - код валюты - из локального справочника валют. Поиск по цифровому коду. Код равен 6-8 символам атрибута
ПлательщикСчетвыписки
- атрибут
- Сумма в заявке
- Для импортной заявки
- сумма - выводится одна из сумм, по которой подобрана заявка
order.payment.amountCustomerorder.commission.amountCommissionCustomerCurrency + order.commission.amountOperatingCostCustomerCurrency
- код валюты -
order.payment.currencyCustomer
- сумма - выводится одна из сумм, по которой подобрана заявка
- Для экспортной заявки
- сумма -
order.commission.amountTotalCustomerCurrency - код валюты -
order.payment.currencyCustomer
- сумма -
- Для импортной заявки
- Заявка
- номер
order.document.number - наименование клиента
- для ЮЛ:
order.document.customer.company.name - для ФЛ:
order.document.customer.person.fio - для ИП:
ИП {order.document.customer.person.fio}
- для ЮЛ:
- номер
Кнопки быстрой фильтрации списка поручений#
Все- все строки банковской выписки.
- строки отсортированы по полям
Контрагент(ИНН),Заявка(Номер) - строки которые уже были ранее привязаны к заявкам отображаются серым шрифтом. Строки не привязанные к заявкам или к которым заявка найдена впервые - черным.
Новые- платежные поручения, для которых впервые найдена заявка и поручение ранее не было привязано к этой заявке
- этот фильтр показывается по-умолчанию после загрузки выписки. Если он пустой, то отображается картинка не найдено
- строки отсортированы по полям
Контрагент(ИНН),Заявка(Номер)
Уже привязанные- платежные поручения, для которых найдена заявка и поручение ранее было привязано к этой заявке
- строки отсортированы по полям
Контрагент(ИНН),Заявка(Номер) - строки отображаются серым шрифтом
Без заявок- платежные поручения, для которых не найдена заявка
- строки отсортированы по полям
Контрагент(ИНН)
Если для какого-то из фильтров не найдено строк, отображается изображение Не найдено

Строка быстрого поиска#
Поиск платежей по вхождению введенного значения в один из атрибутов выписки:
- Для поступлений (поручения с атрибутом
ДатаПоступило)НомерПлательщик1ПлательщикИНН
- Для исходящих платежей (поручения с атрибутом
ДатаСписано)НомерПолучатель1ПолучательИНН
При переключении между фильтрами Все, Новые, Уже привязанные, Без заявок быстрый поиск не очищается и применяется ко всем спискам
Кнопки#
Кнопка Отменить закрывает таблицу с Платежными поручениями, возвращает пользователя на страницу, откуда был вызван процесс загрузки
Кнопка Привязать платежи к заявкам - подтверждает сопоставление платежей и заявок. Недоступна если в фильтре Новые строки отсутствуют.
При обновлении страницы, система возвращает пользователя на страницу, откуда был вызван процесс загрузки.
Подтверждение сопоставления#
| # | Шаг |
|---|---|
| 1 | Исполнитель нажимает кнопку подтверждения в списке Платежных поручений |
| 2 | Система показывает диалоговое окно |
| 2.1 | Если исполнитель нажимает кнопку Отмена, Система закрывает диалоговое окно, показывает список платежных поручений |
| 3 | Если исполнитель нажимает кнопку Привязать платежи, система сохраняет данные о платежах |
- Кнопка
Отмена- закрывает диалоговое окно, показывает список платежных поручений - Кнопка
Привязать платежи- сохраняет информацию о Платежном поручении в заявке
Сохранение информации о Платежном поручении в заявке#
Сохраняются только Платежные поручения, ранее не привязанные к заявкам:
order.paymentOrder.number- значение атрибутаНомервыпискиorder.paymentOrder.date- Импортная заявка: значение атрибута
ДатаПоступиловыписки - Экспортная заявка: значение атрибута
ДатаСписановыписки
- Импортная заявка: значение атрибута
order.paymentOrder.amount- значение атрибутаСуммавыписки
Перевод оплаченных заявок в следующий статус#
-
Импортная заявка:
- заявки, у которых в
order.paymentOrder[]есть две записи на суммыorder.payment.amountCustomerиorder.commission.amountCommissionCustomerCurrency + order.commission.amountOperatingCostCustomerCurrency
система переводитorder.status- COLLECTING_DOCUMENTS
- заявки, у которых в
-
Экспортная заявка:
- заявки, у которых в
order.paymentOrder[]есть запись на суммуorder.commission.amountTotalCustomerCurrency
система переводит в Формирование отчёта: -order.status- REPORT_PREPARATION
- заявки, у которых в
-document.changedAt - текущие дата и время
- показывает сообщение об успешной привязке
- возвращает пользователя на страницу, откуда был вызван процесс загрузки
Обновление статуса запроса индивидуальных ставок#
Описание алгоритма см. в описании ручного перевода заявки в статус DOCUMENTS_COLLECTING







