{
  "proof": {
    "id": 27,
    "buyerLabel": "Разработка для бизнеса: пекарням, кондитерским и пищевым цехам",
    "deliverableTitle": "Расчёт сырьевой стоимости партии и изделия",
    "deliverableDescription": "Сырьевая стоимость партии и единицы отдельно от полной себестоимости.",
    "pilotInputs": [
      "Рецептура с единицами",
      "Цены сырья на дату",
      "Выход и контрольный расчёт"
    ],
    "pilotAcceptance": "Суммы совпадают с контрольным примером и названы сырьевой стоимостью.",
    "scenario": {
      "title": "Сырьевые затраты не равны полной себестоимости",
      "before": "РЦ-014: мука 2 кг × 60 ₽, сахар 0,5 кг × 80 ₽; выход 20.",
      "conflict": "Труд, энергия и упаковка не учтены; полной себестоимости нет.",
      "decision": "Сложить сырьё 120 + 40 = 160 ₽ и разделить на 20 изделий.",
      "after": "РЦ-014: сырьё 160 ₽ на партию, 8 ₽ на изделие; прочие статьи исключены."
    }
  },
  "version": "0.4",
  "status": "Проект для согласования",
  "solutionId": 27,
  "slug": "recipe-cost",
  "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": "2",
      "rule": "Правило и обязательность подтверждаются на ваших исходниках."
    },
    {
      "field": "Учебная цена муки",
      "type": "number",
      "unit": "₽/кг",
      "example": "60",
      "rule": "Правило и обязательность подтверждаются на ваших исходниках."
    },
    {
      "field": "Сахар",
      "type": "number",
      "unit": "кг",
      "example": "0.5",
      "rule": "Правило и обязательность подтверждаются на ваших исходниках."
    },
    {
      "field": "Учебная цена сахара",
      "type": "number",
      "unit": "₽/кг",
      "example": "80",
      "rule": "Правило и обязательность подтверждаются на ваших исходниках."
    }
  ],
  "flow": [
    {
      "label": "Ваши исходники",
      "text": "Рецептура"
    },
    {
      "label": "Правила и интерфейс",
      "text": "Выход и потери"
    },
    {
      "label": "Проверка сотрудником",
      "text": "Мастер участка и технолог"
    },
    {
      "label": "Результат в работе",
      "text": "История расчётов"
    }
  ],
  "scope": [
    "Расчёт партии и единицы",
    "Расшифровка состава",
    "История расчётов"
  ],
  "inputs": [
    "Рецептура",
    "Цены с датами",
    "Выход и статьи затрат"
  ],
  "acceptance": [
    "Формула проходит контрольный пример",
    "Единицы сопоставимы",
    "Исторический расчёт не изменяется"
  ],
  "boundary": "Сырьевая стоимость отличается от полной себестоимости; безопасность рецептуры не оценивается.",
  "budgets": [
    [
      90,
      180
    ],
    [
      280,
      600
    ],
    [
      600,
      1200
    ]
  ],
  "group": "industrial",
  "openQuestions": [
    "Есть ли утверждённая рецептура и фактический выход?",
    "Какие статьи кроме сырья требуется включать в расчёт?",
    "Какие системы, версии и способы выгрузки используются сейчас?",
    "Кто подтверждает результат и кому разрешено менять правила?"
  ],
  "failureCases": [
    "Неполные или некорректные вводные: показать конкретные поля, не выдавать успешный результат.",
    "Неоднозначное соответствие или редакция: передать ответственному на проверку.",
    "Повторная отправка: исключить повторное создание по согласованному идентификатору.",
    "Недоступный внешний источник: сохранить состояние, показать ошибку и согласованный повтор.",
    "Изменение подтверждённых вводных: новая редакция и повторное подтверждение."
  ],
  "rights": [
    "Просмотр — только разрешённые записи и результаты.",
    "Исполнение — ввод и исправление в пределах назначенных задач.",
    "Согласование — подтверждение результата и возврат с причиной.",
    "Администрирование — пользователи, справочники и версии правил."
  ],
  "custom": "Возможна разработка отдельного решения под уникальный процесс, собственные правила, интерфейсы и инфраструктуру компании."
}