AI-распознавание чеков: извлечение данных с точностью 94%

На потоке чеков ручной ввод превращается в узкое место: операторы устают, ошибки копятся, закрытие периода затягивается. Мы разрабатываем извлечение данных из чеков под ключ — от разбора сканов до выгрузки готовых данных в вашу учётную программу. Точность распознавания — 94%, а внимание сотрудников остаётся там, где оно действительно нужно.
Часто задаваемые вопросы

Почему извлечение данных из чеков ломается на потоке

Конвейер обработки первичных документов редко ломается на одном документе — он рассыпается на потоке. Сканы с МФУ приходят вперемешку с фото с телефона под углом и при плохом свете, банковские выгрузки — с факсами и повторными отправками. Извлечение данных из чеков, настроенное на ровные квитанции, на такой смеси теряет строки позиций и путает налог с итогом.

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

Дальше — выгрузка. Верно прочитанный чек нужно разложить по полям учётного контура: номенклатура, количество, ставка налога, подразделение — чтобы данные легли в 1С без ручной донастройки. Здесь ошибки не падают, а накапливаются, и доля ручного ввода реквизитов не снижается: оператор всё равно проверяет каждое поле.

Платит за это не отдел ввода, а сверка. Потерянная строка не блокирует приёмку — она всплывает позже, когда акт подписан, а расхождение нужно объяснять. Точность по документу тут ничего не показывает: чек из сорока позиций уходит в ручную правку целиком, хотя тридцать девять строк прочитаны верно.

Дальше разбираем, как это закрывается — контролем на уровне полей, а не документа.

Что меняется после внедрения: точность, скорость, контроль

Первый сдвиг виден на входе: автоматизация ввода документов снимает с оператора рутинную раскладку — поток разбирается пакетами, и время от загрузки скана до готовой записи в учётной системе сокращается с минут до секунд на документ. Узкое место переезжает туда, где оно и должно быть: в проверку спорных случаев, а не в перенос цифр руками.

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

Третий сдвиг — характер ошибок. Исчезают не «любые ошибки», а конкретные классы: потерянные строки в длинных чеках, перепутанные позиции при похожих наименованиях, арифметический разъезд между суммой позиций и итогом. Такие расхождения система ловит на этапе разбора и помечает, вместо того чтобы тихо занести в базу.

Четвёртый сдвиг — управляемость. Доля ручных правок становится метрикой, видимой по дням и по типам поставщиков: если на конкретной сети точность распознавания проседает, это заметно до того, как расхождения накопятся в отчётности. Порог уверенности настраивается, поэтому поток можно вести в строгом режиме или с расширенным автоприёмом — под конкретный риск.

Распознавание чеков: шаблоны, модели и гибридные схемы

Извлечение данных из чеков строится тремя способами, и выбор между ними определяет не «продвинутость» технологии, а стабильность поставщика документов. Если сеть работает с одним-двумя типами кассовой ленты, жёсткий шаблон даёт максимальную скорость и предсказуемый результат; если поставщики и формы меняются каждую неделю, шаблон рассыпается на первой же смене вёрстки.

На смешанном потоке чаще выигрывает гибридная схема: документ сначала проходит дешёвую классификацию по геометрии и якорным зонам, и только чеки, где шаблон не дал уверенности по ключевым полям, уходят на модель. Так массовый однотипный поток обрабатывается без переобучения под каждую новую кассу.

Режим Когда подходит Ограничения
Шаблонное распознавание Один-два типа касс, стабильная вёрстка, фиксированные зоны реквизитов Ломается при смене формы чека; на каждую точку нужен свой набор шаблонов
Модельное распознавание Разнородный поток, разные поставщики, сканы и фото под углом Требует разметки и постоянного контроля качества; редко встречающиеся формы дают просадку
Гибридная схема Смешанный поток: массовый однотипный плюс нестандартные чеки Дороже в поддержке: нужны обе ветки и правила маршрутизации между ними

Выбор режима обработки фиксируется в конфигурации и не требует переписывания логики разбора: новый шаблон подключается отдельно от модели. Это позволяет стартовать с простого варианта, а по мере роста числа поставщиков переводить на модель только ту долю потока, где уверенность шаблона падает.

