кластер: мониторинг

Мониторинг контрагентов: снимки и diff

Проверить контрагента один раз — мало: ликвидация, смена директора или отметка о недостоверности могут появиться между проверкой и отгрузкой. Мониторинг здесь — не обещание «поставить на контроль», а механика: снимок + diff, офлайн, бесплатно.

Как это работает

Снимок перед каждой крупной отгрузкой

python3 scripts/fetch_counterparty.py <ИНН> --save сохраняет JSON проверки в ~/.cache/inn-check-ru/snapshots/.

Diff двух последних снимков

python3 scripts/diff_counterparty.py <ИНН> показывает, что изменилось — JSON или светофорной карточкой (--human).

Решение по leading indicators

Каждое изменение — с датами «было/стало» и severity. Появился 🔴 — отгрузку стоп, перепроверка.

Что ловит diff

ИзменениеSeverityПочему важно
статус → ликвидация/реорганизация🔴deal-killer, сделку стоп
появилась недостоверность сведений🔴ФНС не подтверждает адрес/директора
чистые активы ушли ниже нуля🔴движение к ст. 30 ФЗ-14
смена руководителя🟡переспросите, кто реально управляет
2+ смены директора за год🟡признак однодневки
смена адреса🟡стандартный leading indicator
появилась налоговая задолженность🟡деньги уходят мимо налоговой
выручка упала > 50% (новый год)🟡пороги общие с финансовым скорингом

Без изменений diff честно отвечает «изменений нет»; с одним снимком — «сравнивать не с чем, вернитесь позже». Снятие недостоверности — отдельное инфо-изменение: новости бывают и хорошие.

То, за что сервисы берут деньги, — бесплатно

«Совокупная выручка связанных компаний» и алерты об изменениях в карточке — платные функции корпоративных сервисов. Здесь они считаются тем же открытым кодом поверх тех же открытых реестров: мониторинг стоит ровно столько, сколько ваша дисциплина делать снимок перед отгрузкой (или одна строка в кроне агента).

Чего мониторинг не ловит

Суды и банкротства снимками не покрываются — движок их не собирает (браузерный слой). Перед крупной отгрузкой они проверяются отдельно, по каскаду. Честный список — в KNOWN_LIMITS.md.