9 Commits

Author SHA1 Message Date
Andrey Epifancev
9e67fdf6d5 fixtures(ocr): ответы ИС Сканирование по ББ/ОФР РБ и Счастливочной за 1 кв. 2025 (#15)
Пары для эмулятора (поиск по sha256 только в ocr/): PDF скопированы из statements/,
JSON — элемент files[] ответа настоящей ИС (прогон тестировщика 08.10.2026), file_uid =
имя набора, как в aep_6.json. Эталоны нормализатора — make golden-update в scan-gateway
(main 2026-10-08): оба набора needs_check, по 2 документа (BALANCE + INCOME); старые
эталоны не изменились.

Известное ограничение, зафиксированное эталоном: ИС склеила строки 1500 и 1700
в одну ячейку («1500\n1700», суммы через \n) — нормализатор пропускает строку как
«нечисловой код», в документах нет 1500 и 1700.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 12:41:49 +04:00
Andrey Epifancev
5dcfaf8fdd feat(ocr): эталоны нормализатора — предупреждения о пропущенных строках, формулировка ИНН (Срез 3a, #12)
aep_3 и aep_6: предупреждения «строк с нечисловым кодом пропущено: N» и «строк без кода с суммами пропущено: N» на таблицу;
aep_3: «ИНН распознан неуверенно» вместо «ИНН не распознан» (ИНН извлечён, confidence < 100). Документы (строки, суммы,
колонки) не изменились. В README — строка про ocr/expected_normalize/.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-07 03:35:25 +04:00
Andrey Epifancev
5bbbe1c7b3 test(osv-dkb): golden-снимки пакета ДКБ (22 файла до 1 МиБ), README
golden/expected_osv_parse/osv-dkb/** — 22 новых снимка (7,8 МБ); три файла Агрокомплекса (9–14 МБ) без снимков.
Существующие снимки не менялись. Парный PR: RSHB/arm-tabular-parser feat/10-osv-dkb-tests (issue #10), stacked on fixtures#8.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Claude-Session: cedd7915-2efe-41e5-988c-a9117033598b
2026-10-06 13:23:30 +04:00
Andrey Epifancev
3fc8fa7871 test(osv): синтетика s17–s19 (ИНН в названии, строкой выше, ИНН/КПП) и golden: ИНН из текста названия
Новые: s17_inn_in_name, s18_inn_row_above, s19_inn_kpp_cell + снимки. Изменены 9 снимков (rb 60 ×5, schastl 76 ×4):
counterparty_name без ИНН и разделителя, counterparty_inn — извлечённый ИНН; остальное без изменений.
Парный PR: RSHB/arm-tabular-parser (feat/9-inn-in-text), issue #9.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Claude-Session: cedd7915-2efe-41e5-988c-a9117033598b
2026-10-06 13:13:42 +04:00
Andrey Epifancev
bc0a76717d Пакет ДКБ 06.10.2026: ОСВ шести организаций (osv-dkb), Счастливочная 1 кв 2025, ББ/ОФР в Excel, план счетов 1С, отчёты «Анализ счета»
- osv/schastl/2025-Q1: недостающие ОСВ 02, 58, 62, 66, 67, 76 + golden-снимки (72 реальных ОСВ, 88 снимков).
- osv-dkb/{tsimlyansky,nkz,nm,npz,primanych,agrokompleks}: 29 файлов вне тестов osv/** (многолистовые книги, needs_check,
  скользящий период, 50 тыс. строк) — README с результатами прогона парсера и кандидатами на доработки.
- analysis-reports/{nkz,nm,npz}: отчёты «Анализ счета» (не ОСВ, INVALID_DOCUMENT ожидаем).
- statements-xlsx/{unagrande-co,unagrande-group,npz,mezheninovskaya,templates}: ББ/ОФР в трёх раскладках + пустые формы 66н/ФСБУ 4/2023.
- directories/chart-of-accounts-1c.xlsx: план счетов 1С заказчика, 488 строк (OQ-113).

Refs #6

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-06 12:20:57 +04:00
Andrey Epifancev
fd83a6cac2 osv/synthetic: s14–s16 для покрытия словарей парсера (Срез 2a)
Формы ББ/ОФР по одному признаку, названия групп сумм (входящее/начальное/конечное/исходящее сальдо), шапка без
организации, период «2024», пояснение к валюте, метки группировок отдельными строками, «Детализация: …» и группировки OTHER.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 15:20:55 +04:00
Andrey Epifancev
3b9c16ba7c osv/synthetic: синтетические ОСВ и xlsb (Срез 2a), README
Файлы s01…s13: по одному сценарию спеки osv-parsing на файл (шапка варианта 2, иерархия по отступам и по кодам счетов,
Вал./Кол., текстовые числа, два листа ОСВ и посторонний, без «начала» и свёрнутое сальдо, колонка КПП, названия
субсчетов, испорченная сумма, повтор заголовка, лист ББ + лист ОСВ, xlsb). Генератор — tabular-parser,
api/tests/synthetic/generate.py. s13 собран минимальным писателем BIFF12, не Excel (см. README).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 15:03:18 +04:00
Andrey Epifancev
a18efe4e40 data: OCR — aep_3 (баланс+ОФР и ошибка по ОФР, два json) и aep_6 (успешный ответ) от владельца
aep_3.pdf + aep_3.json (успех: таблицы «Бухгалтерский баланс» и «Отчет о финансовых результатах», шумный OCR) +
aep_3_ofr.json (INVALID_DOCUMENT для второго документа файла) — пример каталога <job_id> с несколькими
ответами ИС; aep_6.json — успешный ответ к уже лежащему aep_6.pdf. README: описание раскладки каталога ответов.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-04 13:30:23 +04:00
Andrey Epifancev
e9c3d9ef19 data: первичка группы «Русский бисквит» 2024–2025, OCR-пары, эталон консолидации 2026-10-03 00:22:05 +04:00