Автоматизация обработки счетов и чеков с помощью OCR и ИИ
Практика3 минРедакция Innovialabs
Коротко
Конвейер обработки документов состоит из приёма файла, OCR, извлечения полей с помощью ИИ, проверки правилами и выгрузки в учётную систему, а всё, в чём система не уверена, уходит на ручную проверку.
Как устроена автоматизация в двух словах
Автоматическая обработка счетов и чеков — это конвейер из пяти этапов:
- Приём документа: почта, мессенджер, загрузка, сканер.
- OCR — превращение изображения или PDF в текст.
- Извлечение полей — ИИ находит поставщика, ИНН, дату, номер, суммы, НДС, позиции.
- Валидация — правила проверяют, что данные правдоподобны и сходятся.
- Выгрузка в учётную систему или ручная проверка, если что-то не так.
Ключевая идея: машина делает рутину, а человек смотрит только на сомнительные документы.
Этап 1–2. Приём и OCR
Документы приходят в разном виде: PDF с текстовым слоем, фото с телефона, сканы плохого качества.
- Если у PDF есть текстовый слой, OCR не нужен — текст извлекается напрямую и без ошибок распознавания.
- Для фото и сканов полезна предобработка: выравнивание, обрезка, повышение контраста.
- Сохраняйте оригинал файла рядом с результатом — он нужен для проверки и аудита.
- Отсекайте дубли по хешу файла и по связке «поставщик + номер + дата».
Этап 3. Извлечение полей
Здесь хорошо работают LLM и мультимодальные модели: они понимают структуру документа даже без шаблона под каждого поставщика.
Модель получает текст или изображение и возвращает строго заданный JSON:
{
"supplier_name": "ООО Пример",
"supplier_tax_id": "123456789",
"invoice_number": "45",
"invoice_date": "2026-03-14",
"currency": "UZS",
"total": 1500000,
"vat": 0,
"lines": [
{"name": "Услуга", "qty": 1, "price": 1500000}
]
}
Требуйте фиксированную схему и проверяйте её программно: ответ, не прошедший схему, не идёт дальше.
Этап 4. Валидация правилами
ИИ может ошибиться в цифре, поэтому после извлечения работают обычные детерминированные проверки:
- сумма позиций равна итогу (с допуском на округление);
- НДС соответствует ставке и базе;
- ИНН имеет правильный формат, поставщик есть в справочнике;
- дата не в будущем и не слишком старая;
- валюта указана и допустима;
- документ с таким номером от этого поставщика ещё не проводился.
Эти правила дешёвые, понятные и ловят большую часть ошибок распознавания.
Пороги уверенности и ручная проверка
Каждому документу присваивается статус:
| Ситуация | Что происходит |
|---|---|
| Все правила пройдены, уверенность высокая | Автоматическая выгрузка |
| Правила пройдены, но уверенность по части полей низкая | Ручная проверка только этих полей |
| Правило не прошло | Ручная проверка документа |
| Документ не распознан | Возврат отправителю или ручной ввод |
Уверенность можно брать из OCR-движка, из модели или строить по косвенным признакам: совпало ли поле со справочником, сошлись ли суммы.
Пороги начинайте консервативными: вначале почти всё проходит через человека. По мере накопления статистики ошибок пороги ослабляют.
Интерфейс проверки должен показывать оригинал рядом с полями и подсвечивать проблемные места. Исправления оператора сохраняйте — это материал для улучшения промптов и правил.
Этап 5. Выгрузка в учётную систему
- Интеграция идёт через API, обмен файлами или промежуточную базу — зависит от системы.
- Сопоставляйте поставщиков и статьи затрат со справочниками учётной системы.
- Ведите журнал: кто и когда загрузил, что изменил, когда выгружено.
- Персональные и финансовые данные храните с ограниченным доступом.
Частые ошибки
- Доверять результату модели без проверки сумм.
- Не хранить оригиналы и историю правок.
- Сразу ставить агрессивные пороги автоматической проводки.
- Игнорировать дубли — один счёт, присланный дважды, проводится дважды.