SOLPDT 1.1 | APPENDIX D
ACCOUNTING ASSET DETAILS | NMA CONTEXT
SOLPDT 1.1 | AGENTIC TRUST LAYER EXTENSION

Приложение 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",
    "n": "5YtXz2M4pQ7rS9tU1vW3xY5zA7bC9dE1fG3hJ5kL7"
  },
  "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_0.5_for_30_days",
      "trl_revocation",
      "market_value_drop_50_percent"
    ],
    "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_0.5_for_30_daysPDT-Score ниже 0.5 в течение 30 дней подряд
trl_revocationВнесение агента в реестр отозванного доверия (TRL)
market_value_drop_50_percentПадение рыночной стоимости аналогичных активов на 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

Интеграция с блокчейн-временем

В среде Solana расчёт ведётся по Unix-времени:

// Упрощённая логика смарт-контракта
fn calculate_current_nbv(
    initial_cost: u64,
    useful_life_months: u64,
    start_timestamp: i64,
    current_timestamp: i64
) -> u64 {
    let seconds_in_month: u64 = 2_629_743; // 30.44 дня
    let total_life_seconds = useful_life_months * seconds_in_month;
    let elapsed_seconds = (current_timestamp - start_timestamp) as u64;
    
    if elapsed_seconds >= total_life_seconds {
        return 0; // Полностью самортизирован
    }
    
    let amortization = (initial_cost * elapsed_seconds) / total_life_seconds;
    initial_cost - amortization
}
Примечание: Полная референсная имплементация приведена в Приложении E: Амортизация (Amortization Reference).

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

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

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

  • Наличие валидной подписи sig.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-системами

D.7.1. Формат экспорта в 1С:Предприятие

При синхронизации с 1С через HTTP-сервис, Compliance-Gateway формирует XML-пакет следующей структуры:

<?xml version="1.0" encoding="UTF-8"?>
<SOLPDT_Asset>
  <InventoryNumber>SOL-PDT-2026-001</InventoryNumber>
  <Name>Цифровое право / AI-Agent Payload</Name>
  <AssetType>НМА</AssetType>
  <InitialCost>150000.00</InitialCost>
  <Currency>RUB</Currency>
  <UsefulLifeMonths>24</UsefulLifeMonths>
  <AmortizationMethod>Линейный</AmortizationMethod>
  <StartDate>2026-04-09</StartDate>
  <MonthlyAmortization>6250.00</MonthlyAmortization>
  <CurrentNBV>100000.00</CurrentNBV>
  <PDT_Score>0.98</PDT_Score>
  <VerificationURI>https://solpdt.com/verify/0x7a3f8e2c</VerificationURI>
  <LastUpdate>2026-04-09T10:30:00Z</LastUpdate>
</SOLPDT_Asset>

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

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

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_0.5_for_30_days",
      "trl_revocation",
      "market_value_drop_50_percent"
    ],
    "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Подпись валидна и не в TRL
3Первоначальная стоимостьinitial_cost.amount > 0
4Инвентарный номерУникален в учётной системе
5Метод амортизацииСоответствует учётной политике
6Дата начала амортизацииstart_date заполнена корректно
7Тест на обесценениеlast_test_result = passed на отчётную дату

КОРНЕВОЙ УЗЕЛ (СОЗДАТЕЛЬ СТАНДАРТА): Юрий Соколов (SOL Trust Network)
КОНТАКТЫ: standards@solpdt.com