Мы сторонники электронного документооборота с клиентами и поставщиками, в котором отсутствует проблема/задача возврата/сканирования бумажных оригиналов. Оригиналы документы подписанные по ЭДО всегда доступны в электронном виде. По разным причинам остается массив документов с контрагентами, которые не участвуют в электронном документообороте и требуется возврат и сканирование бумажных оригиналов.
Примеры таких документов: УПД, счет-фактура, транспортная накладная, договор, спецификация, дополнительное соглашение, акт выполненных работ и т.д.
Есть две основные задачи, связанные со сканами оригиналов первичных документов с контрагентами:
Хранить сканы оригиналов, в том числе на случай утраты бумажного оригинала.
Предоставлять сканы оригиналов в гос. органы, например, при запросе от ФНС.
Сложности: сканировать оригиналы первичных документов, упорядочивать хранение, оперативно находить среди сканов нужные документы по запросу.
До последнего времени обработкой бумажных оригиналов занимались менеджеры по документообороту, т.е. ручное: упорядочивание, сканирование, хранение, выборка. Объем документов - несколько тысяч экземпляров в месяц.
Далее, на примере транспортных накладных, описан способ автоматической идентификации сканов и их хранения с привязкой к документам в 1С. А когда скан хранится в 1С, то такие документы легко найти выгрузить по запросу.
Штрихкодирование документов для распознавания сканов, идентификации и хранения в 1С
Штрихкоды в печатных формах документов, на ценниках или этикетках в 1С, как правило, используются для идентификации с помощью сканера штрихкодов или ТСД.
Как правило, штрихкод в 1С кодирует УИД документа в формате Code 128 высокой плотности, который позволяет кодировать цепочку символов произвольной длины.
Идея автоматизации: идентифицировать сканы первичных документов по штрихкоду.
Быстрое тестирование показало, что штрихкод отсканированного документа не поддается распознаванию, так как после сканирования штрихкод становится нечитаемый из-за высокой плотности формата Code 128.
Затем были проверены другие популярные форматы штрихкодирования (QR-код, DataMarix, EAN-13):
QR-код и DataMatrix на выходе давали низкий процент распознавания после сканирования (~50)
EAN-13 оказался наиболее подходящим из-за низкой плотности (EAN-8 тоже подходит, но слишком маленькая разрядность для кодирования)
Другая особенность компоненты BarcodeRecognitionAddIn в 1С, которую мы используем для распознавания штрихкодов со сканов - должны быть заданы координаты QR-кода, что усложняет процесс распознавания.
Общая особенность распознавания штрихкодов со сканов - потеря качества после сканирования оригинала документа. Как в пример ниже, документы со сканированием в качестве 200 dpi не читаемые. Поэтому мы перешли на качество 300 dpi (отрицательный момент - увеличивает размеры файлов для хранения).
Другая проблема сканов с качеством 300 dpi - потеря качества при ч/б сканировании. Цветное сканирование позволяет этого избежать, минус - увеличен размер файла скана. Наглядное сравнение видно при увеличении штрихкода после сканирования в двух разных режимах.
Еще одна проблема - фантомные штрихкоды, которые случайно распознаются. Пример:
Задача №1: идентифицировать документы 1С с помощью штрихкода
Возникла первая задача идентификации документа 1С, из которого выполняется печать первичного документа. УИД документа в 1С 8275005056b84a2d11eddeaee1857d5a
содержит 32 символа, что не позволяет его использовать в формате EAN-13. Другой ньюанс в том, что некоторые печатные формы (например, счет-фактура) могут быть рапечатаны из разных документов в 1С.
С другой стороны, большинство документов в 1С имеют нумерацию в пределах года. Т.е. внутри года номер документа для вида документа 1С является уникальным. Поэтому мы реализовали кодирование штрихкода в формате EAN-13 для идентификации документов 1С:
первые 2 цифры кодидуют вида документа 1С
следующие 2 цифры кодидуют год для идентификации по номеру документа 1С (или сразу номер, если нумерация сквозная и не в пределе одногогода)
остальные цифры кодируют номер документа 1С с учетом префикса, из которого напечатан первичный документ
Пример штрихкода транспортной накладной в формате EAN-13, который успешно распознается после сканирования документа благодаря низкой плотности.
Как выглядят настройки штрихкодирования EAN-13 для документов в 1С
Задача №2: распознавать пачки отсканированных документов и хранить сканы в 1С
Сканирование и распознавание одного документа - это половина решения. Если менеджер по документообороту будет отдельно сканировать каждую транспортную накладную, то процесс особо не улучшается, а усложняется.
Идея автоматизации: сканировать пачки документов и разбивать на отдельные файлы для хранения в 1С - без участия менеджера по документообороту.
Для распознавания штрихкодов в формате EAN-13 используется стандартная компонента 1С BarcodeRecognitionAddIn. Особенность компоненты в том, что она распознает штрихкоды EAN-13 только с изображений (сканы мы храним в формате PDF). Поэтому было решено использовать утилиту ImageMagick, которая умеет разбирать PDF на изображения и собирать обратно.
Для сканирования пачек документов на МФУ настроена сетевая папка, куда сохраняются все отсканированные документы.
Принцип автоматического распознавания сканов документов по штрихкоду следующий:
Сотрудники сканируют пачки документов в сетевую папку
Обработка в 1С каждые 15 минут считывает файлы из сетевой папки
Каждая пачка PDF разбивается на отдельные страницы
Затем каждая страница распознается отдельно
Распознанные и нераспознанные страницы в исходном виде объединяются в файлы (транспортная накладная - это 1 файл из 2-х страниц)
Распознанные файлы идентифицируются с документами 1С и сканы сохраняются в них
Нераспознанные файлы загружаются в 1С и ожидают ручной привязки ответственным к документам 1С
Таким образом, мы получаем скан-архив с адресным хранением документов в 1С.
Как выглядит процесс распознавания сканов с точки зрения пользователя в 1С
Пачки документов могут содержать любое количество страниц. Главное, чтобы в одной пачке содержались документы одного вида, например, только транспортные накладные. Порядок и последовательность документов в пачке может быть любая.
После сканирования на МФУ каждой пачки документоа ответственный менеджер получает задачу на рабочий стол в 1С: пачка распознана с ошибками или без ошибок.
Пример пачки отсканинрованных документов до распознавания
Примеры документов, когда штрихкод скана нераспознан автоматически
При наличии ошибок автоматического распознавания сканов ответственный менеджер формирует отчет по истории импорта сканов.
Когда документ не распознан, ответственный прямо из отчета делает привязку файла скана к документу 1С этого вида.
По такому же принципу штрихкодируются печатные формы, сканируются пачки и распознаются сканы других видов первичных документов, которые автоматически сохраняются в 1С.
Кроме транспортных накладных, к ним относятся: УПД и счета-фактуры, договора с клиентами и поставщиками, дополнительные соглашения, спецификации к договорам, протоколы цен, акты выполненных работ. Т.е. практически все исходящие документы из наиболее массовых.
Результативность системы распознавания сканов документов в 1С по штрихкодам в формате EAN-13 составляет > 95%.
Возможно, у вас есть другие способы решения подобной задачи. Поделитесь в комментариях.