Все статьи

Извлечь данные из PDF в таблицу с помощью ИИ: поля, пропуски и сверка

Как отдать ИИ пачку PDF и получить одну таблицу: какие PDF подходят, как задать колонки, что делать со спорными полями и как сверить результат с документами.

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

Какие PDF подходят

PDF бывает двух видов, и снаружи они выглядят одинаково.

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

Скан или фото, сохраненные в PDF. Внутри одна картинка страницы, текста нет. Otdano такие файлы не читает: распознавания сканов и фотографий в нем нет. Их нужно сначала распознать отдельно или попросить у отправителя исходный файл.

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

PDF с паролем тоже не откроется. Снимите пароль или попросите файл без него.

Как это выглядит руками и что отдать

Руками это однообразная работа. Открыть первый счет, найти номер, перепечатать в таблицу. Найти дату, перепечатать. Найти поставщика, ИНН, итого. Закрыть, открыть следующий. К двадцатому файлу глаз замыливается: в сумме теряется разряд, дата из соседнего документа попадает не в ту строку, один файл пропускается целиком. Ошибку потом ищут дольше, чем шла перепечатка.

Эту работу имеет смысл отдать перенос данных из документов целиком: приложить файлы, обычными словами описать таблицу и забрать результат с отчетом о том, что сделано и что осталось спорным. К задаче прикладываются TXT, CSV и PDF — до 5 файлов по 10 МБ за раз и до 25 файлов в одной задаче. Если документов больше, разбейте их на несколько задач, например по месяцам или по поставщикам.

Окно «Новая задача» в кабинете Otdano: постановка на сбор таблицы CSV из счетов поставщиков в PDF В поле задачи перечислены колонки таблицы, правило «одна строка — один счет» и колонка «Проверить» для спорных полей. Под полем — строка вложений: форматы TXT, CSV, PDF и пометка «PDF с текстом», то есть без сканов.

Колонки и правила задать заранее

Этот раздел экономит больше всего времени. Чем точнее описана таблица, тем меньше потом правок.

Перечислите колонки и формат каждой. Не «основные реквизиты», а список: файл, номер счета, дата, поставщик, ИНН, сумма без НДС, НДС, итого. Для дат укажите формат ДД.ММ.ГГГГ. Для сумм — числом, без пробелов между разрядами и без знака валюты, копейки через запятую. Иначе в одной колонке окажутся «1 200,00 ₽», «1200» и «1.200», и сложить их не получится.

Одна строка — один документ. Это главное правило. Если счет занимает три страницы, строка все равно одна, а итого берется с последней страницы. Если в одном PDF лежат два счета подряд, строк две, и в колонке «Файл» у обеих одно и то же имя.

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

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

Форма результата

Результат — один файл CSV. Его открывают в любой программе для таблиц, сортируют, складывают, передают дальше. Ниже образец такой таблицы. Данные выдуманы для примера: поставщики условные, ИНН заведомо ненастоящие.

ФайлНомерДатаПоставщикИННИтогоПроверить
schet-001.pdf11802.09.2026ООО «Поставщик 1»770000000114400,00
schet-002.pdf340503.09.2026ООО «Поставщик 2»77000000028250,50
schet-003.pdf7705.09.2026ИП Условный А. А.77000000000331200,00
schet-004.pdf51908.09.2026ООО «Поставщик 1»7700000001schet-004.pdf, с. 2: две суммы «Итого», не ясно, какая к оплате
schet-005.pdf344110.09.2026ООО «Поставщик 2»77000000025600,00
schet-005.pdf344210.09.2026ООО «Поставщик 2»77000000022100,00

В четвертой строке итого пустое, а в «Проверить» сказано, где смотреть и почему. Последние две строки из одного файла: в нем лежали два счета, и каждый получил свою строку.

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

Где извлечение ошибается

Ошибки при извлечении однотипные, их полезно знать заранее.

Перепутаны суммы. В счете есть сумма без НДС, НДС и итого к оплате, иногда еще скидка и аванс. Если в задаче написано просто «сумма», в колонку может попасть любая из них. Лечится названием колонки: «итого к оплате, с НДС».

Дата в другом формате. В одном документе «2 сентября 2026 г.», в другом «02.09.26». Без явного формата таблица получится разнородной.

Число строк не равно числу документов. Строк меньше — какой-то файл пропущен или два документа склеились в один. Строк больше — многостраничный документ разбит на несколько строк.

Таблица внутри PDF разъехалась. Позиции счета в текстовом слое иногда идут не по строкам, а по колонкам, и количество оказывается рядом с чужой ценой. Если вам нужны позиции, а не только шапка документа, проверяйте их отдельно.

Поле подставлено вместо пропуска. Самая неприятная ошибка: в документе нет ИНН, а в таблице он есть — взят из соседнего счета того же поставщика. Правило «пропуск — пустая ячейка» в задаче снижает этот риск, сверка его ловит.

Сверка за десять минут

Таблицу из пачки документов не принимают на веру. Проверка короткая и повторяется одинаково каждый раз.

  1. Посчитайте строки. Число строк равно числу документов. Если в каком-то файле несколько документов, это видно по повтору имени в колонке «Файл».
  2. Сверьте итог. Сложите колонку «Итого» и сравните с суммой, посчитанной независимо: по реестру платежей, выписке, акту сверки. Расхождение показывает, что искать.
  3. Откройте три случайные строки. По имени файла найдите документ и сверьте все поля строки глазами.
  4. Разберите «Проверить» руками. Каждую строку с пометкой откройте на указанной странице и заполните пустую ячейку сами.

Общий подход к проверке результата от ИИ мы разобрали в статье как проверить ответ нейросети.

Пример формулировки

Задачу можно поставить одним абзацем. Возьмите за основу и поменяйте колонки под свои документы:

Во вложении 18 счетов поставщиков в PDF за сентябрь. Собери из них одну таблицу CSV с колонками: файл, номер счета, дата (ДД.ММ.ГГГГ), поставщик, ИНН, сумма без НДС, НДС, итого к оплате. Суммы числом, без пробелов и знака валюты, копейки через запятую. Одна строка — один счет; если в файле несколько счетов, сделай строку на каждый. Если поле не нашлось или читается двусмысленно, оставь ячейку пустой и в колонке «Проверить» укажи файл, страницу и поле. В конце напиши, сколько строк получилось и совпадает ли это с числом счетов.

С чего начать

Возьмите пачку за неделю, а не за год: 10-20 документов одной формы. Проверьте, что в них выделяется текст. Опишите колонки и правило для пропусков, приложите файлы и поставьте задачу. Когда таблица придет, пройдите сверку из четырех шагов. Если на небольшой пачке правила сработали, та же формулировка подойдет для следующей.

Есть задача? Значит, пора ее отдать.

Поставить задачу