Распознавание счёта на оплату и создание платёжного поручения в Бухгалтерии 3.0

16.09.26

Интеграция - Распознавание документов и образов

Эта статья — подробный разбор обработки, которая автоматизирует создание платёжных поручений из счетов контрагентов.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Распознавание счёта на оплату и создание платёжного поручения в 1С:Бухгалтерии 3.0:
.epf 20,31Kb
2 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Платёжка ИИ: распознавание счёта на оплату и создание платёжного поручения в 1С:Бухгалтерии 3.0

Если вам приходится руками переносить реквизиты поставщика из входящего счёта в «Платёжное поручение» — эта обработка для вас. С её помощью достаточно выбрать файл счёта (PDF, JPG, PNG, DOCX, RTF, HTML, TXT), обработка сама отправит файл во внешний сервис распознавания, получит реквизиты, найдёт или создаст контрагента с банковским счётом и откроет заполненную форму нового платёжного поручения. Документ вы проверяете и записываете сами — никаких скрытых проведений.

В статье два слоя: сначала сценарий работы для пользователя, потом разбор ключевых методов для разработчиков.

Что в комплекте

Решение состоит из двух частей:

  • Внешняя обработка «Платёжка ИИ» (эта публикация). Подключается как дополнительная обработка заполнения объекта для документа ПлатежноеПоручение в 1С:Бухгалтерии 3.0.
  • Сервис распознавания «ИИ Сканер документов» — небольшое Windows-приложение, которое принимает файл по HTTP и возвращает JSON с реквизитами. Скачивается с Инфостарта. Условно-бесплатное.

Обработка не привязана к конкретному сервису жёстко — она работает с любым эндпоинтом, который принимает POST /api/extract_invoice и возвращает JSON формата, описанного ниже.

