← Все инструкции

РУКОВОДСТВО · ОБНОВЛЕНО 2026-09-16

Нейросеть для счетов и актов: как извлекать поля и проверять результат

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

Задайте схему полей до обработки: тип документа, номер, дата, контрагент, ИНН, валюта, итог, налог и строки. Извлекайте текст или изображение страницы подходящим методом, затем требуйте структурированный результат и проверяйте его кодом. Пустое или сомнительное поле отправляйте на ручную сверку; модель не должна выдумывать реквизиты, чтобы заполнить обязательный JSON.

1. Определите целевую карточку документа

Для счёта сохраните document_type, number, date, supplier_name, supplier_tax_id, currency, subtotal, tax_amount, total и массив строк. Для акта важны период, стороны, перечень услуг и подписанты. У каждого поля укажите тип, обязательность и источник: страница и фрагмент документа. Не объединяйте сумму без налога и итог к оплате в одно поле. Схему тестируйте на реальных обезличенных образцах разных поставщиков, включая сканы и документы без части реквизитов.

2. Выберите путь чтения по качеству входа

Если PDF содержит доступный текст, сначала проверьте извлечение обычным парсером. Для сканов и таблиц может потребоваться OCR или мультимодальная модель, понимающая расположение элементов. Сравните два пути на одном наборе документов: неверно распознанная цифра в ИНН опаснее пропущенного пробела. Не обещайте, что одна LLM заменит специализированный процессор на любом языке и качестве скана. Для каждой ошибки сохраняйте исходную страницу, а не только ответ модели.

3. Потребуйте поля с признаком неопределённости

Вывод может содержать значение, страницу, короткое подтверждение из документа и статус found, missing или conflict. Для отсутствующего ИНН лучше null и статус missing, чем правдоподобные цифры. JSON Schema помогает ограничить типы и допустимые поля, если конкретный маршрут поддерживает структурированный вывод. Даже строго валидный JSON может содержать неправильный итог; модельное поле не становится бухгалтерской истиной из-за правильной формы.

4. Сверьте арифметику и реквизиты отдельно

Код проверяет формат даты и ИНН, валюту, сумму строк, налоги и соответствие итога. Нормализуйте десятичный разделитель и пробелы в суммах без округления на глаз. При расхождении показывайте оператору исходный фрагмент и оба значения. Если документ упоминает аванс, скидку или несколько налоговых ставок, простая сумма строк может не совпасть с оплатой; такие случаи помечаются, а не исправляются моделью автоматически.

5. Оцените качество на цене ошибки

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

Частые вопросы

Нужен ли OCR, если есть мультимодальная модель?

Зависит от качества и структуры документов; сравните точность, стоимость и проверяемость двух подходов.

Почему одного JSON Schema недостаточно?

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

Что делать с пустым или противоречивым полем?

Сохранить статус неопределённости и отправить документ на ручную сверку.

Можно автоматически проводить счета после распознавания?

Сначала нужна отдельная приёмка качества, проверки реквизитов и контроль критических ошибок.

Источники

Калькулятор стоимости →