Извлекаем данные из PDF в Excel с помощью ИИ

Для переноса счетов из PDF в Excel сначала задайте поля, которые нужно получить. Затем поручите нейросети извлечь значения вместе с номерами страниц и проверьте суммы. Название поставщика, номер документа и итоговая стоимость должны оставаться связаны с исходным файлом.

Извлекаем данные из PDF в Excel с помощью ИИ

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

Разберём извлечение данных из PDF с помощью ИИ на счетах поставщиков. Тот же порядок подходит для актов и коммерческих предложений, если заранее определить их поля.

Какие PDF можно сразу передавать нейросети

Откройте один документ и попробуйте выделить текст. Если название компании и сумму можно скопировать, в файле есть текстовый слой. Для первого прогона используйте именно такие документы.

Если страница ведёт себя как цельная картинка, потребуется распознавание текста, или OCR. Для работы с ней выберите инструмент, который умеет читать изображения страниц. Если используемый чат получает только извлечённый текст, содержимое скана ему может быть недоступно.

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

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

Кстати, если вы хотите протестировать все самые свежие модели уровня Claude Sonnet 5, GPT-5.6 или Gemini 3 в одном удобном месте и сравнить их ответы без костылей с иностранными картами - на платформе SYNTX.AI это можно сделать за пару кликов.

По промокоду NEIROSKUF дадут 15% скидку на все тарифы.

Какие поля извлекать из документов

Разделите сведения о документе и его товарных позициях.

На уровне документа нужны имя файла, номер, дата, поставщик, валюта и итоговая сумма. На уровне позиции - название, количество, единица измерения, цена и сумма строки.

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

Для общей информации задайте такие поля.

document_id source_file document_number document_date supplier currency document_total total_page status comment

Для товарных позиций подготовьте второй набор.

document_id line_number item_name quantity unit unit_price line_total source_page status comment

document_id связывает позиции со счётом. Присвойте его заранее, например D001, D002 и D003. Номер из самого документа храните отдельно - одинаковые номера могут встретиться у разных поставщиков.

Для status достаточно трёх значений. extracted означает, что значение извлечено, но ещё требует предусмотренной проверки. needs_review указывает на сомнение или расхождение. not_found используется, когда сведения не найдены.

Промпт для извлечения данных из PDF

Загрузите пробные документы в инструмент с поддержкой PDF и передайте схему полей. Первый запрос должен ограничивать свободу обработки.

Извлеки сведения из приложенных PDF по заданным полям. Подготовь отдельно записи документов и их товарные позиции. Связывай их через document_id. Сохраняй имена исходных файлов. Для каждой позиции и итоговой суммы указывай номер страницы, считая от первой страницы PDF. Не придумывай отсутствующие значения. Если поле не найдено, оставь его пустым и поставь not_found. Если символы читаются неоднозначно или непонятно, к какой позиции относится значение, поставь needs_review и объясни причину. Не исправляй цифры ради совпадения итогов. Номер документа, артикулы и другие идентификаторы сохраняй как текст, включая ведущие нули. Повторные заголовки на следующих страницах не считай товарными позициями. Пока не объединяй одинаковые товары и не пересчитывай единицы измерения.

Последние ограничения нужны для сохранения исходного содержания. Две одинаковые позиции могут относиться к разным партиям или иметь разные цены. Объединять их до проверки не стоит.

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

Как проверить распознавание сумм

Для примера возьмём счёт с двумя позициями. Первая содержит три единицы по 2400 рублей на сумму 7200 рублей. Вторая - две единицы по 650 рублей на сумму 1300 рублей. Доставка стоит ещё 500 рублей. Итог документа составляет 9000 рублей.

Проверка начинается со строк. Три умножить на 2400 равно 7200. Два умножить на 650 равно 1300. Затем складываются суммы позиций и отдельно указанная доставка.

Если нейросеть прочитала 2400 как 240, первая строка не сойдётся. Это повод открыть исходную страницу. Автоматически дописывать ноль нельзя, даже если такой вариант кажется очевидным.

Передайте извлечённые данные на отдельную проверку.

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

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

Для меня проверка итогов - способ найти часть ошибок. Если модель поменяла местами названия двух товаров, общая сумма останется правильной. Поэтому одной арифметики недостаточно.

Извлекаем данные из PDF в Excel с помощью ИИ

Что делать с нечитаемыми и пропущенными полями

Пустая ячейка должна иметь объяснение. Значение может отсутствовать в документе, плохо читаться или не попасть в обработанную страницу. Это разные ситуации.

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

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

Удобно дать дополнительное задание.

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

После этого открывайте отмеченные страницы и уточняйте значения. Если файл повреждён или скан слишком размытый, запросите другую копию. Повторение того же промпта не восстановит отсутствующие символы.

Как перенести результат в Excel

Для переноса данных из PDF в Excel удобно использовать два CSV-файла. Один содержит сведения о документах, второй - позиции. Формат и порядок колонок должны совпадать для всей партии.

Попросите подготовить выгрузку.

Сохрани проверенные результаты в два CSV-файла по согласованным схемам. Используй UTF-8 и точку с запятой как разделитель полей. Сохрани одинаковый порядок колонок. Не добавляй пояснения перед заголовками. Для числовых значений используй единый десятичный разделитель. Не включай обозначение валюты в поле суммы. Поля, содержащие разделитель, перенос строки или двойные кавычки, оформи по правилам CSV. Сохрани статусы, комментарии и связь с исходными файлами.

Откройте CSV через импорт данных в Excel. При импорте проверьте кодировку, разделитель и типы колонок. Номера документов и артикулы задайте как текст, чтобы сохранить ведущие нули.

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

Как обработать всю папку документов

После проверки пробной партии сохраните схему полей и промпты. Остальные файлы обрабатывайте по тем же правилам.

Ведите отдельный перечень исходных документов с их document_id. Для каждого фиксируйте состояние обработки. Файл, который не удалось прочитать, должен остаться в этом перечне с объяснением.

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

При объединении результатов сверьте количество входных файлов и обработанных документов. Затем проверьте, что каждая товарная позиция связана с существующим document_id.

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

Извлекаем данные из PDF в Excel с помощью ИИ
99
22