OCR-пары РБ и Счастливочной за 1 кв. 2025 для эмулятора (#15) #16

Merged
aep merged 1 commits from feat/15-ocr-2025-q1 into main 2026-10-08 11:44:25 +03:00
Owner

Closes #15

Что добавлено

  • ocr/Бухгалтерская отчетность 1 кв.25.{pdf,json} (АО РБ) и ocr/БО 1 кв 2025.{PDF,json} (Счастливочная). JSON — элемент files[] ответа настоящей ИС Сканирование (прогон тестировщика 08.10.2026; конверт task_id/job_id/file_id снят, file_uid = имя набора, как в aep_6.json). PDF — копии из statements/: эмулятор ищет пары по sha256 только в ocr/.
  • Эталоны нормализатора ocr/expected_normalize/… — make golden-update в scan-gateway (main). Старые эталоны не изменились.
  • README — строки про новые пары.

Что показал нормализатор

РБ Счастливочная
статус needs_check needs_check
документы BALANCE (36 строк) + INCOME (24) BALANCE (35) + INCOME (24)
ИНН 3528052718 (100 %) 3528104476 (100 %)
дата отчёта 2025-03-31 не разобрана (в поле даты ИС вернула название организации)
колонки 31.03.2025 / 31.12.2024 / 31.12.2023; ОФР — янв–март 2025 / 2024 так же

Пропущены строки «в том числе» без кода (40 и 12 у РБ, 20 и 2 у Счастливочной) — штатно, OQ-149.

Новое ограничение (зафиксировано эталоном, не исправлено): ИС склеила две последние строки баланса в одну — код «1500\n1700», суммы «917 775\n2 371 333». Нормализатор пропускает строку как «нечисловой код», и в документах нет 1500 (итог раздела V) и 1700 (БАЛАНС пассива), у обеих компаний. Значит, на экране [41] не сойдутся проверки, где участвуют 1500/1700. Решение по исправлению — отдельно (вопрос владельцу).

Проверка

scan-gateway (main) на этой ветке фикстур: make test — 1032 passed; test_golden.py — 6 из 6 (включая два новых набора).

Rulings I made

  • R-1: в ocr/ имена исходные (как у PDF в statements/), а не aep_N: это не пары из Project docs, имя показывает, что за файл. Цена ошибки: низкая — переименование не трогает эмулятор (поиск по содержимому).
  • R-2: PDF скопированы, а не симлинк на statements/: в эмулятор смонтирован только ocr/, симлинк наружу не разрешится. Цена: +3,6 МБ.

🤖 Generated with Claude Code

Closes #15 ## Что добавлено - `ocr/Бухгалтерская отчетность 1 кв.25.{pdf,json}` (АО РБ) и `ocr/БО 1 кв 2025.{PDF,json}` (Счастливочная). JSON — элемент `files[]` ответа настоящей ИС Сканирование (прогон тестировщика 08.10.2026; конверт `task_id/job_id/file_id` снят, `file_uid` = имя набора, как в `aep_6.json`). PDF — копии из `statements/`: эмулятор ищет пары по sha256 только в `ocr/`. - Эталоны нормализатора `ocr/expected_normalize/…` — `make golden-update` в scan-gateway (main). Старые эталоны не изменились. - README — строки про новые пары. ## Что показал нормализатор | | РБ | Счастливочная | |---|---|---| | статус | needs_check | needs_check | | документы | BALANCE (36 строк) + INCOME (24) | BALANCE (35) + INCOME (24) | | ИНН | 3528052718 (100 %) | 3528104476 (100 %) | | дата отчёта | 2025-03-31 | **не разобрана** (в поле даты ИС вернула название организации) | | колонки | 31.03.2025 / 31.12.2024 / 31.12.2023; ОФР — янв–март 2025 / 2024 | так же | Пропущены строки «в том числе» без кода (40 и 12 у РБ, 20 и 2 у Счастливочной) — штатно, OQ-149. **Новое ограничение (зафиксировано эталоном, не исправлено):** ИС склеила две последние строки баланса в одну — код «1500\n1700», суммы «917 775\n2 371 333». Нормализатор пропускает строку как «нечисловой код», и в документах **нет 1500 (итог раздела V) и 1700 (БАЛАНС пассива)**, у обеих компаний. Значит, на экране [41] не сойдутся проверки, где участвуют 1500/1700. Решение по исправлению — отдельно (вопрос владельцу). ## Проверка scan-gateway (main) на этой ветке фикстур: `make test` — 1032 passed; `test_golden.py` — 6 из 6 (включая два новых набора). ## Rulings I made - R-1: в `ocr/` имена исходные (как у PDF в `statements/`), а не `aep_N`: это не пары из Project docs, имя показывает, что за файл. Цена ошибки: низкая — переименование не трогает эмулятор (поиск по содержимому). - R-2: PDF скопированы, а не симлинк на `statements/`: в эмулятор смонтирован только `ocr/`, симлинк наружу не разрешится. Цена: +3,6 МБ. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
aep added 1 commit 2026-10-08 11:42:08 +03:00
Пары для эмулятора (поиск по 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>
aep merged commit da85dc39e1 into main 2026-10-08 11:44:25 +03:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RSHB/arm-ka-fixtures#16
No description provided.