Разбор счетов из почты собирается из четырёх шагов: отобрать нужные письма по правилу, вытащить и распаковать вложения, распознать поля документа, записать документ в учётную систему с проверкой. Первые три шага компания в состоянии собрать своими силами за один-два дня на готовых сервисах. Четвёртый почти всегда требует инженера, и именно на нём проекты застревают.
Судьбу связки решает не качество распознавания, а ответ на один вопрос: что делать с документами, в которых машина не уверена. Их всегда 5–25 % в зависимости от того, насколько разношёрстные у вас поставщики. Если для них не сделана очередь ручной проверки с ответственным человеком, автоматизация превращается в тихий источник ошибок в платежах: неверный расчётный счёт, потерянная строка, оплаченный дважды документ.
Ниже — порядок сборки с проверяемым результатом на каждом шаге, список доступов, которые надо получить до начала, восемь конкретных сообщений об ошибках с расшифровкой и расчёт объёма, при котором всё это имеет смысл. Расположение настроек в почтовых сервисах и учётных системах меняется от версии к версии, поэтому описана логика и названия сущностей, а не путь по меню.
Что приготовить до начала
Половина неудачных попыток заканчивается не на технике, а на том, что нужного доступа нет и получить его за день нельзя. Шесть пунктов ниже стоит закрыть до того, как вы откроете первый сервис.
- Отдельный почтовый ящик только под счета. Не общий рабочий, куда приходит всё: правило отбора на общем ящике будет вечно догонять новые типы писем. К ящику нужен доступ по протоколу IMAP и отдельный пароль приложения — обычный пароль при включённой двухфакторной аутентификации не подойдёт.
- Справочник контрагентов с заполненными ИНН. Это единственный надёжный ключ, по которому распознанный документ находит своего поставщика. Сопоставление по названию организации не работает: «ООО Ромашка», «Ромашка, ООО» и «ООО «Ромашка»» — три разных строки для машины.
- Права в учётной системе для служебного пользователя: чтение справочников контрагентов и номенклатуры, создание документов, запись в журнал. Именно для служебного, а не под учётной записью главного бухгалтера — иначе через полгода никто не сможет объяснить, кто провёл документ.
- 200 реальных документов за прошлый месяц. Сотня на настройку, сотня на приёмку, и не показывать вторую сотню тому, кто настраивает. Красивые тестовые счета из шаблона бесполезны: у настоящих поставщиков сканы под углом, печати поверх цифр и таблицы, разорванные между страницами.
- Имя владельца очереди ручной проверки. Не «бухгалтерия», а конкретный человек и его заместитель на время отпуска. Очередь без имени зарастает за две недели, и связка начинает молча копить документы.
- Письменное правило на случай расхождения с заказом. Кто принимает решение, если сумма в счёте больше согласованной, и в какой срок. Без этого правила спорные документы будут висеть в очереди неделями, а поставщик — звонить с вопросами.
Если значимая часть поставщиков уже работает через операторов электронного документооборота, дешевле перевести туда остальных, чем строить распознавание. Документ из ЭДО приходит структурированным, распознавать в нём нечего, ошибок нет по определению. Порядок подключения и то, что требуется от контрагента, мы разбирали в материале о том, как устроен ЭДО и что нужно для старта. Распознавание — это способ дотянуться до тех, кто в ЭДО не пойдёт: мелких поставщиков, подотчётных покупок, разовых договоров.
Четыре шага связки и результат каждого
Шаги идут строго по порядку, и после каждого есть проверка, которую можно выполнить за пять минут. Если проверка не проходит, идти дальше бессмысленно: ошибка первого шага умножается на всех последующих.
- 1Шаг 1. Правило отбора писем
Отбирать надо не по слову «счёт» в теме — так вы соберёте половину рекламы. Рабочее правило состоит из трёх условий, соединённых по смыслу: отправитель входит в список известных доменов поставщиков, письмо содержит вложение подходящего формата, размер вложения больше 20 КБ. Всё, что подошло по двум условиям из трёх, идёт не в мусор, а в отдельную папку на разбор. Получилось, если за прошлый месяц правило отобрало не меньше 95 % писем со счетами и в отобранное не попало ни одной рассылки.
- 2Шаг 2. Извлечение вложений
Из письма достаются все вложения, распаковываются архивы, отбрасываются подписи и логотипы в подвале письма. Отдельно обрабатываются два частых случая: несколько документов в одном письме и счёт, вставленный картинкой в тело письма без вложения. Второй случай в автоматику не берут — его отправляют человеку. Получилось, если на сотне тестовых писем число извлечённых документов совпало с числом, которое вы посчитали глазами, и расхождение объяснено поимённо.
- 3Шаг 3. Распознавание полей
Сервис распознавания возвращает набор полей и по каждому — оценку уверенности. Минимальный рабочий набор: ИНН и КПП поставщика, расчётный счёт и БИК, номер и дата документа, сумма, сумма НДС, ставка НДС, валюта, а также табличная часть с наименованиями, количеством и ценой. Подробный разбор того, какие двенадцать полей извлекают на практике и какие восемь проверок ловят ошибку до проводки, у нас вынесен отдельно. Получилось, если на ста документах доля полностью верно распознанных шапок выше 90 %, а все несовпадения выписаны в таблицу с указанием причины.
- 4Шаг 4. Запись в учётную систему с проверкой
Документ создаётся только после того, как найден контрагент по ИНН, проверено, что такой номер и дата от этого поставщика ещё не заводились, и сумма документа сошлась с суммой строк. Всё, что не прошло любую из проверок, уходит в очередь ручной проверки с указанием, какая именно проверка не прошла. Получилось, если повторная отправка того же письма не создала второй документ, а попытка записать счёт от неизвестного контрагента вернула понятное сообщение, а не молча создала пустого контрагента.
Схема слева направо из четырёх блоков: «Ящик под счета» → «Правило отбора» → «Извлечение вложений» → «Распознавание полей» → «Запись в учётную систему». От блока распознавания вниз идёт вторая ветка в блок «Очередь ручной проверки» с подписью «25 % документов». От блока записи вниз ещё одна стрелка в ту же очередь с подписью «не найден контрагент, дубль, сумма не сошлась». Под первыми тремя блоками сплошная полоса «делается своими силами», под четвёртым — полоса «нужен инженер». Все подписи по-русски, чертёжный стиль.
Чем распознавать: три инструмента, доступные в России
Выбор здесь короткий, и он сузился после ухода ABBYY из России в 2022 году. Три варианта ниже реально закупаются и работают; сравнивать их стоит не по заявленной точности, а по тому, кто будет сопровождать связку через год.
| Инструмент | Что закрывает | Как обычно подключают | На что смотреть |
|---|---|---|---|
| Content AI | Российский преемник ABBYY: ContentReader PDF вместо FineReader, ContentCapture вместо FlexiCapture. Счета, УПД, акты, накладные | Установка в свой контур либо через партнёра-интегратора | Требует настройки под ваш набор форм; результат сильно зависит от того, кто настраивал |
| Smart Engines | УПД, УКД, счета-фактуры, акты, КС-2 и КС-3, ТОРГ-12 и ТОРГ-13, банковские выписки, платёжки, ГТД | Библиотека в своём контуре, распознавание без выхода данных наружу | Сильная сторона — работа со сканами плохого качества; проверяйте на своих худших документах |
| 1С:Распознавание первичных документов | Счета, накладные, УПД и акты сразу в конфигурацию 1С | Штатный сервис внутри 1С, без отдельной связки | Самый короткий путь, если учёт уже в 1С; меньше гибкости в правилах отбора и сверки |
Развёрнутое сравнение первых двух с ценами и режимами поставки мы делали в отдельном разборе Content AI и Smart Engines. Общая рекомендация одна: если учёт живёт в 1С и документы типовые, начинать надо со штатного сервиса 1С — он избавляет от целого шага связки. Отдельный сервис распознавания берут тогда, когда документы разнородные, объём большой или данные нельзя выпускать за пределы своего контура.
Цифры вида «точность 98 %» относятся к чистым документам известного вендору вида и обычно к отдельному полю, а не к документу целиком. Документ считается верно распознанным, только когда верны все поля сразу, и эта доля всегда ниже. Проверять надо на своей сотне документов, включая худшие сканы, и считать долю документов, а не полей, — почему эти два числа расходятся в разы, разбирали в материале о реальной точности распознавания.
Порог уверенности и очередь ручной проверки
Каждое распознанное поле приходит с числом от нуля до единицы — насколько машина уверена. Порог — это граница, ниже которой документ не идёт в учёт, а попадает человеку. Заказчики регулярно просят «убрать этот порог совсем, пусть работает автоматически». Это самая дорогая просьба во всём проекте.
Значение, ниже которого распознанное поле считается ненадёжным и документ уходит в ручную проверку. Задаётся отдельно по группам полей: для суммы и расчётного счёта он всегда выше, чем для наименования позиции, потому что цена ошибки разная. Порог не подбирается на глаз — его выставляют по результатам прогона на своей сотне документов так, чтобы в автоматический поток не попадало ни одной ошибки в сумме и реквизитах.
В модельной связке при пороге, настроенном на реальных документах, 75 % счетов проходят автоматически, а 25 % уходят в очередь. Это не признак плохой настройки. Если долю ручной проверки принудительно опустить до 5 %, ошибки не исчезнут — они просто перестанут показываться человеку и уедут в проводки. Разумный ориентир: доля ручной проверки может снижаться со временем, но не должна опускаться ниже 8–10 %, пока в потоке есть сканы и новые поставщики.
Нарисованный абстрактный экран очереди ручной проверки в чертёжном стиле, без имитации конкретного продукта. Слева — прямоугольник документа со схематичной таблицей позиций. Справа — список полей: ИНН, расчётный счёт, номер, дата, сумма, сумма НДС; два поля обведены рамкой с пометкой «уверенность ниже порога». Сверху строка состояния: «в очереди 100 из 400 за месяц», «среднее время на документ — 2,5 минуты». Внизу три кнопки-плашки: «принять», «править», «вернуть отправителю». Все подписи по-русски.
Сверка до платежа: четыре реквизита
Распознать документ — половина дела. Вторая половина в том, чтобы не заплатить по документу, который распознан верно, но неправилен по сути. Четыре проверки ниже автоматизируются полностью и закрывают почти все случаи, кроме мошеннических.
- 1ИНН поставщика против справочника контрагентов. Не нашлось — документ в очередь. Автоматически заводить нового контрагента нельзя: так в справочнике за год появляются дубли, после которых не сходится ни одна сверка. О том, во что обходятся дубли в справочниках, есть отдельный разбор про дубли клиентов в CRM — в учётной системе механика та же.
- 2Расчётный счёт против того, что записан в карточке контрагента. Расхождение — не ошибка распознавания по умолчанию, а сигнал: поставщик мог сменить банк, а мог и не менять. Такой документ идёт человеку всегда, независимо от уверенности распознавания.
- 3Сумма документа против суммы строк табличной части. Если они не совпали, распозналась не вся таблица. Это самая опасная ситуация во всей связке, потому что документ выглядит нормально: шапка верная, реквизиты верные, а в сумме не хватает одной строки, потерянной на разрыве страниц.
- 4Сумма и позиции против заказа поставщику, если заказ есть. Автоматика ловит превышение суммы и лишние позиции. Что делать с расхождением — решает человек по правилу, которое вы записали до начала настройки. Развёрнутая сверка комплектом документов вынесена в решение автоматическая сверка документов.
Карта связей. В центре узел «Распознанный документ» с полями ИНН, расчётный счёт, номер и дата, сумма, строки. От него три стрелки к узлам: «Справочник контрагентов — сверка ИНН», «Карточка банковских реквизитов — сверка расчётного счёта», «Заказ поставщику — сверка суммы и позиций». Четвёртая стрелка идёт внутрь самого документа с подписью «сумма против суммы строк». Все четыре стрелки сходятся в узел «Разрешение на платёж»; параллельно от каждой отходит пунктир в узел «Очередь ручной проверки». Подписи по-русски, чертёжный стиль.
Сколько это стоит и когда окупается
Модельная компания: оптовая торговля, 400 входящих счетов и УПД в месяц от 90 поставщиков, один общий ящик, учёт в 1С. Замер ручного маршрута по секундомеру дал 6 минут на документ: 1,5 минуты на то, чтобы найти письмо и сохранить вложение, 3 минуты на ввод шапки и позиций, 1,5 минуты на сверку реквизитов и суммы. Ставки в расчёте сквозные: полный час рядового сотрудника — 700 ₽, час инженера — 3 000 ₽.
Тридцать четыре часа настройки раскладываются так: 6 часов на правило отбора и распаковку вложений, 10 часов на подключение распознавания и выставление порогов, 8 часов на сверку реквизитов и справочники, 6 часов на очередь ручной проверки с журналом, 4 часа на приёмку и обучение бухгалтера. Это базовый контур на готовых кубиках. Если добавить прямую запись в 1С с сопоставлением номенклатуры, объём вырастает примерно вдвое.
Теперь тот же расчёт на объёме, который в статьях вендоров обычно не показывают.
Разница между двумя расчётами — только в объёме, всё остальное одинаково. Причина в том, что 6 000 ₽ поддержки и время на разбор сбоев не зависят от числа документов: связку надо сопровождать одинаково при 150 и при 400 счетах. Арифметика даёт две опорные цифры. Ниже 145 документов в месяц связка не окупает собственную эксплуатацию. Чтобы настройка вернулась за год, нужно примерно 320 документов в месяц. Обе цифры пересчитываются под свои ставки за пять минут: экономия на одном документе — около 50 ₽, фиксированные расходы — 7 283 ₽ в месяц.
Линейный график. Ось X — число счетов в месяц от 0 до 600, ось Y — экономия в рублях в месяц от −8 000 до +22 000. Одна прямая линия экономии, пересекающая ноль в точке 145 с крупной подписью «точка безубыточности — 145 документов». Отмечены две точки на линии: 320 документов с подписью «окупаемость настройки за год» и 400 документов с подписью «12 800 ₽ в месяц». Область ниже нуля залита серым с надписью «дешевле разбирать руками». Подписи осей и значений по-русски.
Что пойдёт не так: восемь сообщений и что они значат
Почти все сбои первого месяца укладываются в восемь сценариев. Формулировки в разных сервисах отличаются, но узнаваемы по ключевому слову.
| Что видите | Что это значит | Что делать |
|---|---|---|
| Authentication failed, LOGIN failed | Включена двухфакторная аутентификация, обычный пароль почты не подходит | Завести отдельный пароль приложения для ящика и хранить его в менеджере паролей, а не в переписке |
| Connection refused, IMAP disabled | Доступ по протоколу отключён в настройках ящика или на уровне домена | Включает администратор почты; в корпоративном домене это отдельная заявка на день-два |
| Unsupported media type, не удалось открыть вложение | Документ пришёл в формате, который связка не разбирает: архив в архиве, редкий формат, картинка в теле письма | Отправлять в очередь ручной проверки, а не пропускать молча; типовые форматы добавить в правило |
| 429 Too Many Requests, rate limit exceeded | Сервис распознавания упёрся в лимит запросов, письма копятся в очереди | Растянуть обработку по времени и настроить оповещение, если очередь длиннее суточного объёма |
| Не найден контрагент по ИНН | Поставщика нет в справочнике либо одна цифра ИНН распозналась неверно | Документ в очередь. Автоматическое заведение контрагента запрещать: дубли в справочнике дороже ручной работы |
| Документ с таким номером и датой уже существует | Дубль: письмо пришло дважды или счёт был во вложении пересланной цепочки | Это хорошая ошибка — значит защита от дублей работает. Плохо, если такого сообщения нет вовсе |
| Сумма документа не совпадает с суммой строк | Распозналась не вся табличная часть, обычно теряется строка на разрыве страниц | Всегда в ручную проверку. Самый опасный случай: документ выглядит правильным и проходит взгляд по диагонали |
| Ошибок нет, но документов нет вторые сутки | Правило отбора перестало срабатывать: поставщик сменил тему письма, адрес отправителя или формат вложения | Настроить сторож тишины: если за 24 часа не пришло ни одного документа, ответственный получает сообщение |
Последняя строка таблицы важнее остальных семи вместе взятых. Ошибка видна и на неё реагируют, а тишина выглядит как спокойный день. Порядок настройки такого сторожа и то, что должно быть в тексте оповещения, чтобы его можно было отработать без разбирательства, мы описали в инструкции о том, как проверить, что интеграция работает.
Где кончаются свои силы и когда не надо начинать
Первые три шага — правило отбора, извлечение вложений, распознавание с выгрузкой результата в таблицу — компания собирает сама. Это 1–2 дня работы человека, который умеет читать документацию сервиса и не боится настроек почты. Дальше начинается зона, где экономия на подрядчике оборачивается ошибками в деньгах.
- Запись в учётную систему. Здесь три отдельные сложности сразу: сопоставление номенклатуры поставщика с вашей, защита от повторной записи одного документа и служебные права. Ошибка в любой из них видна не сразу, а на сверке в конце квартала.
- Отказоустойчивость. Очередь, повторные попытки при недоступности сервиса, сторож тишины, журнал с возможностью понять задним числом, что произошло с конкретным письмом. Без этого связка работает ровно до первого сбоя, а потом молчит.
- Персональные данные. Если среди контрагентов есть индивидуальные предприниматели и физические лица, в документах появляются фамилии, паспортные данные и адреса. Это уже контур 152-ФЗ: где лежат файлы, кто имеет доступ, что записано в поручении обработки подрядчику.
Практическая рекомендация: соберите своими силами первые три шага и месяц поработайте так — с распознаванием и ручным переносом в учёт. За месяц вы получите две цифры, которых сейчас нет ни у вас, ни у подрядчика: реальную долю документов, проходящих автоматически, и реальное время на документ в очереди. С этими двумя цифрами разговор о смете на четвёртый шаг становится коротким и предметным.
И четыре ситуации, в которых мы сами отговариваем от проекта. Все четыре проверяются до подписания договора.
- Меньше 145 документов в месяц. Связка не окупает собственную эксплуатацию, и никакая скидка на настройку этого не меняет: 6 000 ₽ поддержки в месяц никуда не денутся. Считайте по своей ставке часа — методику расчёта полной стоимости часа сотрудника мы разбирали в материале сколько стоит ручная работа.
- Большая часть поставщиков готова перейти в ЭДО. Тогда правильный проект — не распознавание, а перевод контрагентов на электронный документооборот. Распознавание останется для хвоста из мелких и разовых поставщиков, и объём этого хвоста надо посчитать до, а не после.
- Номенклатура не сопоставлена и справочники в беспорядке. Если один и тот же товар заведён в трёх карточках, распознавание просто ускорит появление четвёртой. Сначала порядок в справочниках, потом автоматика; иначе вы получите быстрый ввод неверных данных.
- Счета приходят из одной системы одного крупного поставщика. Дешевле договориться о выгрузке в машиночитаемом виде, чем распознавать печатную форму того, что у поставщика и так лежит структурированным. Один разговор экономит весь проект.
И общее соображение, которое стоит держать в голове при любом объёме. Экономия здесь — не в исчезновении бухгалтера, а в том, что его внимание перестаёт тратиться на перепечатывание цифр и переезжает на спорные документы, где оно действительно нужно. Проект, в котором обещают убрать человека из процесса полностью, стоит читать как проект, в котором очередь ручной проверки просто не показана в схеме. Цену одной ошибки в документе, дошедшей до платежа, считали отдельно — она обычно перекрывает всю месячную экономию.
Автоматизировать надо не ввод документа, а решение по документу. Ввод — только повод.
