Как извлечь позиции счёта с помощью ИИ и сверить итоги

Как извлечь позиции счёта с помощью ИИ и сверить итоги

Olivia Park
6 сентября 2026 г.· 11 мин чтения

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

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

Ключевые выводы

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

Что значит извлечь позиции счёта с помощью ИИ?

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

Peppol Billing разделяет строки, скидки, сборы, налоговые категории и денежные итоги и задаёт расчётные связи.[1]Европейская комиссия описывает европейский стандарт электронных счетов как семантическую модель для совместимого обмена.[2]UBL 2.1 также предоставляет отдельные структуры для строки, цены, количества, AllowanceCharge, налога и итогов.[3]Это полезные ориентиры для проектирования полей, а не универсальные налоговые или бухгалтерские инструкции.

Запишите правило строк для вашего набора документов:

Объект на страницеОбработка
Товар или услугаОтдельная кандидатная строка
Продолжение описанияПрисоединять только после проверки макета
КолонтитулМетаданные документа
Скидка или сборХранить на указанном уровне
Налоговый итогНе смешивать с товарными строками
Подытог или сумма к оплатеКонтрольное значение, не покупка

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

Как подготовить доказательства и структуру счёта?

Шаг 1. Зафиксируйте источник и контрольные суммы счёта

Присвойте исходному файлу неизменяемый ID поступления и запишите имя файла, время получения, число страниц, напечатанное имя поставщика, номер и дату счёта, валюту и разрешённый ключ поиска дублей. Оригинал храните в управляемой системе-источнике; не делайте ИИ архивом.

До извлечения строк зафиксируйте видимые контрольные значения документа, не интерпретируя их:

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

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

Шаг 2. Создайте схему с трассировкой

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

ПолеНазначение
ID поступления / счётаСвязь с зафиксированным оригиналом
ID кандидатной строкиСтабильная идентичность внутри счёта
Страница и областьКоординаты, таблица/строка либо эквивалент
Исходный текст строкиДословное доказательство для проверки
Ссылка поставщика на строкуНапечатанный номер или «Не указано»
Описание / код позицииОтдельные текст и идентификатор без догадок
Количество / код единицыИсходное и нормализованное значения
Чистая цена / базовое количествоЦена и количество, к которому она относится
Скидка / сбор строкиСумма, причина и уровень
Налоговая категория / ставкаТолько напечатанное, без вывода о юрисдикции
Указанный итог строкиНапечатанная сумма
Рассчитанный итог строкиДетерминированный пересчёт
Уверенность извлеченияСигнал маршрутизации, не доказательство
Исключение / проверяющий / статусРешение человека и история проверки

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

Как извлекать и нормализовать позиции с помощью ИИ?

Шаг 3. Извлекайте только видимые данные

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

Извлеки только видимые данные строк из заданной области. Сохрани исходный
текст, координаты, ID кандидатной строки, запрошенные поля, пунктуацию,
знаки, разделители, валюту, единицы и состояния отсутствия. Не объединяй
строки, не определяй налог, не чини итоги и не создавай значения.
Неуверенное разбиение и несопоставленный текст направь в исключения.

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

Шаг 4. Нормализуйте числа по явным правилам

Нормализуйте только после сохранения исходных значений. Например, 1.250,00 в одной системе записи означает 1250,00, а 1.250 в другой может быть и целым числом с разделителем групп, и десятичной дробью. Модель не может разрешить такую неоднозначность по одному форматированию: нужны подтверждающие метаданные документа или решение человека. Разбирайте знаки, разделители, проценты, единицы и валютные коды по документированному правилу локали и поставщика; неоднозначность не должна молча превращаться в число. Используйте десятичную арифметику нужной точности, не двоичные числа с плавающей точкой, и утверждённую точку округления; не округляйте каждый промежуточный результат автоматически.

Шаг 5. Детерминированно пересчитайте строку

Определите формулу до её применения. Упрощённая формула суммы строки:

итог строки = количество × чистая цена ÷ базовое количество − скидки + сборы

