Перейти к основному содержимому

Налоговые параметры расчёта: EntityKind, TaxRegime

Перечисления типа субъекта и налогового режима расчёта доходности и правила их влияния на формулы. Переключатели «юр/физ лицо» и «УСН-6 / УСН-15 / ОСНО» на странице /lots/[id]/analytics определяют ставку налога в модели доходности.

Назначение

Инвестор выбирает, от чьего лица считать доходность: физическое лицо (НДФЛ) или юридическое лицо в одном из трёх налоговых режимов. Выбор определяет единую ставку regimeTaxRate, которой облагаются обе компоненты дохода в investor-series-models.md: прирост стоимости (AppreciationTax) и EBITDA (EbitdaTax), — если для конкретного месяца не задан налоговый оверрайд (property-object-type-month-override.md).

Значения — входные параметры запроса, не хранятся.

Enum EntityKind

ЗначениеWire-формат (query entity)Описание
LegallegalЮридическое лицо (или ИП на соответствующем режиме) — ставка зависит от TaxRegime. Дефолт, если параметр не передан.
IndividualindividualФизическое лицо — НДФЛ 13% независимо от TaxRegime (параметр tax игнорируется в ставке).

Enum TaxRegime

ЗначениеWire-формат (query tax)Описание
Usn6usn-6УСН «доходы» — 6% с дохода. Дефолт, если параметр не передан.
Usn15usn-15УСН «доходы минус расходы» — 15%.
OsnoosnoОбщая система — эффективная совокупная ставка 43% (константа модели: налог на прибыль + НДС + пр., принята владельцами платформы как оценочная).

Ставка regimeTaxRate

EntityKindTaxRegimeregimeTaxRate (годовая доля)
Individualлюбой0.13
LegalUsn60.06
LegalUsn150.15
LegalOsno0.43

Ставки — константы модели расчёта (не конфигурация): их изменение — изменение контракта модели через релиз. Вынос в EconomicModelConfig осознанно не делается: платформенные налоговые поля модели в расчёте не участвуют и помечены легаси (см. economic-model-config.md).

Влияние на формулы (полные формулы — investor-series-models.md)

Место формулыПравило
Налог на прирост стоимости месяца iapprTaxRate(i) = ovr(i).AppreciationTaxMonthly != null ? ovr(i).AppreciationTaxMonthly × 12 : regimeTaxRate; AppreciationTax = gainM2(i) × apprTaxRate(i) × Area
Налог на EBITDA месяца iebitdaTaxRate(i) = ovr(i).EbitdaTaxMonthly != null ? ovr(i).EbitdaTaxMonthly × 12 : regimeTaxRate; EbitdaTax = ebitdaM2(i) × ebitdaTaxRate(i) × Area
AsideMetrics.TaxRatePercentround(regimeTaxRate × 100) — всегда ставка режима (даже при месячных оверрайдах)
AsideMetrics.GrowthIncome / RoiGrowthсчитаются от IncomeFromGrowth − AppreciationTax — т.е. после применённой (режимной или оверрайдной) ставки
Оверрайд месяцахранит месячную ставку; эффективная годовая = × 12 (диапазон значения ≤ 1/12 — INV-MO3)

Взаимодействие ставки режима и месячного оверрайда: месячный налоговый оверрайд (ovr(i).*TaxMonthly × 12) замещает regimeTaxRate в месяце i независимо от EntityKind/TaxRegime — в том числе перекрывает физлицо 0.13 (INV-CALC-5). При этом AsideMetrics.TaxRatePercent всё равно показывает ставку выбранного режима (справочно), а фактически применённая в месяце ставка видна через величины AppreciationTax/EbitdaTax. Оверрайд действует только в своём месяце; месяцы без оверрайда считаются по ставке режима.

Валидация и совместимость

ПравилоЗначение
Отсутствующий параметрдефолт: entity=legal, tax=usn-6 (поведение публичной и admin-операций)
Неизвестное значение enumошибка валидации INVEST_ANALYTICS_INVALID_TAX_PARAMS (HTTP 400); молчаливый откат к дефолту запрещён
Wire-форматстрого строки `legal
Расширениеновое значение (напр. ausn) — additive: добавить в enum + строку в таблицу ставок + значение в контракт метода; существующие значения не переименовываются (breaking)
Individual + любой taxне ошибка: tax принимается и игнорируется в ставке (фронт всегда шлёт оба параметра)

Безопасность

  • Actor: любой пользователь страницы аналитики (инвестор, агент; реф-гость — readOnly-режим страницы, параметры менять может — расчёт read-only и не привилегирован).
  • Параметры не PII и не персистятся; в логах допустимы в открытом виде.
  • Расчёт не является налоговой консультацией: дисклеймер фронта, ставки — модельные допущения платформы.

Обратные ссылки

Автоссылки: где используется этот документ.

Связанные документы