Проверять каждого контрагента, а не только крупных
Глубокая проверка достаётся единицам, остальные проходят по формальным признакам. Когда проверка встроена в согласование и занимает секунды, охватить можно всех: и поставщика перед договором, и покупателя перед отгрузкой с отсрочкой.
Ситуация
Проверяют выборочно, а отвечать приходится за всех
Контрагентов сотни, специалистов единицы. Крупную сделку разбирают, остальные проходят по ИНН и отзывам. Когда выясняется, что у поставщика шла процедура несостоятельности или что покупатель с отсрочкой уже в исполнительном производстве, объяснение «мы не успевали проверить всех» никого не устраивает.
Что даёт API
Проверка перестаёт быть отдельной задачей и становится шагом процесса.
Охват всей базы
Проверяются все контрагенты, а не выборка по интуиции.
В момент согласования
Ответ из хранилища приходит мгновенно и не задерживает сделку.
Поставщик и покупатель
Одни и те же источники закрывают обе стороны: и закупку, и отгрузку с отсрочкой.
Подтверждение опыта
Госконтракты показывают, выполнял ли поставщик работы такого объёма.
Журнал проверки
Датированные снимки фиксируют, что было известно на момент решения.
Повторная проверка
Проверенные контрагенты остаются под наблюдением до конца договора.
Какие источники закрывают задачу
Ни один источник не отвечает на вопрос целиком. Ниже те, что нужны именно для этой работы.
| Источник | Что даёт для задачи |
|---|---|
| ФНС | Существует ли контрагент, кто подписывает, чем занимается |
| ГИР БО | Потянет ли объём: выручка и активы по годам |
| КАД, ГАС | Судится ли и по каким суммам, есть ли признаки несостоятельности |
| ФССП | Взыскивают ли с него уже сейчас |
| ЕИС | Опыт госзаказа: суммы, заказчики, расторжения |
| ЕРП | Претензии контролирующих органов |
Весь каталог: источники данных →
Как это выглядит в коде
Проверка в момент согласования: стоп-факторы и порог для ручного разбора.
# проверка контрагента перед сделкой
company = requests.get(
f"{API_BASE}/api/v3/company",
params={"inn": inn},
headers={"Authorization": f"Bearer {TOKEN}"},
).json()
# данные ещё собираются: не блокируем процесс, вернёмся позже
if company.get("status") in ("queued", "card-parsed"):
schedule_recheck(inn)
# стоп-факторы регламента
stop = (company["result"]["status"] != "active"
or company["result"]["has_bankruptcy"]
or company["result"]["enforcement_sum"] > THRESHOLD)Встройте проверку в своё согласование
Дадим тестовый доступ: прогоните базу контрагентов и оцените, сколько рисков видно не было.
manager@kazna.tech