Установка и подключение

  1. Скачайте архив с обработкой, сохраните ПлатёжкаИИ.epf в любую папку.
  2. В 1С:Бухгалтерии 3.0 откройте «Администрирование — Печатные формы, отчёты и обработки — Дополнительные отчёты и обработки».
  3. Добавьте новую обработку, укажите файл ПлатёжкаИИ.epf.
  4. Установите и запустите «ИИ Сканер документов» (по умолчанию слушает http://localhost:5000).
  5. Откройте любой документ «Платёжное поручение» (или список) — в командной панели появится кнопка «Распознать счёт и создать платёжное поручение…».

Сценарий работы пользователя

  1. Нажмите кнопку «Распознать счёт и создать платёжное поручение…» — откроется форма обработки.
  2. При необходимости поправьте адрес сервиса (по умолчанию http://localhost:5000).
  3. Выберите файл счёта — кнопка «Выбрать файл…» запускает штатный диалог помещения файла во временное хранилище.
  4. Нажмите «Распознать счёт» — файл уйдёт в сервис распознавания, ответ распарсится и отобразится в поле «Данные распознавания (JSON)». Если по ИНН/КПП уже есть контрагент — он подставится в поле «Контрагент».
  5. Нажмите «Создать / Обновить контрагента» — обработка либо создаст нового контрагента (с головным контрагентом, основным банковским счётом, контактной информацией), либо аккуратно допишет пустые реквизиты существующего.
  6. Выберите вид операции (оплата поставщику / возврат покупателю) и нажмите «Создать платёжное поручение» — откроется форма нового документа ПлатежноеПоручение с заполненными реквизитами, суммой, ставкой НДС и назначением платежа.

Документ не создаётся и не проводится автоматически: пользователь всегда видит итоговый документ и принимает решение.

Архитектура решения

Обработка состоит из двух модулей:

  • Модуль объекта (ObjectModule.bsl, ~1200 строк) — программный интерфейс для серверной логики: поиск и создание контрагента, банка, банковского счёта, формирование значений заполнения для документа. Никакого HTTP здесь нет — это переиспользуемые методы, которые можно дёргать и из других обработок.
  • Модуль формы (Forms/Форма/Module.bsl) — клиентская логика: выбор файла, HTTP-запрос, разбор JSON, передача данных на сервер через временное хранилище, открытие формы нового документа.

Сценарий «распознать → создать/обновить контрагента → создать платёжное поручение» вынесен в форму именно так, потому что HTTP-вызов должен идти с клиента (на сервере 1С нет штатного HTTPСоединение в управляемом режиме под некоторыми сценариями безопасного режима), а все записи в ИБ — только с сервера. Это типовой паттерн для управляемых форм.

HTTP-клиент: отправка файла на распознавание

Это самая интересная техническая часть. Платформа 8.5.x умеет в HTTPСоединение/HTTPЗапрос, но в ней нет готового помощника для multipart/form-data. Поэтому тело запроса собирается руками — четыре кусочка склеиваются через СоединитьДвоичныеДанные:

Разбор адреса сервиса на хост и порт делается вручную — потому что конструктор HTTPСоединениепринимает их отдельными параметрами и не понимает запись host:port сам. Поддерживается http://, https:// (через ЗащищенноеСоединениеOpenSSL), хвостовой / в адресе аккуратно отрезается.

Таймаут выставлен в 120 секунд: распознавание PDF  т.к. модель может быит достаточно медленной, поэтому запас по времени нужен.

Само тело multipart/form-data собирается по RFC 7578:

Граница формируется как WmkBoundary + уникальный идентификатор — это валидный boundary без спецсимволов, которые могли бы сломать парсинг на сервере. Имя файла очищается от пути — иначе сервер может получить C:\Users\...\file.pdf в filename и расстроиться.

7. Разбор ответа и нормализация данных

Сервис возвращает JSON вида:

Разбор — через ЧтениеJSON, ответ всегда приводится к Соответствие:

Чтение = Новый ЧтениеJSON;
Чтение.УстановитьСтроку(ТелоОтветаСтрокой);
ОтветJSON = ПрочитатьJSON(Чтение, Истина);
Чтение.Закрыть();

Формат ответа может различаться: некоторые сервисы кладут реквизиты сразу в data, некоторые — вложенным блоком data.requisites. Обработка умеет и так, и так: если в data нет нужного ключа, но в data.requisites он есть, значение подмешивается:

Все остальные серверные методы (НайтиКонтрагентаПоИННКПП, СоздатьКонтрагента, СоздатьПлатежноеПоручение и пр.) работают уже не с JSON, а с этим Соответствие. Поэтому подмена сервиса распознавания — вопрос формата его ответа, не правки кода.

8. Поиск и создание контрагента, банка, банковского счёта

Все три сущности живут в одной транзакции. На вход — Соответствие с реквизитами, на выход — структура с результатом:

ОбновитьКонтрагента устроен так же, только вместо СоздатьЭлемент()  ПолучитьОбъект(), и запись идёт только если БылиИзменения. Это ключевая гигиена: мы не должны перетирать ручные правки бухгалтера.

Поиск банка по БИК — стандартный:

Если банк не нашёлся — создаётся минимальная карточка с БИК и наименованием. То же самое с банковским счётом: ищем по Владелец + НомерСчета, не нашли — создаём с указанием банка и корр. счёта.

Контактная информация пишется в регистр сведений КонтактнаяИнформация через НаборЗаписей.Отбор, что позволяет обновлять существующие записи вместо дублей.

9. Формирование значений заполнения для платёжного поручения

Это второй важный приём — мы не создаём документ сами, а возвращаем структуру ЗначенияЗаполнения, и форма открывается через ОткрытьФорму с этими значениями. Так пользователь видит итоговый документ и сам решает, сохранять ли его:

 
ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", Результат.ЗначенияЗаполнения);
ОткрытьФорму("Документ.ПлатежноеПоручение.ФормаОбъекта", ПараметрыФормы, ЭтотОбъект);

Структура ЗначенияЗаполнения собирается по метаданным документа — потому что наименования реквизитов в разных конфигурациях могут отличаться (СуммаДокумента / СуммаПлатежа, Валюта/ ВалютаДокумента). Для каждого кандидата проверяется, есть ли такой реквизит в метаданных:

Заполняется основной набор: дата, организация, контрагент, сумма, валюта, оба счёта (организации и контрагента), назначение платежа, вид платежа (Электронно), очередность (5), ставка и сумма НДС, вид операции, номер счёта на оплату.

Отдельное внимание — назначению платежа. Оно собирается по банковским правилам: «Оплата по счёту №… от …», перечень позиций через ;, и строка с НДС в формате «Сумма NNN р. в т.ч. НДС (20%) NNN р.»:

10. Безопасная работа с метаданными

Обработка рассчитана на разные конфигурации (БП, УТ, ERP, КА), где имена и состав реквизитов отличаются. Поэтому в коде два помощника — УстановитьРеквизитБезопасно и УстановитьРеквизитБезопасноЛюбоеИз:

Логика простая: перед присвоением проверить, что такой реквизит вообще есть; не присваивать пустые значения; не трогать реквизит, если значение не менялось (важно для ОбновитьКонтрагента, чтобы не перезаписывать ручные правки). Поиск идёт как по обычным реквизитам, так и по стандартным:

Такой подход — ключ к переносимости обработки между конфигурациями без форка кода.

11. Ограничения и планы

  • Не реализовано: распознавание нескольких файлов за раз, распознавание акта/накладной (только счёт на оплату), Drag-and-Drop в форму, кеширование распознанных данных.
  • Требует доработки под конкретную конфигурацию, если у вас очень специфичные реквизиты контрагента. Все ключевые места отмечены УстановитьРеквизитБезопасноЛюбоеИз — добавить альтернативное имя просто.
  • Безопасность: сервис распознавания запускается на той же машине, что и 1С (http://localhost:5000), поэтому трафик наружу не уходит. Если будете поднимать сервис на отдельной машине — позаботьтесь о HTTPS.
  • Совместимость: обработка проверялась на платформе 8.5.1 в режиме управляемых форм. На 8.3.20+ должна работать без изменений.

В планах: добавить массовую загрузку, поддержать акты и накладные. 

Пишите Ваши вопросы в комментариях, буду рад ответить.

 


 

 

Проверено на следующих конфигурациях и релизах:

  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.203.18

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Учет документов Распознавание документов и образов Бухгалтер Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Одна из наиболее удобных обработок автоматического прикрепления большого количества документов-оригиналов к документам 1С. Для файлов поточного сканирования автоматически определяются начало и конец каждого документа. Поддерживаются штрихкоды, QR-коды, отсканированные PDF документы без штрихкодов, сформированные в ЭДО текстовые PDF документы. Поддерживаются входящие и исходящие документы-оригиналы.

87108 руб.

23.12.2021    17376    35    25    

15

SALE! 35%

Распознавание документов и образов Периферийные устройства Программист Автомобили, автосервисы Россия Платные (руб)

Программа считывает кадры с ip-камер (http - запрос к камере), видео, фото (источники кадров (нет ограничения на их количество) настраивается в конфигурационном файле), находит и распознает номера автомашин и сохраняет в базу db, с сохранением фото номера и автомашины, а также времени детекции.

20740 руб.

31.05.2023    7612    5    5    

10

Учет документов Распознавание документов и образов Системный администратор Программист Руководитель проекта 1С:Документооборот Платные (руб)

Обработка многостраничных файлов PDF с разбиением на отдельные документы по штрих-коду и сохранение документов в отдельные файлы для. Не требуется интернет, внешние утилиты командной строки и т.д. Плюсы: скорость работы, независимость от внешних библиотек или утилит, достаточно большой перечень поддерживаемых типов ШК, возможность фильтрации по формату и данным ШК. Не требует установки (portable), может работать несколько экземпляров ПО на одном хосте с разными настройками.

12200 руб.

07.07.2026    582    2    0    

1

Печатные формы Инструментарий разработчика Распознавание документов и образов 1С 8.3 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:Управление торговлей 11 Абонемент ($m)

Обработка для поиска иконок по фрагменту экрана. Ищет похожие изображения в каталоге файлов, общих картинках конфигурации и стандартной библиотеке платформы. Позволяет самостоятельно извлечь картинки из ресурсов установленной 1С.

1 стартмани

17.09.2026    119    0    SergMuravev    0    

4

Распознавание документов и образов 1С 8.5 1С:Бухгалтерия 3.0 Абонемент ($m)

В современных условиях бухгалтеры и операторы регулярно сталкиваются с задачей ввода реквизитов новых контрагентов в информационную базу. Эта операция, на первый взгляд простая, на практике отнимает значительное время — необходимо вручную переносить данные из карточки организации, скана учредительного документа, счета-фактуры или договора. При этом ошибки при ручном вводе — явление распространенное, а каждая ошибка в ИНН, КПП или банковских реквизитах может привести к серьезным последствиям: от отказа в приеме платежа до проблем с налоговой отчетностью.

1 стартмани

11.09.2026    697    3    user718500    0    

1

Распознавание документов и образов 1С:Предприятие 8 Россия Бесплатно (free)

В типовых бизнес-процессах организаций значительная доля трудозатрат приходится на ручной ввод данных из входящих документов. Счета на оплату, паспорта, анкеты, трудовые книжки, дипломы и другие документы поступают в различных форматах (PDF, изображения, DOCX, RTF, HTML) и требуют переноса реквизитов в учетные системы.

26.08.2026    939    user718500    0    

0

Распознавание документов и образов Бесплатно (free)

Расчёт применимости видеонаблюдения к складским процессам. Разбор для тех, кто внедряет и сопровождает WMS на 1С.

14.08.2026    1264    Michael_Kurkin    17    

7
Для отправки сообщения требуется регистрация/авторизация