SOLPDT 1.1 | APPENDIX D
ACCOUNTING ASSET DETAILS | NMA CONTEXT

Приложение D: Бухгалтерский контекст актива
Accounting Asset Details

Стандарт: SOLPDT 1.1 — Agentic Trust Layer Extension

D.1. Назначение

Настоящее приложение определяет структуру accounting_asset_details — расширения метаданных Payload-V2, обеспечивающего автоматизированный учёт нематериальных активов (НМА) в соответствии с российскими и международными стандартами.

Блок accounting_asset_details содержит всю информацию, необходимую для:

  • Признания цифрового актива в качестве НМА на балансе организации
  • Автоматического расчёта амортизации
  • Проведения тестов на обесценение
  • Интеграции с ERP-системами (1С, SAP, Oracle)
  • Формирования инвентарных карточек и аудиторских отчётов

Блок является опциональным в структуре Payload-V2, но обязателен для присвоения статуса nma: true (см. раздел 2.1 основной спецификации).

D.2. Место в структуре Payload-V2

Блок accounting_asset_details размещается как дочерний объект внутри поля d (Data) структуры Payload-V2. Рекомендуемая позиция:

{
  "v": "1.1",
  "p": "SOLPDT",
  "h": "0x7a3f8e2c9b1d5a6e4f8c3b2a1d5e7f9c2b4a6d8e",
  "sig": {
    "a": "3mQrP9xYtZv7wK1LmNpQ2rS5tU8vW2xYz4A6B8C0D"
  },
  "d": {
    "s": 0.98,
    "dr": 0.01,
    "accounting_asset_details": {
      // Содержимое согласно настоящему Приложению
    }
  },
  "nma": true,
  "uri": "https://solpdt.com/verify/0x7a3f8e2c"
}

D.3. JSON-схема accounting_asset_details

"accounting_asset_details": {
  "asset_classification": "intangible_digital_rights",
  "inventory_number": "SOL-PDT-2026-001",
  "recognition_criteria": {
    "identifiability": "unique_payload_v2_id",
    "control_proof": "sig.a_ownership_verification",
    "future_economic_benefits": "expected_revenue_stream"
  },
  "valuation_parameters": {
    "initial_cost_basis": "historical_transaction_value",
    "valuation_method": "cost_model",
    "revaluation_enabled": false,
    "initial_cost": {
      "amount": 150000.00,
      "currency": "RUB",
      "rate_source": "Pyth-Network-Mainnet",
      "rate_snapshot_tx": "5kP9xYtZv7wK1LmNpQ2rS5tU8vW2xYz4A6B8C0D"
    }
  },
  "amortization_policy": {
    "useful_life_months": 24,
    "amortization_method": "straight_line",
    "residual_value": 0.00,
    "start_date_trigger": "first_settlement_timestamp",
    "start_date": null
  },
  "impairment_test": {
    "frequency": "monthly",
    "trigger_conditions": [
      "pdt_score_below_threshold_for_period",
      "trl_revocation",
      "market_value_drop_significantly"
    ],
    "last_test_timestamp": null,
    "last_test_result": null
  },
  "erp_integration": {
    "sync_enabled": true,
    "erp_system": null,
    "sync_endpoint_url": null,
    "last_sync_timestamp": null
  },
  "audit_trail": {
    "created_at": null,
    "created_by_tx": null,
    "updated_at": null,
    "updated_by_tx": null,
    "version": 1
  }
}

D.4. Описание полей

D.4.1. Основные идентификационные поля

ПолеТипОбязательностьОписание
asset_classificationStringrequiredКлассификация актива. Рекомендуемые значения: intangible_digital_rights (цифровые права), ai_agent_performance (производительность ИИ-агента), verified_reputation (верифицированная репутация).
inventory_numberStringrequiredУникальный инвентарный номер актива в учётной системе организации. Рекомендуемый формат: SOL-PDT-YYYY-NNN.

D.4.2. Блок recognition_criteria (Критерии признания НМА)

ПолеТипОбязательностьОписание
identifiabilityStringrequiredСпособ идентификации актива. Фиксированное значение: unique_payload_v2_id. Означает, что актив идентифицируется по хешу h (PAH) в Payload-V2.
control_proofStringrequiredДоказательство контроля. Фиксированное значение: sig.a_ownership_verification. Означает, что контроль подтверждается валидной подписью sig.a.
future_economic_benefitsStringrequiredОжидаемые экономические выгоды. Возможные значения: expected_revenue_stream (ожидаемый поток доходов), cost_savings (экономия затрат), reputation_value (репутационная ценность).
Соответствие стандартам:
ПолеФСБУ 14/2022IAS 38
identifiabilityпп. «а» п. 4 — способность быть идентифицированнымп. 12 — идентифицируемость
control_proofпп. «б» п. 4 — контроль над активомп. 13 — контроль
future_economic_benefitsпп. «в» п. 4 — будущие экономические выгодып. 17 — ожидаемые выгоды

