DOC OPS.
AI-помощник по документам: счёт, прайс или скан поставщика превращается в проверенную таблицу. OCR, извлечение по схеме, арифметика, НДС, дубли и экспорт — с человеком на проверке.
Роль
Продукт, бэкенд, UI, деплой
Год
2026
Статус
Live demo · 2026
Публичное демо на синтетических документах. Загруженные файлы удаляются через 24 часа; реальные клиентские данные не используются.

44
документа в бенчмарке
99.6%
точность полей
97.7%
документов без ошибок
5.8с
медиана на документ
Ошибку видно до того, как она ушла в учёт
Модель извлекает данные, но не решает, можно ли им верить. Арифметику, НДС, даты и дубли проверяет отдельный детерминированный слой. На демо-наборе он поймал все три специально сломанных сценария.
3/3
edge-case поймано
0.2с
XLSX без модели
24ч
жизнь файла
Задача
Оптовая команда получает десятки счетов и прайсов в PDF, сканах и Excel. Позиции переносят руками: 3–5 минут на документ, ошибки в суммах, повторные загрузки и никакого аудита. Обычный «чат с PDF» здесь не помогает: нужны не ответы, а строки в таблице.
Решение
Конвейер document intake: файл → текст или OCR → тип → извлечение по строгой JSON-схеме → проверки → экран проверки → XLSX / JSON / CRM. Модель заполняет поля, человек подтверждает спорные, детерминированный слой ловит арифметику и дубли.
Пять шагов, один результат
Каждый шаг можно проверить отдельно: текст, тип, поля, проверки, решение человека.
Ingest
PDF, JPG/PNG, DOCX, XLSX. Проверка MIME и размера, sha256, превью страниц, лимит 20 страниц.
Текст и OCR
Текстовый слой через pdftotext; сканы и фото — vision-модель. XLSX читается детерминированно, без LLM.
Извлечение
Классификация типа и JSON по схеме: поставщик, номер, даты, суммы, все позиции. Zod, один retry с текстом ошибки.
Проверки
Количество × цена, сумма позиций, НДС, итог, дубли номера, диапазон дат, обязательные поля.
Проверка и экспорт
Подсветка низкой уверенности и цитат, inline-правки, подтверждение, XLSX/CSV/JSON и вебхук.
const source = await readSource(doc); // text | vision
const type = await classifyDocument(source); // invoice | price_list
const result = await extractDocument(type, source); // JSON + Zod retry
const checks = validateExtraction(result.data, doc.id);
const status = checks.some((c) => c.severity === "error")
? "needs_review"
: "done";
// arithmetic, VAT, dates, duplicate number —
// deterministic rules, not another model callСтек
Извлечение и проверки разделены: LLM не решает, сходится ли арифметика. Поэтому ошибку можно объяснить и повторить.
Решения
Schema-first, не свободный чат
Модель заполняет типизированную схему, а не отвечает текстом. Результат можно валидировать, сравнивать и экспортировать.
Детерминированная валидация
Арифметика, НДС, даты и дубли — обычный TypeScript. Это объяснимо, воспроизводимо и не зависит от температуры модели.
Human-in-the-loop
Confidence по полям, блокеры и предупреждения. Ниже порога документ не уходит дальше без подтверждения человеком.
Excel без модели
Прайсы в XLSX разбираются кодом: заголовки, колонки, числа. 0.2 секунды и ноль стоимости за документ.
Возможности
Счёт, прайс, скан, DOCX и XLSX
OCR и vision для фото
Позиции, суммы, НДС и валюта
Проверка арифметики и дублей
Confidence и цитаты страниц
Inline-правки и подтверждение
Экспорт XLSX / CSV / JSON
Публичный демо-API
Пакетная обработка
Вопросы по документу
Лимиты 3/сутки и TTL 24 ч
Документы на RU / EN / UK
Интерфейс
Реальные скриншоты демо: инбокс, проверка, пакет и вопросы по документу.




Бенчмарк
44 синтетических документа с ground truth: текстовые PDF, сканы, DOCX, XLSX и специально сломанные счета. Цифры получены скриптом, а не вручную. Два прогона: 43–44 из 44 документов целиком.
99.6%
Точность полей
100%
Точность позиций
43 / 44
Документов целиком
5.8 с
Медиана на документ
$0.0015
Оценка стоимости
3 / 3
Edge-cases поймано
Нужен разбор документов под ваш процесс?
Покажу, как встроить конвейер в CRM, 1С или n8n: от приёма файла до проверки человеком и экспорта.