From 928457f0e7d45d8ac9bfab3b1d0c4586377e1a67 Mon Sep 17 00:00:00 2001 From: Andrey Epifancev Date: Wed, 7 Oct 2026 18:51:53 +0400 Subject: [PATCH] =?UTF-8?q?docs:=2005-domain-rules=20=C2=A713.5=20?= =?UTF-8?q?=E2=80=94=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BF=D0=B0=D1=80=D1=8B=20=C2=AB=D1=82=D0=B8=D0=BF,=20=D0=9A?= =?UTF-8?q?=D0=9F=D0=9F=C2=BB=20=D0=BF=D1=80=D0=B8=20PATCH?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01EAKRDNzXtRrwmWz9z6PZu3 --- context/05-domain-rules.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/context/05-domain-rules.md b/context/05-domain-rules.md index 228ec25..37b0fef 100644 --- a/context/05-domain-rules.md +++ b/context/05-domain-rules.md @@ -805,7 +805,7 @@ OQ-92 (пустые «Организация»/«Группа компаний» ### 13.5 КПП (v5.17, OQ-31, решение владельца 07.10.2026) - Поле `legal_entity.kpp` (и снимок `legal_entity_history.kpp`), nullable. Формат — ровно 9 символов: `^[0-9]{4}[0-9A-Z]{2}[0-9]{3}$` (4 цифры, 2 символа — цифра или латинская A–Z, 3 цифры); иначе `INVALID_KPP` (422 в API). Контрольных разрядов у КПП нет. -- **ИП:** КПП запрещён — непустой `kpp` при `entity_type = ИП` → `INVALID_KPP` (создание и PATCH; смена `entity_type` на `ИП` у ЮЛ с КПП требует одновременной очистки КПП, иначе `INVALID_KPP`). Для ЮЛ КПП необязателен; очистить его (`null`) можно. +- **ИП:** КПП запрещён — непустой `kpp` при `entity_type = ИП` → `INVALID_KPP` (создание и PATCH; при PATCH проверяется итоговая пара «тип, КПП»: смена типа на `ИП` у ЮЛ с КПП без очистки КПП — `INVALID_KPP`, а смена типа без смены ИНН невозможна и по длине ИНН — `INVALID_INN`). Для ЮЛ КПП необязателен; очистить его (`null`) можно. - **Уникальность:** только `inn` (КПП — атрибут). Сопоставление контрагентов ОСВ по ИНН (§3) КПП не использует. - **Изменение КПП** — обычный PATCH ЮЛ: снимок `legal_entity_history(event_type = UPDATE)` с прежними значениями и `audit_event(LEGAL_ENTITY_CHANGE)` с `before/after`, содержащими `kpp`. - **Импорт:** колонка `КПП` необязательна; для существующего ЮЛ при стратегии `update` непустой КПП из файла обновляет `kpp` (со снимком, как `name`/`entity_type`), пустая ячейка существующий КПП не стирает.