D.4.3. Блок valuation_parameters (Параметры оценки)

ПолеТипОбязательностьОписание
initial_cost_basisStringrequiredОснование для формирования первоначальной стоимости. Значения: historical_transaction_value (по историческим затратам), market_price_at_acquisition (по рыночной цене приобретения), expert_valuation (по экспертной оценке).
valuation_methodStringrequiredМодель учёта. Значения: cost_model (по первоначальной стоимости), revaluation_model (по переоценённой стоимости).
revaluation_enabledBooleanrequiredРазрешена ли переоценка. Если false, актив учитывается только по первоначальной стоимости за вычетом амортизации.
initial_cost.amountNumberrequiredПервоначальная стоимость в числовом выражении.
initial_cost.currencyStringrequiredВалюта стоимости по ISO 4217 (RUB, USD, EUR).
initial_cost.rate_sourceStringrequiredИсточник курса (оракул). Например: Pyth-Network-Mainnet.
initial_cost.rate_snapshot_txStringrequiredХеш транзакции, зафиксировавшей курс на момент признания актива.

D.4.4. Блок amortization_policy (Политика амортизации)

ПолеТипОбязательностьОписание
useful_life_monthsIntegerrequiredСрок полезного использования в месяцах. Согласно ФСБУ 14/2022, для признания НМА должен быть более 12 месяцев (≥ 13).
amortization_methodStringrequiredМетод амортизации. Допустимые значения: straight_line (линейный), declining_balance (уменьшаемого остатка), units_of_production (пропорционально объёму). По умолчанию: straight_line.
residual_valueNumberrequiredЛиквидационная стоимость. Для цифровых активов обычно 0.00.
start_date_triggerStringrequiredТриггер начала амортизации. Значения: first_settlement_timestamp (дата первой успешной транзакции), manual (ручное указание).
start_dateString / nullОпциональноФактическая дата начала амортизации в формате ISO 8601. Заполняется автоматически при срабатывании триггера.
Примечание по срокам: ФСБУ 14/2022 (пп. «в» п. 4) требует, чтобы объект использовался в течение периода более 12 месяцев. Значение useful_life_months должно быть ≥ 13.

D.4.5. Блок impairment_test (Тест на обесценение)

ПолеТипОбязательностьОписание
frequencyStringrequiredПериодичность тестирования: monthly, quarterly, annual.
trigger_conditionsArray[String]requiredСписок условий, при которых тест запускается вне планового периода.
last_test_timestampString / nullОпциональноВремя последнего теста (ISO 8601).
last_test_resultString / nullОпциональноРезультат последнего теста: passed, impaired, written_off.
Стандартные триггеры обесценения (примеры):
ТриггерОписание
pdt_score_below_threshold_for_periodPDT-Score ниже критического порога (например, 0.5) в течение установленного периода (например, 30 дней).
trl_revocationВнесение агента в реестр отозванного доверия (TRL).
market_value_drop_significantlyПадение рыночной стоимости аналогичных активов более чем на установленный процент (например, 50%).
significant_adverse_legal_changeСущественное неблагоприятное изменение законодательства.
obsolescenceТехнологическое устаревание актива.

D.4.6. Блок erp_integration (Интеграция с ERP)

ПолеТипОбязательностьОписание
sync_enabledBooleanrequiredВключена ли синхронизация с учётной системой.
erp_systemString / nullОпциональноНазвание ERP-системы (1C_Enterprise, SAP_S4HANA, Oracle_Fusion).
sync_endpoint_urlString / nullОпциональноURL для отправки данных (веб-хук).
last_sync_timestampString / nullОпциональноВремя последней успешной синхронизации (ISO 8601).

D.4.7. Блок audit_trail (Аудиторский след)

ПолеТипОбязательностьОписание
created_atString / nullОпциональноВремя создания записи (ISO 8601).
created_by_txString / nullОпциональноХеш транзакции, создавшей запись.
updated_atString / nullОпциональноВремя последнего обновления (ISO 8601).
updated_by_txString / nullОпциональноХеш транзакции, внёсшей последние изменения.
versionIntegerrequiredВерсия записи (начинается с 1).

D.5. Расчёт амортизации (линейный метод)

Для метода straight_line формула расчёта ежемесячной амортизации:

Ежемесячная амортизация = (initial_cost.amount - residual_value) / useful_life_months

Пример расчёта (типовые значения)

// Входные данные (пример)
const initialCost = 150000.00;      // RUB
const residualValue = 0.00;         // RUB
const usefulLifeMonths = 24;        // месяца

// Расчёт
const monthlyAmortization = (initialCost - residualValue) / usefulLifeMonths;
// Результат: 6250.00 RUB в месяц