Это контрольная формула, а не универсальное налоговое правило: в некоторых документах база цены, скидки, сборы, налоги, кредиты или округление выражены иначе. Peppol публикует явные правила расчёта и округления для счетов своего профиля.[1] Применяйте их, только если счёт и процесс действительно подпадают под эту спецификацию.

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

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

Как проверить итоги и полноту счёта?

Шаг 6. Сверьте итоги по слоям

Считайте итоги по слоям, чтобы расхождение оставалось диагностируемым:

  1. Суммируйте рассчитанные итоги строк по каждой валюте.
  2. Сравните сумму с указанным подытогом строк.
  3. Примените проверенные скидки и сборы уровня документа.
  4. Пересчитайте налоговые подытоги по применимому правилу и указанным категориям.
  5. Сравните итоги без налога и с налогом.
  6. Примените проверенные предоплаты и округление, чтобы получить сумму к оплате.
  7. Сравните каждое рассчитанное контрольное значение с напечатанным.

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

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

Шаг 7. Найдите пропуски и дубли

Одни итоги не доказывают полноту: пропущенная и продублированная строки одинаковой суммы могут взаимно компенсироваться. Сочетайте арифметические проверки со структурными:

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

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

Как разбирать исключения и поддерживать процесс?

Шаг 8. Ведите очередь исключений по счетам

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

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

Шаг 9. Проверяйте выборку и изменения

На запуске независимо сравните с изображением оригинала каждое поле риск-ориентированной выборки и все исключения. Измеряйте ошибки полей, сегментации, пропуски, дубли, арифметические расхождения, сбои отдельных поставщиков или макетов и исправления. Общая точность документа может скрывать ошибки важнейшего поля. Повторяйте тест после изменения OCR, модели, промпта, схемы, макета поставщика или расчётного правила. Храните источник, версии извлекателя, схемы и расчёта, решения проверяющего и историю исправлений. Минимизируйте данные до доступа модели и работайте в разрешённой среде. NIST отмечает риски конфабуляции, приватности, целостности информации и взаимодействия человека с ИИ.[4]

Контрольный список

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

Итоги

  • Сначала определите строку и контроли.
  • Сохраняйте исходник, нормализацию и координаты.
  • Не позволяйте ИИ заполнять пробелы или балансировать документ.
  • Пересчитывайте деньги детерминированно.
  • Передавайте исключения уполномоченным специалистам.
  • Версионируйте источник, схему, формулы и решения.

Часто задаваемые вопросы (FAQ)

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

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

Нужно ли извлекать подытоги как позиции?

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

Что делать с пустым полем?

Использовать Не указано, Нечитаемо или Неприменимо, но не ноль и не соседнее значение.

Может ли ИИ выбрать налоговую ставку в счёте?

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

Почему совпавший итог не гарантирует точность?

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

Как обрабатывать кредитовые строки?

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

Можно ли исправить валюту текущим курсом?

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

Когда повторять тестирование?

После существенных изменений модели, OCR, промпта, схемы, макета или расчётов и при мониторинге исправлений.

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

Источники

  1. OpenPeppol — Peppol BIS Billing 3.0 — https://docs.peppol.eu/poacc/billing/3.0/bis/
  2. European Commission — Compliance with the European eInvoicing standard — https://ec.europa.eu/digital-building-blocks/sites/display/DIGITAL/Compliance%2Bwith%2BeInvoicing%2Bstandard
  3. OASIS — Universal Business Language Version 2.1 — https://docs.oasis-open.org/ubl/os-UBL-2.1/UBL-2.1.pdf
  4. NIST — Artificial Intelligence Risk Management Framework: Generative AI Profile — https://www.nist.gov/publications/artificial-intelligence-risk-management-framework-generative-artificial-intelligence

Sources checked 6 сентября 2026 г.

Рекомендуемые статьи

Начните бесплатный 3-дневный пробный период

Зарегистрируйтесь и попробуйте все премиум-функции бесплатно.

*Только для новых пользователей. Один пробный период на пользователя.

Как извлечь позиции счёта с помощью ИИ и сверить итоги | AethoVPN