# Сверка счёта, акта и записи 1С с локальным ИИ: план проверки

Источник: https://modelium.tech/zhurnal/sverka-scheta-akta-i-1s/

Для сверки счёта, акта и записи 1С сначала извлеките поля каждого документа, затем сопоставьте их с выгрузкой из учётной системы и отдельно проверьте найденные расхождения по оригиналам. Локальная модель может подготовить структурированный черновик, но не должна самостоятельно исправлять или проводить запись. Сервис 1С:Сверка 2.0 решает другую, сетевую задачу сверки документов контрагентов и имеет ограничения по видам документов.

**Источники проверены 27 сентября 2026 года.** Это проектный протокол для синтетического пилота, а не отчёт об успешной интеграции Modelium с 1С. Локальность Docling и Ollama не означает, что сама 1С или сервисы вокруг неё работают без сети [s6](#src-s6)[s8](#src-s8).

## Что именно сверять, чтобы не смешать разные документы?

Вход: PDF/скан **счёта на оплату**, отдельный **акт выполненных работ или оказанных услуг** и экспорт соответствующей записи из тестовой базы 1С. Счёт, акт, счёт-фактура и акт *сверки взаиморасчётов* — разные объекты: материал фирмы 1С отдельно перечисляет счета на оплату и акты среди типов вводимой первички, а сервис 1С:Сверка 2.0 работает со своими видами первичных документов и контрагентами [s1](#src-s1)[s2](#src-s2). Если под словом «акт» имеется в виду акт сверки взаиморасчётов, не переносите этот протокол на него без отдельного задания: там сравниваются операции и остатки периода, а не одно оказание услуг.

Выход пилота — **список совпадений и расхождений с указанием оригинала**, а не готовая бухгалтерская проводка. Согласуйте с бухгалтером, какая запись 1С служит контрольной для конкретного типа операции и какой набор документов ожидается. Не ищите запись только по совпадению суммы: несколько операций могут иметь одинаковую сумму. Ключ для ручной сверки: организация и контрагент, номер и дата, договор/заказ при наличии, номенклатура или услуга, количество, итоговая сумма и НДС **как отдельное поле только когда он есть в источнике**. 1С в описании собственного распознавания отдельно указывает контрагентов, номера, даты, суммы и проверку арифметики строк; это подсказка о составе данных, но не гарантия полноты внешнего парсера [s1](#src-s1).

Матрица для одной операции:

        

          
        
        
Поле

      
    
        
Счёт

      
    
        
Акт

      
    
        
Запись 1С

      
    
        
Решение

      
    

`  </tr><tr>
    <td>
    <p>Контрагент / организация</p>
  </td>
<td>
    <p>Значение + страница</p>
  </td>
<td>
    <p>Значение + страница</p>
  </td>
<td>
    <p>Значение + ID записи</p>
  </td>
<td>
    <p>Совпало / расхождение / нет данных</p>
  </td>

  </tr><tr>
    <td>
    <p>Номер / дата</p>
  </td>
<td>
    <p>Из оригинала</p>
  </td>
<td>
    <p>Из оригинала</p>
  </td>
<td>
    <p>Из карточки</p>
  </td>
<td>
    <p>Проверить назначение каждого номера</p>
  </td>

  </tr><tr>
    <td>
    <p>Услуга / позиция</p>
  </td>
<td>
    <p>Текст + количество</p>
  </td>
<td>
    <p>Текст + количество</p>
  </td>
<td>
    <p>Строка записи</p>
  </td>
<td>
    <p>Проверить смысл, не только похожесть</p>
  </td>

  </tr><tr>
    <td>
    <p>Сумма / НДС</p>
  </td>
<td>
    <p>Значение или пусто</p>
  </td>
<td>
    <p>Значение или пусто</p>
  </td>
<td>
    <p>Значение или пусто</p>
  </td>
<td>
    <p>Сопоставить с документом и контекстом</p>
  </td>

  </tr></tbody>
    </table>
  <p>Не приравнивайте разные даты и номера автоматически: дата выставления счёта может отличаться от даты акта. Отсутствие поля — <strong>«не найдено»</strong>, а не ноль; спорный НДС и исправления остаются на рассмотрение бухгалтера. Эти правила — предложенная методика проверки, а не норма учёта.</p><h2>Как выбрать маршрут: готовые средства 1С или локальная модель?</h2><p><strong>Сначала проверьте функции своей конфигурации.</strong> Фирма 1С описывает встроенное распознавание первички с визуальной проверкой пользователем и сопоставлением данных с учётной системой; в её материале перечислены счета на оплату и акты. Это описание сервиса 2022 года, не обещание доступности для любого релиза или автономной работы: совместимость и договорные условия проверяют в конкретной инсталляции <a href="#src-s1" rel="noopener noreferrer">s1</a>. Если хватает такого редактора, дополнительная LLM может не понадобиться.</p><p>Сервис <strong>1С:Сверка 2.0</strong> — отдельный способ сравнивать документы между контрагентами. По описанию фирмы 1С он выводит расхождения номеров, дат, сумм и НДС; это не эквивалент локального сравнения трёх файлов на одной машине. Официальный FAQ говорит, что отдельные документы типа «Оказание услуг» не отображаются в отчёте расхождений, и требует доступ к <code>1cfresh.com</code>. Поэтому нельзя рекламировать сервис как полностью офлайн или как универсальное решение для каждого акта; проверьте версию, тип объекта и охват до выбора маршрута <a href="#src-s2" rel="noopener noreferrer">s2</a><a href="#src-s6" rel="noopener noreferrer">s6</a>.</p><p><strong>Локальный кандидат</strong> нужен, если задача — создать ограниченный отчёт по своим документам в отдельно управляемом контуре и показать бухгалтеру расхождения до изменения базы. Для PDF Docling описывает преобразование локального файла в структурированное представление и Markdown; Ollama документирует получение ответа с заданной JSON Schema. Это компоненты-кандидаты, не проверенная Modelium совместимость конкретной русской первички: сканы, таблицы и сокращения проверяются отдельно <a href="#src-s4" rel="noopener noreferrer">s4</a><a href="#src-s5" rel="noopener noreferrer">s5</a><a href="#src-s7" rel="noopener noreferrer">s7</a>. Если у команды уже есть другой OCR или модель, сравнивайте результаты на <strong>одном и том же</strong> эталонном наборе, не объявляя победителя заранее.</p><h2>Что требуется для ограниченного локального пилота?</h2><ol><li><strong>Данные и права.</strong> Подготовьте вымышленные счёт, акт и запись 1С с известными совпадениями и ошибками. Получите <em>копию</em> записи через утверждённый экспорт; идентификатор, версию и время снимка сохраните. Платформа 1С документирует публикацию OData REST, но тот же интерфейс допускает изменение, создание и проведение документов. Не выдавайте экспериментальному процессу учётные права записи: первый пилот читает согласованную выгрузку, а сетевой API подключается только после проверки администратором конфигурации, прав и журналирования <a href="#src-s3" rel="noopener noreferrer">s3</a>.</li><li><strong>Парсер документа.</strong> При наличии установленного Docling обработайте локальный синтетический PDF (<code>docling convert ./test-invoice.pdf --to md</code>); точные CLI-опции своей установленной версии сверяйте с <code>docling convert --help</code>. В руководстве CLI входом может быть локальный путь или URL — для закрытого контура передавайте именно <strong>путь к тестовому файлу</strong>, а не публичный URL <a href="#src-s7" rel="noopener noreferrer">s7</a>. Повторите для акта, затем визуально сопоставьте текст и таблицу с изображениями страниц. Парсер не исправляет исходник.</li><li><strong>Подготовка сети.</strong> Документация Docling предупреждает об автоматической загрузке моделей при первом использовании и предлагает заранее выполнить <code>docling-tools models download</code> для офлайна. Значит, отсутствие запроса во время обработки одного файла ещё не доказывает сетевую изоляцию всего стека: проверяйте сетевые обращения парсера, 1С, контейнера и модели по отдельности <a href="#src-s8" rel="noopener noreferrer">s8</a><a href="#src-s6" rel="noopener noreferrer">s6</a>.</li><li><strong>Модель и железо.</strong> Для структурирования можно выбрать локальную текстовую модель из <a href="/zapusk/ollama/" rel="noopener noreferrer">гайда по Ollama</a> и использовать её <strong>после OCR/парсинга</strong>, а не выдавать LLM за самостоятельный считыватель пикселей. Прежде чем запускать пилот, проверьте доступное железо и фактическое размещение конкретной модели. Размер файла весов не является минимальным требованием к RAM/VRAM; точность на русских актах и скорость здесь не измерялись. Ollama описывает JSON Schema в <code>format</code> запроса <code>/api/chat</code> <a href="#src-s5" rel="noopener noreferrer">s5</a>.</li><li><strong>Контракт ответа.</strong> Запрашивайте <code>document_type</code>, <code>organization</code>, <code>counterparty</code>, <code>number</code>, <code>date</code>, <code>currency</code>, <code>total</code>, <code>tax</code>, <code>items</code>, <code>evidence_page</code> и <code>uncertain_fields</code>. Для отсутствующего значения допускайте <code>null</code>, но не выдуманный ноль. Форму проверьте независимым валидатором, арифметику — кодом по исходным числам, а каждое найденное значение — по скану и записи 1С. Structured output ограничивает <strong>форму</strong>, а не истинность полей; готовый шаблон схемы — в <a href="/zhurnal/structured-output-lokalno-json-schema/" rel="noopener noreferrer">гайде по JSON Schema</a> <a href="#src-s5" rel="noopener noreferrer">s5</a>.</li></ol><p>Это маршрут <strong>задача → поля и документы → кандидат модели → проверка железа → локальный runtime → сравнение с записью → подтверждённый бухгалтером результат</strong>. Команды выше описаны по документации; Modelium не запускал этот стек и не получил собственных метрик качества.</p><h2>Как обнаружить расхождения и не записать ошибку обратно?</h2><p>Сделайте три независимых извлечения: счёт, акт, экспорт записи 1С. Не просите модель одновременно «догадаться» о недостающем документе. Затем детерминированно нормализуйте формат дат и чисел, сохраняя исходное значение рядом с нормализованным. Сравните выбранные бухгалтером поля и приложите для каждого несовпадения имя документа, страницу, исходное значение, значение в 1С и статус: <strong>подтверждено</strong>, <strong>требует просмотра</strong> либо <strong>поле отсутствует</strong>. Если парсер смешал строку таблицы, итог или документ, остановите обработку этой операции и вернитесь к оригиналу: разработчик сервиса 1С тоже предусматривает визуальную проверку результата распознавания до создания записи <a href="#src-s1" rel="noopener noreferrer">s1</a>.</p><p>В синтетическом наборе проверьте минимум четыре случая: (а) всё совпадает; (б) в акте и записи разные суммы; (в) у двух операций одинаковая сумма, но разные контрагенты; (г) нечитабельная дата или отсутствующий НДС. Для каждого заранее запишите ожидаемое решение человека. Минимальный критерий пилота: система <strong>не пропускает заранее внесённое материальное расхождение, не превращает пустое поле в согласие, не пишет в 1С и даёт бухгалтеру ссылку на оригинал</strong>. Доля успешных случаев вычисляется лишь после реального прогона по сохранённому набору; Modelium её не сообщает.</p><p>Отдельно проверьте «ложную уверенность»: валидный JSON и похожие наименования не подтверждают тождество поставщика или услуги. При несовпадении реквизитов, валюты, периода, документа-основания или роли сторон запись нельзя исправлять автоматически. Бухгалтер решает, ошибка ли это в скане, разная стадия операции или действительно неправильная запись; инженер обеспечивает путь повторной проверки и журнал решений. Если документ содержит реальные персональные или коммерческие данные, сначала согласуйте права, хранение, журналы и допустимый контур; <a href="/zhurnal/ii-v-zakrytom-konture-i-personalnye-dannye/" rel="noopener noreferrer">проверка границ закрытого контура</a> — отдельная задача, а не свойство одной модели.</p><h2>Когда этот сценарий не подходит?</h2><p>Если цель — <strong>сверка данных между двумя контрагентами</strong>, проверьте существующую 1С:Сверка 2.0 и её ограничения вместо построения внешнего сравнивателя. Если есть только один документ и нет согласованной записи или проверяющего бухгалтера, пилот не сможет подтвердить итог сверки. Если нужны автоматическое проведение, налоговое решение или гарантия отсутствия утечки, данный протокол <strong>не</strong> подходит: REST 1С потенциально позволяет записывать и проводить, а официальный FAQ 1С:Сверка требует интернет-доступ <a href="#src-s2" rel="noopener noreferrer">s2</a><a href="#src-s3" rel="noopener noreferrer">s3</a><a href="#src-s6" rel="noopener noreferrer">s6</a>.</p><p><strong>Основной следующий шаг:</strong> возьмите вымышленную тройку документов, подготовьте <a href="/zhurnal/structured-output-lokalno-json-schema/" rel="noopener noreferrer">строгую схему вывода</a>, составьте эталонную таблицу и передайте найденные расхождения бухгалтеру для ручного решения. Для стадии распознавания отдельно изучите <a href="/zadachi/raspoznavanie-dokumentov-1s/" rel="noopener noreferrer">задачу ввода первички в 1С</a>; для контроля действительной изоляции — <a href="/zhurnal/proverka-offline-kontura-ii/" rel="noopener noreferrer">сетевой тест локального стека</a>. Источники выше получены 27 сентября 2026 года; вывод о качестве возможен только по результатам вашего собственного прогона.</p>
`

## Источники

1. [1С — Распознавание и автоматический ввод первичных документов (21.09.2022)](https://v8.1c.ru/metod/article/raspoznavanie-i-avtomaticheskiy-vvod-v-programmu-1s-pervichnykh-dokumentov.htm) — получено 2026-09-27
2. [1С — Сервис ИТС 1С:Сверка 2.0](https://v8.1c.ru/its/services/1c-sverka/) — получено 2026-09-27
3. [1С:Предприятие — REST-интерфейс прикладного решения](https://v8.1c.ru/platforma/rest-interfeys/) — получено 2026-09-27
4. [Docling — Basic usage: DocumentConverter](https://docling-project.github.io/docling/usage/) — получено 2026-09-27
5. [Ollama — Structured outputs: JSON Schema в format](https://ollama.com/blog/structured-outputs) — получено 2026-09-27
6. [1С — FAQ сервиса 1С:Сверка 2.0, ограничения и сеть](https://v8.1c.ru/metod/article/otvety-na-chasto-zadavaemye-voprosy-o-servise-1s-sverka-2-0.htm) — получено 2026-09-27
7. [Docling — официальный CLI reference: docling convert](https://docling-project.github.io/docling/reference/cli/) — получено 2026-09-27
8. [Docling — Advanced options: prefetching and offline usage](https://docling-project.github.io/docling/usage/advanced_options/) — получено 2026-09-27