// Накопленная амортизация через N месяцев
const elapsedMonths = 8;
const accumulatedAmortization = monthlyAmortization * elapsedMonths;
// Результат: 50000.00 RUB

// Остаточная стоимость (Net Book Value)
const nbv = initialCost - accumulatedAmortization;
// Результат: 100000.00 RUB
Примечание: Полная референсная имплементация, включая формулы для расчёта по Unix-времени и методы ускоренной амортизации, приведена в Приложении E: Амортизация (Amortization Reference).

D.6. Взаимодействие с другими компонентами SOLPDT

D.6.1. Связь с nma: true

Присвоение статуса nma: true в Payload-V2 возможно только при одновременном выполнении условий:

  • Наличие валидной подписи sig.a от Уполномоченного Лицензиара (DAT-A)
  • Наличие заполненного блока accounting_asset_details
  • useful_life_months ≥ 13 (соответствие ФСБУ 14/2022)
  • recognition_criteria.control_proof = sig.a_ownership_verification
  • recognition_criteria.future_economic_benefits ≠ null

D.6.2. Связь с settlement_context

Поле initial_cost.rate_snapshot_tx должно ссылаться на транзакцию, указанную в settlement_context.tx_id (при использовании метода on-chain-direct). Это обеспечивает неразрывную связь между фактом оплаты и формированием первоначальной стоимости.

D.6.3. Связь с TRL (реестр отозванного доверия)

При внесении агента в TRL:

  • Поле nma принудительно сбрасывается в false
  • Блок impairment_test обновляется: last_test_result = "written_off"
  • Остаточная стоимость актива обнуляется (подробнее в Приложении F: Протокол списания)

D.7. Интеграция с ERP-системами

Для обеспечения мультиплатформенной совместимости, обмен данными между Compliance-Gateway и ERP-системой должен осуществляться с использованием универсальной JSON-схемы, описанной в Приложении E (Раздел E.5).

Данные из этой схемы могут быть преобразованы в нативные форматы конкретных ERP-систем.

Рекомендации по настройке синхронизации:

  • Указать sync_enabled: true
  • Заполнить erp_system (например, 1C_Enterprise_8.3)
  • Указать sync_endpoint_url — адрес веб-хука ERP-системы
  • Настроить периодичность отправки данных (рекомендуется ежемесячно, при закрытии периода)

D.8. Пример полностью заполненного блока

"accounting_asset_details": {
  "asset_classification": "intangible_digital_rights",
  "inventory_number": "SOL-PDT-2026-042",
  "recognition_criteria": {
    "identifiability": "unique_payload_v2_id",
    "control_proof": "sig.a_ownership_verification",
    "future_economic_benefits": "expected_revenue_stream"
  },
  "valuation_parameters": {
    "initial_cost_basis": "historical_transaction_value",
    "valuation_method": "cost_model",
    "revaluation_enabled": false,
    "initial_cost": {
      "amount": 150000.00,
      "currency": "RUB",
      "rate_source": "Pyth-Network-Mainnet",
      "rate_snapshot_tx": "5kP9xYtZv7wK1LmNpQ2rS5tU8vW2xYz4A6B8C0D"
    }
  },
  "amortization_policy": {
    "useful_life_months": 24,
    "amortization_method": "straight_line",
    "residual_value": 0.00,
    "start_date_trigger": "first_settlement_timestamp",
    "start_date": "2026-04-09T10:30:00Z"
  },
  "impairment_test": {
    "frequency": "monthly",
    "trigger_conditions": [
      "pdt_score_below_threshold_for_period",
      "trl_revocation"
    ],
    "last_test_timestamp": "2026-04-09T10:30:00Z",
    "last_test_result": "passed"
  },
  "erp_integration": {
    "sync_enabled": true,
    "erp_system": "1C_Enterprise_8.3",
    "sync_endpoint_url": "https://erp.company.ru/solpdt/webhook",
    "last_sync_timestamp": null
  },
  "audit_trail": {
    "created_at": "2026-04-09T10:30:00Z",
    "created_by_tx": "3mQrP9xYtZv7wK1LmNpQ2rS5tU8vW2xYz4A6B8C0D",
    "updated_at": null,
    "updated_by_tx": null,
    "version": 1
  }
}

D.9. Чек-лист для бухгалтера (краткий)

ПроверкаКритерий
1Срок полезного использованияuseful_life_months ≥ 13
2Наличие sig.aПодпись Уполномоченного Лицензиара (DAT-A) валидна и не в TRL
3Первоначальная стоимостьinitial_cost.amount > 0
4Инвентарный номерУникален в учётной системе
5Метод амортизацииСоответствует учётной политике
6Дата начала амортизацииstart_date заполнена корректно
7Тест на обесценениеlast_test_result = passed на отчётную дату