Стандарт: SOLPDT 1.1 — Agentic Trust Layer Extension
Настоящее приложение определяет структуру accounting_asset_details — расширения метаданных Payload-V2, обеспечивающего автоматизированный учёт нематериальных активов (НМА) в соответствии с российскими и международными стандартами.
Блок accounting_asset_details содержит всю информацию, необходимую для:
Блок является опциональным в структуре Payload-V2, но обязателен для присвоения статуса nma: true (см. раздел 2.1 основной спецификации).
Блок 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"
} "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
}
} | Поле | Тип | Обязательность | Описание |
|---|---|---|---|
asset_classification | String | required | Классификация актива. Рекомендуемые значения: intangible_digital_rights (цифровые права), ai_agent_performance (производительность ИИ-агента), verified_reputation (верифицированная репутация). |
inventory_number | String | required | Уникальный инвентарный номер актива в учётной системе организации. Рекомендуемый формат: SOL-PDT-YYYY-NNN. |
| Поле | Тип | Обязательность | Описание |
|---|---|---|---|
identifiability | String | required | Способ идентификации актива. Фиксированное значение: unique_payload_v2_id. Означает, что актив идентифицируется по хешу h (PAH) в Payload-V2. |
control_proof | String | required | Доказательство контроля. Фиксированное значение: sig.a_ownership_verification. Означает, что контроль подтверждается валидной подписью sig.a. |
future_economic_benefits | String | required | Ожидаемые экономические выгоды. Возможные значения: expected_revenue_stream (ожидаемый поток доходов), cost_savings (экономия затрат), reputation_value (репутационная ценность). |
| Поле | ФСБУ 14/2022 | IAS 38 |
|---|---|---|
identifiability | пп. «а» п. 4 — способность быть идентифицированным | п. 12 — идентифицируемость |
control_proof | пп. «б» п. 4 — контроль над активом | п. 13 — контроль |
future_economic_benefits | пп. «в» п. 4 — будущие экономические выгоды | п. 17 — ожидаемые выгоды |
| Поле | Тип | Обязательность | Описание |
|---|---|---|---|
initial_cost_basis | String | required | Основание для формирования первоначальной стоимости. Значения: historical_transaction_value (по историческим затратам), market_price_at_acquisition (по рыночной цене приобретения), expert_valuation (по экспертной оценке). |
valuation_method | String | required | Модель учёта. Значения: cost_model (по первоначальной стоимости), revaluation_model (по переоценённой стоимости). |
revaluation_enabled | Boolean | required | Разрешена ли переоценка. Если false, актив учитывается только по первоначальной стоимости за вычетом амортизации. |
initial_cost.amount | Number | required | Первоначальная стоимость в числовом выражении. |
initial_cost.currency | String | required | Валюта стоимости по ISO 4217 (RUB, USD, EUR). |
initial_cost.rate_source | String | required | Источник курса (оракул). Например: Pyth-Network-Mainnet. |
initial_cost.rate_snapshot_tx | String | required | Хеш транзакции, зафиксировавшей курс на момент признания актива. |
| Поле | Тип | Обязательность | Описание |
|---|---|---|---|
useful_life_months | Integer | required | Срок полезного использования в месяцах. Согласно ФСБУ 14/2022, для признания НМА должен быть более 12 месяцев (≥ 13). |
amortization_method | String | required | Метод амортизации. Допустимые значения: straight_line (линейный), declining_balance (уменьшаемого остатка), units_of_production (пропорционально объёму). По умолчанию: straight_line. |
residual_value | Number | required | Ликвидационная стоимость. Для цифровых активов обычно 0.00. |
start_date_trigger | String | required | Триггер начала амортизации. Значения: first_settlement_timestamp (дата первой успешной транзакции), manual (ручное указание). |
start_date | String / null | Опционально | Фактическая дата начала амортизации в формате ISO 8601. Заполняется автоматически при срабатывании триггера. |
useful_life_months должно быть ≥ 13.
| Поле | Тип | Обязательность | Описание |
|---|---|---|---|
frequency | String | required | Периодичность тестирования: monthly, quarterly, annual. |
trigger_conditions | Array[String] | required | Список условий, при которых тест запускается вне планового периода. |
last_test_timestamp | String / null | Опционально | Время последнего теста (ISO 8601). |
last_test_result | String / null | Опционально | Результат последнего теста: passed, impaired, written_off. |
| Триггер | Описание |
|---|---|
pdt_score_below_0.5_for_30_days | PDT-Score ниже 0.5 в течение 30 дней подряд |
trl_revocation | Внесение агента в реестр отозванного доверия (TRL) |
market_value_drop_50_percent | Падение рыночной стоимости аналогичных активов на 50% и более |
significant_adverse_legal_change | Существенное неблагоприятное изменение законодательства |
obsolescence | Технологическое устаревание актива |
| Поле | Тип | Обязательность | Описание |
|---|---|---|---|
sync_enabled | Boolean | required | Включена ли синхронизация с учётной системой. |
erp_system | String / null | Опционально | Название ERP-системы (1C_Enterprise, SAP_S4HANA, Oracle_Fusion). |
sync_endpoint_url | String / null | Опционально | URL для отправки данных (веб-хук). |
last_sync_timestamp | String / null | Опционально | Время последней успешной синхронизации (ISO 8601). |
| Поле | Тип | Обязательность | Описание |
|---|---|---|---|
created_at | String / null | Опционально | Время создания записи (ISO 8601). |
created_by_tx | String / null | Опционально | Хеш транзакции, создавшей запись. |
updated_at | String / null | Опционально | Время последнего обновления (ISO 8601). |
updated_by_tx | String / null | Опционально | Хеш транзакции, внёсшей последние изменения. |
version | Integer | required | Версия записи (начинается с 1). |
Для метода 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
} Присвоение статуса nma: true в Payload-V2 возможно только при одновременном выполнении условий:
sig.a от аккредитованного Лицензиараaccounting_asset_detailsuseful_life_months ≥ 13 (соответствие ФСБУ 14/2022)recognition_criteria.control_proof = sig.a_ownership_verificationrecognition_criteria.future_economic_benefits ≠ nullПоле initial_cost.rate_snapshot_tx должно ссылаться на транзакцию, указанную в settlement_context.tx_id (при использовании метода on-chain-direct). Это обеспечивает неразрывную связь между фактом оплаты и формированием первоначальной стоимости.
При внесении агента в TRL:
nma принудительно сбрасывается в falseimpairment_test обновляется: last_test_result = "written_off"При синхронизации с 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>
sync_enabled: trueerp_system (например, 1C_Enterprise_8.3)sync_endpoint_url — адрес веб-сервиса 1С"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
}
} | № | Проверка | Критерий |
|---|---|---|
| 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