Как мы ведём внедрение: от разбора сканов до передачи

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

  1. Аудит выборки: собираем 300–500 реальных документов, размечаем поля вручную и фиксируем эталон — базу для последующей проверки точности.
  2. Схема потока: определяем, откуда приходят файлы, в каком виде уходят данные в учётную систему, что делать с дублями и обрезанными полями.
  3. Настройка извлечения: под типовые макеты задаём зоны реквизитов, для остальных — справочник поставщиков и сверку итоговой суммы с суммой позиций.
  4. Замер на тестовой выборке: точность считаем по каждому полю отдельно — дата, сумма, номер, реквизиты, — иначе общий процент маскирует провал на важном реквизите.
  5. Порог уверенности: поле ниже порога уходит оператору вместе с фрагментом изображения, а не молча попадает в базу.
  6. Опытная эксплуатация: несколько недель система работает параллельно с ручным вводом, расхождения разбираем и донастраиваем правила.
  7. Передача и сопровождение: отдаём конфигурации, схему потока, регламент разбора ошибок и порядок дообучения на новых типах чеков.

Что остаётся у вас на руках: артефакты и регламенты

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

  • Конфигурации извлечения — наборы настроек под каждый тип документа (кассовый, товарный, корпоративный чек), пороги уверенности, при которых поле считается распознанным, и правила разбора нестандартных колонок.
  • Схема обработки документов — пошаговый маршрут: приём файла, подготовка изображения, извлечение реквизитов, проверка, выгрузка в учётную систему. С указанием точек отказа и того, что происходит с чеком в каждой из них.
  • Правила валидации реквизитов — сверка суммы позиций с итогом, контрольные разряды ИНН, соответствие ставки налога и суммы, отсечение дат вне допустимого периода. Отдельно описано, что система отклоняет сама, а что уходит в ручную проверку.
  • Справочники и словари — номенклатура, контрагенты, ставки налога, а также порядок их пополнения: кто вносит новую позицию и как она попадает в разбор.
  • Документация проекта — описание логики разбора, известные ограничения, типовые причины падения точности и последовательность действий при их появлении.
  • Регламент сопровождения — кто отвечает за контур, в какой срок реагирует на расхождение в выгрузке и как изменение правил проходит проверку перед выпуском.
  • Инструкция для операторов — как работать с очередью ручной проверки, какие правки допустимы, как исправление возвращается в настройки и становится частью обучающего набора.

Комплект пишется так, чтобы новый инженер или оператор разобрался в системе без обращения к нам — это и есть критерий приёмки, а не список файлов в архиве.

Поток первичных документов: метрики до и после

Заказчик — оптовая компания с распределёнными поставками: около 12 000 первичных документов в месяц приходило в бухгалтерию фото и сканами. Оператор вводил реквизиты руками, один документ занимал 3-5 минут, к концу периода очередь копилась, а закрытие месяца сдвигалось на несколько дней.

Метрики до и после

Показатель До внедрения После
Точность извлечения полей на потоке 91-93% при ручном вводе (ошибки внимания) 94% на полном потоке, без выборки
Время обработки одного документа 3-5 минут ручного ввода 12-18 секунд, включая загрузку
Доля документов с ручной правкой 34% 9%, в основном мятые и засвеченные сканы
Закрытие периода 3 рабочих дня на разбор очереди разбор идёт в день поступления

Что изменили: настроили маршрутизацию по уверенности модели — поля с низким доверием не «додумываются», а уходят оператору с подсветкой сомнительного фрагмента. Так достигается точность на потоке: система честно отдаёт на проверку то, где сомневается, вместо тихой подстановки неверного значения. Результаты разбора складываются в 1С, сверка с поставщиками идёт по распознанным реквизитам.

Что дало эффект

Отдельно настроили контроль качества: каждую неделю сверяем случайную выборку распознанных документов с исходниками и фиксируем, какие типы бланков проседают — правки в правила извлечения вносятся точечно, без переобучения всего конвейера. На потоках с однотипными бланками поставщиков доля правок опускается до 3-4%.

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

Что делать, если часть документов — фото с телефона

