{
  "proof": {
    "id": 10,
    "buyerLabel": "Разработка для бизнеса: владельцам магазинов, складов и производств",
    "deliverableTitle": "Сверка энергозатрат с влиянием тарифа",
    "deliverableDescription": "Сопоставимые периоды, потребление, тариф и источник для проверки расхождения.",
    "pilotInputs": [
      "Счета двух равных периодов",
      "Показания с датами",
      "Тарифы и правила сопоставимости"
    ],
    "pilotAcceptance": "При 1 000 кВт·ч и тарифе 6 → 7 ₽ рост 1 000 ₽ целиком относится к тарифу; влияние потребления равно нулю.",
    "scenario": {
      "title": "Потребление прежнее, вырос только тариф",
      "before": "ЭН-014: за оба равных периода потребление 1 000 кВт·ч; прежний тариф 6 ₽/кВт·ч, новый 7 ₽/кВт·ч.",
      "conflict": "Сумма выросла с 6 000 до 7 000 ₽ при неизменном потреблении; рост нельзя приписать оборудованию.",
      "decision": "Зафиксировать влияние потребления 0 ₽, влияние тарифа 1 000 ₽ и сверить новый тариф со счётом.",
      "after": "ЭН-014: рост оплаты 1 000 ₽ объяснён только тарифом; потребление осталось 1 000 кВт·ч, неисправность не установлена."
    }
  },
  "version": "0.4",
  "status": "Проект для согласования",
  "solutionId": 10,
  "slug": "energy-control",
  "title": "Контроль энергозатрат",
  "goal": "Разбирайте рост энергозатрат по счетам и показаниям",
  "buyer": "Собственник сети магазинов, склада или производства",
  "system": "Учёт объекта / хозяйства",
  "reviewer": "Ответственный за объект и проверяющий",
  "entities": "Объект, период, событие",
  "phases": [
    {
      "title": "Разобрать ваш процесс",
      "description": "Суммы счетов растут без понятного объяснения",
      "work": "Сверяем исходные примеры, роли и исключения. Фиксируем один сценарий пилота.",
      "result": "Схема процесса и согласованный состав первой версии."
    },
    {
      "title": "Собрать рабочий прототип",
      "description": "Сверка периодов",
      "work": "Показываем интерфейс и правила на согласованной выборке. Проверяем неоднозначные случаи с вашей командой.",
      "result": "Сравнение расходов"
    },
    {
      "title": "Подключить данные",
      "description": "Счета и тарифы",
      "work": "Сначала проверяем доступные выгрузки и интерфейсы. Если обмен возможен, согласуем поля, направления и права записи.",
      "result": "Подтверждённый способ обмена либо согласованный импорт. Если интерфейса нет — зафиксированное ограничение и решение о следующем шаге."
    },
    {
      "title": "Проверить в работе",
      "description": "Расчёт раскрывает исходные значения",
      "work": "Проводим контрольные сценарии, обучаем ответственных, передаём документацию и порядок восстановления.",
      "result": "Журнал проверки"
    }
  ],
  "mapping": [
    {
      "field": "Предыдущий период",
      "type": "number",
      "unit": "кВт·ч",
      "example": "1000",
      "rule": "Правило и обязательность подтверждаются на ваших исходниках."
    },
    {
      "field": "Текущий период",
      "type": "number",
      "unit": "кВт·ч",
      "example": "1200",
      "rule": "Правило и обязательность подтверждаются на ваших исходниках."
    },
    {
      "field": "Тариф текущего периода",
      "type": "number",
      "unit": "₽/кВт·ч",
      "example": "7",
      "rule": "Правило и обязательность подтверждаются на ваших исходниках."
    },
    {
      "field": "Тариф предыдущего периода",
      "type": "number",
      "unit": "₽/кВт·ч",
      "example": "6",
      "rule": "Правило и обязательность подтверждаются на ваших исходниках."
    }
  ],
  "flow": [
    {
      "label": "Ваши исходники",
      "text": "Счета и тарифы"
    },
    {
      "label": "Правила и интерфейс",
      "text": "Сравнение объектов и периодов"
    },
    {
      "label": "Проверка сотрудником",
      "text": "Ответственный за объект и проверяющий"
    },
    {
      "label": "Результат в работе",
      "text": "Журнал проверки"
    }
  ],
  "scope": [
    "Сверка периодов",
    "Сравнение расходов",
    "Журнал проверки"
  ],
  "inputs": [
    "Счета и тарифы",
    "Показания и даты",
    "Характеристики объектов"
  ],
  "acceptance": [
    "Расчёт раскрывает исходные значения",
    "Разные периоды не сравниваются скрыто",
    "Пропуски и расчётные данные обозначены"
  ],
  "boundary": "Не энергоаудит и не обещание экономии; причины требуют проверки на объекте.",
  "budgets": [
    [
      50,
      100
    ],
    [
      160,
      350
    ],
    [
      350,
      700
    ]
  ],
  "group": "process",
  "openQuestions": [
    "Есть ли счета и показания за сопоставимые периоды?",
    "Какие изменения режима работы могли повлиять на расход?",
    "Какие системы, версии и способы выгрузки используются сейчас?",
    "Кто подтверждает результат и кому разрешено менять правила?"
  ],
  "failureCases": [
    "Неполные или некорректные вводные: показать конкретные поля, не выдавать успешный результат.",
    "Неоднозначное соответствие или редакция: передать ответственному на проверку.",
    "Повторная отправка: исключить повторное создание по согласованному идентификатору.",
    "Недоступный внешний источник: сохранить состояние, показать ошибку и согласованный повтор.",
    "Изменение подтверждённых вводных: новая редакция и повторное подтверждение."
  ],
  "rights": [
    "Просмотр — только разрешённые записи и результаты.",
    "Исполнение — ввод и исправление в пределах назначенных задач.",
    "Согласование — подтверждение результата и возврат с причиной.",
    "Администрирование — пользователи, справочники и версии правил."
  ],
  "custom": "Возможна разработка отдельного решения под уникальный процесс, собственные правила, интерфейсы и инфраструктуру компании."
}