Назад
Кейсы и истории

Учебный разбор: из PDF-счетов в таблицу

Учебный разбор задачи на перенос данных из PDF-счетов в таблицу: четыре входных файла, ожидаемый реестр, обработка повторов и критерии приёмки.

Учебный разбор: из PDF-счетов в таблицу

Это учебный разбор постановки задачи. Возьмём вымышленную просьбу «перенесите данные из PDF-счетов в таблицу» и покажем, как превратить её в ограниченную задачу с проверяемым результатом. Документы и ожидаемые значения ниже заданы для примера.

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

Исходная просьба и четыре учебных файла

Представим, что сотруднику нужен реестр счетов: поставщик, номер, дата, итоговая сумма, валюта и имя исходного файла. Для обсуждения первой версии зададим четыре вымышленных документа:

  • schet-101.pdf — текстовый PDF согласованного образца: «Учебный поставщик А», счёт 101 от 1 октября 2026 года, 12 500 рублей.
  • schet-102.pdf — второй текстовый PDF того же образца: «Учебный поставщик Б», счёт 102 от 2 октября 2026 года, 8 400 рублей.
  • schet-101-copy.pdf — точная копия первого файла с другим именем.
  • scan-103.pdf — изображение бумажного счёта без текстового слоя.

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

Где провести границу первой версии

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

Текстовый PDF и скан требуют разного подхода. Например, библиотека pypdf извлекает текстовый слой, но не выполняет OCR и не извлекает текст непосредственно из изображения. Это различие объясняется в официальной документации pypdf. Поддержку сканов и проверку распознанных значений выделим в отдельный этап.

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

Как должен выглядеть ожидаемый реестр

Для учебного примера выберем файл Excel в формате XLSX. Если нужен CSV, до работы согласуйте кодировку, разделитель, запись дат и чисел, затем проверьте открытие в используемой программе. Фраза «выгрузить в таблицу» эти детали не определяет.

Ожидаемые строки основного листа в нашем примере:

ИсточникПоставщик и номерДатаСумма, RUB
schet-101.pdfУчебный поставщик А, № 1012026-10-0112 500,00
schet-102.pdfУчебный поставщик Б, № 1022026-10-028 400,00

В самом файле поставщик и номер должны занимать отдельные колонки; здесь они объединены для компактного показа. Суммы согласуем как числовые значения, валюту — отдельным полем. Контрольная сумма двух учебных строк составляет 20 900 рублей. По этому эталону можно проверить будущую обработку.

Что делать с повтором и сканом

Точная копия schet-101-copy.pdf не должна добавлять третью строку в основной реестр. В отчёте обработки для неё нужен статус «Повтор» и указание исходного документа. Правило касается именно одинакового содержимого: совпадение одного имени файла или номера счёта не делает документы равными.

Для scan-103.pdf ожидается статус «Требуется ручная проверка» с причиной «Нет доступного текстового слоя». Файл должен остаться доступен сотруднику. Номер и сумма из такого документа не попадают в подтверждённый реестр автоматически.

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

Критерии приёмки вместо общего «всё работает»

  1. Обе ожидаемые строки совпадают с эталоном по всем согласованным полям.
  2. Суммы записаны числами, даты открываются в согласованном формате, источник каждой строки указан.
  3. Точная копия отмечена как повтор и не увеличивает итоговую сумму.
  4. Скан находится в списке ручной проверки; отсутствующие значения не выдуманы.
  5. Для каждого входного файла есть понятный статус и причина исключения, если она требуется.
  6. Повторный запуск на том же наборе выполняется по согласованному правилу: пересоздаёт отдельный отчёт или корректно дополняет существующий.
  7. Исходные документы сохраняются, а сотрудник получает инструкцию запуска и разбора ошибок.

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

Как превратить разбор в собственную заявку

Пример формулировки: «Нужно собирать реестр из PDF-счетов одного образца. Поля: поставщик, номер, дата, итоговая сумма, валюта, исходный файл. Результат — XLSX и журнал обработки. Точные повторы исключаются из реестра, сканы и неоднозначные документы передаются на ручную проверку. До разработки согласуем образец и эталон ожидаемых строк. Поддержка OCR и загрузка в учётную систему в этот этап не входят».

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

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

Домой
Избранное
Добавить
Чат
Профиль