Фото с телефона — полноценный входной формат, но не «как есть». Отличий от скана четыре: неравномерная освещённость с тенями и засветами, геометрические искажения из-за наклона, шум сенсора при слабом свете и смаз от движения. Модель, обученная на ровных сканах, теряет точность на таком входе не из-за «плохого зрения», а потому что изображение символов физически другое.

Поэтому перед распознаванием идёт предобработка изображений. Сначала находим границы документа и выравниваем его по четырём углам перспективным преобразованием — наклон перестаёт влиять. Затем оцениваем резкость: если кадр смазан так, что штрихи слились, он не идёт в конвейер, а сразу помечается на повторную съёмку. Дальше — локальная бинаризация по адаптивному порогу: она удерживает тень по краю чека там, где глобальный порог «съедает» половину строки. В конце нормализуем контраст, и выцветшая термобумага читается почти как новая.

После предобработки снимок по свойствам приближается к скану, и дальше работает та же логика, что для документов с роликовой подачи. Устойчивость распознавания даёт не одна модель, а разбор по структуре: сначала находим ожидаемые зоны реквизитов, затем распознаём содержимое поля. Там, где значение проверяется формально — номер, сумма, дата, — включается валидация и автокоррекция похожих символов (ноль и O, единица и l, восемь и B). Ошибку, которую ловит арифметика, человеку отдавать не нужно.

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

На практике конвейер принимает JPEG, PNG, HEIC и PDF-сканы, разбирает несколько чеков на одном фото и снимки с касс разных производителей — от АТОЛ и далее: кегль, шаблон печати и расположение строк у них отличаются, ветка разбора подбирается по геометрии документа. Единственное, что стоит закрепить в инструкции для сотрудников, — снимать чек целиком и не под острым углом: это дешевле, чем восстанавливать нечитаемый кадр вручную.

Технические вопросы, которые задают до старта

Перед стартом инженерные команды задают примерно одни и те же вопросы: что будет с новыми типами документов, как устроен доступ к данным, как разбираются ошибки и можно ли наращивать охват поэтапно. Ниже — ответы по делу, без общих слов.

Чек нового формата сломает распознавание?

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

Как вы получаете доступ к нашим данным?

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

Как разбираете ошибки распознавания?

Каждое расхождение попадает в журнал с указанием поля, документа и версии схемы. Поэтому видно, где теряется точность: на качестве скана, на нестандартной вёрстке или на конкретном реквизите. По этим срезам строим отчёт и закрываем системную причину, а не единичный случай.

Можно ли расширять охват поэтапно?

Да, и это предпочтительный путь. Начинаем с одного типа документа и одного канала поступления, замеряем точность на контрольной выборке, сверенной вручную, и только потом подключаем остальные. Так расширение опирается на подтверждённые цифры, а не на предположения.

Обсудим задачу и вернёмся с оценкой и планом

Разговор о внедрении распознавания начинается не с презентации, а с материалов. Чтобы вернуться с оценкой объёма работ и реалистичным планом внедрения, а не с общими словами, нам достаточно такого набора:

  • выборка чеков в исходном качестве — 30–50 штук, включая мятые, засвеченные и снятые под углом: на них сразу видно, где модель теряет реквизиты;
  • список полей, которые нужно извлекать, с пометкой, какие критичны (сумма, ставка НДС, дата, номер документа), а какие желательны;
  • эталонный разбор по 10–15 чекам из той же выборки — значения, проверенные вручную, с ними мы сравним результат распознавания;
  • описание приёмника данных: куда уходит результат (учётная система, хранилище, таблица) и в каком формате его ждут;
  • профиль потока: сколько документов в сутки в среднем и в пик, нужна ли обработка в момент сканирования или допустима пакетная;
  • ограничения по контуру: где разрешено размещать данные и кто получает к ним доступ.

По этим материалам мы делаем пробный запуск на выборке и показываем точность по каждому полю отдельно, а не одну усреднённую цифру — так видно, какой реквизит придётся дообучать. Дальше согласуем план внедрения: этапы, точки контроля качества, порядок разбора ошибок на ваших же документах. Опишите задачу и пришлите выборку — вернёмся с оценкой и планом.

Направления AI-разработки

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1394
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1369
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    816
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1141