> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yume.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Модули: доставки, мастерская, воронки, склад, инвентаризации

> Отчётность прикладных модулей: доставки, мастерская и её ресурсы, воронки продаж, продажи со склада, инвентаризации.

Полный перечень полей — в [глоссарии](/ru/logic/metrics/modules-glossary).

## Что покрывает эта страница

Здесь описаны пять отчётов, которые показывают работу прикладных модулей компании: доставки инвентаря, мастерская и её ресурсы, воронка продаж, продажи со склада и инвентаризации (изменения состояния инвентаря). Каждый отчёт строится на лету по текущим данным — ничего из перечисленного не хранится в базе как готовая метрика, все суммы и счётчики пересчитываются при каждом запросе.

## Отчёт по доставкам

### Источник и группировка

Отчёт берёт все записи «Доставка аренды» — задания на доставку или самовывоз инвентаря — и группирует их по исполнителю (сотруднику, назначенному на доставку). Доставки без исполнителя в список не попадают.

Отчёт поддерживает фильтрацию по дате создания и по дате назначения доставки, а также по типу и статусу.

### Что считается по каждому исполнителю

| Поле                                                      | Тип             | Назначение                                                                                   |
| --------------------------------------------------------- | --------------- | -------------------------------------------------------------------------------------------- |
| Всего доставок                                            | число           | Количество доставок исполнителя (без фильтра по статусу)                                     |
| По статусам (ожидает / в процессе / выполнена / отменена) | число           | Количество доставок в каждом статусе                                                         |
| По типу (доставка / самовывоз)                            | число           | Количество доставок каждого типа                                                             |
| Сумма стоимости по каждому статусу и типу                 | число (2 знака) | Сумма поля «Стоимость доставки» с тем же разбиением                                          |
| Дата последней доставки                                   | дата/время      | Наибольшая дата фактического завершения среди доставок, у которых зафиксировано время выдачи |

<Note>
  «Дата последней доставки» рассчитывается только по тем доставкам, где отмечено время фактической выдачи инвентаря исполнителю. Если доставка была отмечена выполненной, но время выдачи не зафиксировано, она не учитывается в этом показателе.
</Note>

Список исполнителей можно сортировать по любому из перечисленных счётчиков и сумм, а также по дате последней доставки.

### Общие итоги отчёта

Отдельно (в шапке страницы с постраничным выводом) отчёт показывает:

* те же счётчики и суммы, но по всем доставкам, попавшим под фильтр, без разбивки по исполнителю;
* исполнителя с наибольшим числом выполненных доставок, вместе с количеством и суммой его выполненных доставок;
* среднюю стоимость выполненной доставки;
* среднюю длительность доставки — среднее время между моментом выдачи инвентаря исполнителю и моментом фактической доставки клиенту, посчитанное только по выполненным доставкам, у которых заполнены обе даты.

<Warning>
  Средняя длительность доставки считается по разнице «дата фактической доставки минус дата выдачи исполнителю», а не по «дата фактической доставки минус дата назначения». Если доставка долго ждала выдачи исполнителю, это время в показатель длительности не попадает.
</Warning>

## Отчёт по мастерской

### Источник и группировка

Отчёт берёт все задачи мастерской и группирует их по исполнителю; задачи без назначенного исполнителя в список не попадают. Отчёт поддерживает поиск по названию и (если в тарифе компании включён учёт автомобилей) по номеру и техпаспорту автомобиля, а также фильтрацию по дате создания, автору, исполнителю, инвентарю, типу, статусу и клиенту.

Для каждой задачи на лету вычисляются два значения, которые в базе не хранятся:

* **длительность** — разница между датой завершения (плановой, если задача ещё выполняется, или фактической, если она уже закрыта) и датой создания задачи;
* **признак просрочки** — задача считается просроченной, если она ещё не завершена и не в архиве (то есть находится в статусе «Новая» или «В процессе»), а дата завершения уже наступила в прошлом.

### Что считается по каждому исполнителю

| Поле                                                               | Тип             | Назначение                                                          |
| ------------------------------------------------------------------ | --------------- | ------------------------------------------------------------------- |
| Количество по статусам (новая / в процессе / завершена / в архиве) | число           | Число задач исполнителя в каждом статусе                            |
| Количество активных задач                                          | число           | Сумма задач в статусах «Новая» и «В процессе»                       |
| Количество просроченных задач                                      | число           | Число задач с признаком просрочки                                   |
| Сумма итоговой стоимости по каждому статусу и по активным задачам  | число (2 знака) | Сумма поля «Итоговая стоимость» с тем же разбиением                 |
| Итоговая стоимость (всего)                                         | число (2 знака) | Сумма стоимости всех задач исполнителя                              |
| Средняя стоимость задачи                                           | число (2 знака) | Среднее значение итоговой стоимости по задачам исполнителя          |
| Стоимость услуг (всего)                                            | число (2 знака) | Сумма поля «Стоимость услуг» по задачам исполнителя                 |
| Стоимость ресурсов (всего)                                         | число (2 знака) | Сумма поля «Стоимость ресурсов» по задачам исполнителя              |
| Оплачено (всего)                                                   | число (2 знака) | Сумма поля «Оплачено» по задачам исполнителя                        |
| Средняя длительность                                               | длительность    | Среднее время выполнения, посчитанное только по завершённым задачам |
| Дата последней задачи                                              | дата/время      | Самая поздняя дата создания задачи у исполнителя                    |

Список заявлен как сортируемый по любому из этих показателей, включая длительность и признак просрочки, но сортировка именно по признаку просрочки в текущей реализации может искажать группировку по исполнителю (см. примечание ниже) — на неё лучше не полагаться.

### Общие итоги отчёта

В шапке отчёта, помимо тех же счётчиков и сумм по всем задачам под фильтром, показываются:

* исполнитель с наибольшим числом завершённых задач, вместе с их количеством и суммой;
* средняя длительность выполнения по всем завершённым задачам под фильтром.

<Info>
  Просрочка — это статус, вычисляемый заново при каждом запросе отчёта («сейчас позже плановой даты завершения, а задача ещё не закрыта»), а не поле, которое меняется и сохраняется в момент наступления просрочки. Если открыть отчёт позже, число просроченных задач может измениться даже без единого действия пользователя — просто потому, что время сдвинулось.
</Info>

## Отчёт по ресурсам мастерской

Этот отчёт задуман как отдельный список использованных в задачах мастерской ресурсов — конкретных единиц инвентаря, товарных групп, запчастей и материалов склада, списанных на задачи, — с теми же фильтрами, что и отчёт по мастерской (период создания задачи, автор, исполнитель, инвентарь, тип, статус, клиент) и той же возможностью поиска по названию (и по автомобилю, если этот учёт включён).

<Warning>
  В текущей реализации этот адрес фактически выдаёт список самих задач мастерской, а не список отдельных списаний ресурсов по ним: часть полей, которые должны показывать товарную группу и списанное количество, в ответе отсутствует, поскольку у задачи мастерской таких данных нет — источником строк должен быть перечень записей о ресурсах, а не перечень задач. Поля «стоимость» и «единица инвентаря» в ответе есть, но относятся к самой задаче, а не к конкретному списанию. Опираться на этот отчёт как на постатейную разбивку по ресурсам сейчас нельзя.
</Warning>

<Note>
  Отдельно в коде подготовлен формат агрегированной сводки «сколько всего потрачено такого-то ресурса и на какую сумму», но он пока не подключён ни к одному адресу API и в интерфейсе недоступен.
</Note>

## Отчёт по воронке продаж

### Параметры

Отчёт принимает период (по умолчанию — текущий календарный месяц, как и в других отчётах с периодом) и необязательный номер конкретной воронки. Если воронка не указана, отчёт считает показатели по лидам и этапам всех воронок компании сразу.

### Что показывает отчёт

| Поле                    | Тип           | Назначение                                                             |
| ----------------------- | ------------- | ---------------------------------------------------------------------- |
| Всего лидов             | число         | Общее количество лидов (сделок воронки), без ограничения по периоду    |
| Лидов за период         | число         | Количество лидов, созданных в выбранном периоде                        |
| Самый загруженный этап  | связь + число | Этап, на который за период пришло больше всего лидов                   |
| Скорость по этапам      | список        | Средняя длительность нахождения лида на каждом этапе                   |
| Скорость по сотрудникам | список        | Средняя скорость перевода лида на следующий этап по каждому сотруднику |

### Как определяется «самый загруженный этап»

Из всех этапов, кроме финальных (этапов типа «Успех» и «Отмена»), а также кроме отключённых этапов, выбирается тот, на который за выбранный период поступило больше всего лидов. Если ни на один этап за период не поступило ни одного лида, поле остаётся пустым.

### Как считается скорость по этапам и по сотрудникам

Источник — история переходов лида с этапа на этап. Для каждого перехода (кроме самого первого перехода лида, у которого нет предыдущего этапа) вычисляется, сколько времени прошло с момента предыдущего перехода этого же лида до текущего.

* **Скорость этапа** — среднее время, которое лиды провели на конкретном этапе, прежде чем перейти дальше (усредняется по всем переходам, где лид уходил с этого этапа, за выбранный период).
* **Скорость сотрудника** — среднее время между переходами, которые выполнил конкретный сотрудник (усредняется по всем переходам этого сотрудника за выбранный период, независимо от того, с какого этапа лид переходил).

<Warning>
  Переходы, у которых не заполнен сотрудник, выполнивший перевод, учитываются в средней длительности этапа, но не учитываются в средней скорости сотрудника — поэтому сумма «вкладов» по сотрудникам не обязана совпадать со сводкой по этапам.
</Warning>

<Note>
  Период фильтрует именно дату создания лида (а не дату перехода) при расчёте скорости по этапам и по сотрудникам — то есть в расчёт попадает вся история переходов лидов, которые были созданы в выбранном периоде, даже если сами переходы произошли позже или раньше границ периода.
</Note>

## Отчёт по продажам со склада

Состоит из двух частей: общие итоги и разбивка по товарным группам.

### Общие итоги

Отчёт фильтруется по дате создания продажи и (опционально) по контрагенту, указанному хотя бы в одной позиции продажи. В расчёт включаются только продажи, у которых есть хотя бы одна проданная позиция или ненулевая сумма (без скидки, со скидкой или оплаченная) — то есть пустые/нулевые продажи не искажают статистику.

| Поле                | Тип             | Назначение                                                       |
| ------------------- | --------------- | ---------------------------------------------------------------- |
| Всего продаж        | число           | Количество продаж, прошедших фильтр                              |
| Общая выручка       | число (2 знака) | Сумма поля «Сумма со скидкой» по всем продажам, прошедшим фильтр |
| Общая себестоимость | число (2 знака) | Сумма себестоимостей всех проданных единиц по этим продажам      |
| Прибыль             | число (2 знака) | Общая выручка минус общая себестоимость                          |

<Warning>
  В общих итогах фильтр по статусу продажи не применяется — в расчёт попадают продажи в любом статусе (включая черновики и отменённые), если у них есть количество или ненулевая сумма. Это отличается от разбивки по товарным группам, где учитываются только завершённые («Продано») продажи.
</Warning>

### Разбивка по товарным группам

Здесь, в отличие от общих итогов, учитываются только позиции завершённых («Продано») продаж за выбранный период (по умолчанию — текущий месяц). Позиции группируются по товарной группе.

| Поле                  | Тип                | Назначение                                                                    |
| --------------------- | ------------------ | ----------------------------------------------------------------------------- |
| Продано штук          | число              | Сумма количества проданных единиц по группе                                   |
| Выручка группы        | число (2 знака)    | Сумма «Цены со скидкой» по позициям группы                                    |
| Себестоимость группы  | число (2 знака)    | Сумма себестоимостей проданных единиц группы                                  |
| Список тарифов        | список             | Идентификаторы тарифов, по которым проданы позиции группы (если были указаны) |
| Рентабельность товара | число (2 знака), % | Прибыль группы, делённая на себестоимость группы, умноженная на 100           |
| Рентабельность продаж | число (2 знака), % | Прибыль группы, делённая на выручку группы, умноженная на 100                 |

Прибыль группы, используемая в обеих формулах рентабельности, считается как выручка группы минус себестоимость группы (эта промежуточная величина в самом отчёте отдельным полем не выводится).

<Warning>
  Рентабельность товара показывается только тогда, когда прибыль группы положительна — если прибыль нулевая или отрицательная, поле остаётся пустым, а не показывает ноль или отрицательный процент. То же самое верно для рентабельности продаж: она считается только при положительной выручке группы. При нулевой выручке (например, если все позиции группы отданы бесплатно) поле тоже остаётся пустым, даже если по смыслу рентабельность в этом случае должна быть глубоко отрицательной.
</Warning>

<Note>
  Фильтр по контрагенту, заявленный для разбивки по товарным группам, в текущей реализации на неё не влияет — этот адрес всегда считает разбивку по всем контрагентам сразу за выбранный период; фильтр по контрагенту реально работает только в общих итогах.
</Note>

## Отчёт по инвентаризациям

Отчёт показывает, сколько раз и кем инвентарь переводился из одного состояния в другое. Поддерживается фильтр по дате создания записи, по автору (в том числе списком) и по конкретной единице инвентаря (в том числе списком).

### Как определяется «предыдущее состояние»

Записи об инвентаризации без указанного автора в отчёт не попадают. Для каждой оставшейся записи ищется её же более ранняя запись по той же единице инвентаря (последняя по времени среди тех, что случились раньше) — это и есть «предыдущее состояние». Если такой более ранней записи нет (это первая инвентаризация данной единицы инвентаря), предыдущее состояние считается отсутствующим.

### Как считаются переходы

Все записи группируются по тройке «сотрудник, новое состояние, предыдущее состояние», и для каждой такой уникальной комбинации подсчитывается, сколько раз она встретилась. Итоговая строка отчёта — это один сотрудник, одно новое состояние, одно предыдущее состояние и количество таких переходов.

<Note>
  Поиск предыдущего состояния не учитывает применённый к отчёту фильтр периода — предыдущая запись ищется по всей истории инвентаризаций данной единицы инвентаря, даже если сама эта предыдущая запись была создана до начала выбранного периода и в самом отчёте не отображается отдельной строкой.
</Note>

## Как эти отчёты обычно используются

* Отчёт по доставкам и отчёт по мастерской используются для оценки загрузки и эффективности сотрудников: сколько заданий на человека, сколько денег он «закрыл», какая средняя скорость и есть ли просрочки.
* Отчёт по ресурсам мастерской задуман как дополнение к отчёту по мастерской для анализа расхода запчастей и материалов, но в нынешнем виде не отдаёт постатейные данные по ресурсам и не годится для этой цели без доработки.
* Отчёт по воронке продаж используется отделом продаж, чтобы находить узкие места — этапы, где лиды застревают дольше всего, и сотрудников, которые двигают сделки медленнее других.
* Отчёт по продажам со склада используется для оценки прибыльности товарных групп и точки продаж в целом за период.
* Отчёт по инвентаризациям используется, чтобы отслеживать, как часто и через кого проходят конкретные переходы состояний инвентаря — например, для поиска сотрудников, которые чаще других переводят инвентарь в состояние повреждения или списания.

## Особенности поведения

* Фильтр по контрагенту заявлен в параметрах разбивки продаж по товарным группам, но реально на неё не влияет — работает только в общих итогах.
* Признак просрочки задачи мастерской не хранится в базе, а пересчитывается заново при каждом запросе отчёта на основе текущего времени — значение может меняться между двумя открытиями отчёта без каких-либо действий пользователя.
* Сортировка отчёта по мастерской по признаку просрочки заявлена как поддерживаемая, но на практике может ломать группировку по исполнителю: один исполнитель может разъехаться на две строки вместо ожидаемого агрегирования.
* В отчёте по воронке продаж скорость по этапам считается по всем переходам за период (независимо от того, указан ли сотрудник), а скорость по сотрудникам — только по переходам с заполненным сотрудником, поэтому суммарный вклад сотрудников в отчёте не обязан совпадать со сводкой по этапам.
* Период в отчёте по воронке фильтрует историю переходов по дате создания лида, а не по дате самого перехода, поэтому переходы могут физически произойти за пределами выбранного периода, но всё равно попасть в расчёт.
* В отчёте по инвентаризациям поиск предыдущего состояния не ограничен фильтром периода — предыдущая запись ищется по всей истории данной единицы инвентаря, даже если она старше выбранного периода.
* Записи инвентаризации без указанного автора полностью исключаются из отчёта, а доставки и задачи мастерской без назначенного исполнителя аналогично исключаются из соответствующих отчётов по исполнителям.

<Info>
  Агрегированный формат «сводка по расходным ресурсам» (с полями название, цена и списанное количество) существует в коде, но не подключён ни к одному адресу API и в интерфейсе недоступен.
</Info>

## Связанные страницы

<CardGroup cols={2}>
  <Card title="Глоссарий: Модули: доставки, мастерская, воронки, склад, инвентаризации" icon="book" href="/ru/logic/metrics/modules-glossary">
    Полный перечень полей отчётов по доставкам, мастерской, воронке, складу и инвентаризациям.
  </Card>

  <Card title="Метрики и аналитика" icon="chart-line" href="/ru/logic/metrics">
    Хаб-страница раздела метрик и аналитики со ссылками на все отчёты.
  </Card>

  <Card title="Обзор и общая сводка" icon="gauge" href="/ru/logic/metrics/overview">
    Дневная сводка по компании: доход, заявки и детализация — точка входа в аналитику.
  </Card>

  <Card title="Финансы: список, PnL, движение денег" icon="money-bill-wave" href="/ru/logic/metrics/finances">
    Финансовые отчёты компании: список операций, прибыли и убытки, движение денег.
  </Card>

  <Card title="Транзакции" icon="receipt" href="/ru/logic/metrics/transactions">
    Сводка транзакций: разбивка по видам оплаты и постраничный список операций.
  </Card>

  <Card title="Штрафы" icon="gavel" href="/ru/logic/metrics/penalties">
    Учёт штрафов по арендам: автоматическое начисление, штрафы вручную и статус оплаты.
  </Card>

  <Card title="Скидки" icon="percent" href="/ru/logic/metrics/discounts">
    История применения скидок к арендам и сводная группировка по каждой скидке из справочника.
  </Card>

  <Card title="Депозиты" icon="vault" href="/ru/logic/metrics/deposits">
    Залоги по аренде: денежные и предметные, статусы и фактические платежи.
  </Card>

  <Card title="Услуги" icon="sparkles" href="/ru/logic/metrics/services">
    Метрики дополнительных услуг: общая сводка, список по видам, по исполнителям и история.
  </Card>

  <Card title="Зарплаты и субаренда сотрудников" icon="wallet" href="/ru/logic/metrics/salaries-sublease">
    Расчёт зарплат по выполненным действиям и учёт субаренды инвентаря сотрудникам.
  </Card>

  <Card title="Амортизация и окупаемость инвентаря" icon="arrow-trend-down" href="/ru/logic/metrics/depreciation-payback">
    Амортизация единиц инвентаря и накопленная окупаемость дохода по группам и единицам.
  </Card>

  <Card title="Эффективность инвентаря" icon="gauge-high" href="/ru/logic/metrics/efficiency">
    Загрузка и простой инвентаря по комплектам, группам и отдельным единицам.
  </Card>

  <Card title="Рефералы и клиенты" icon="users" href="/ru/logic/metrics/referrals-clients">
    Реферальная программа (агенты и начисления) и клиентская аналитика: рост, отток, LTV.
  </Card>

  <Card title="Смены сотрудников" icon="clock" href="/ru/logic/metrics/workshifts">
    Список и детализация рабочих смен персонала на точках проката.
  </Card>

  <Card title="Бонусы сотрудников" icon="gift" href="/ru/logic/metrics/bonuses">
    Баланс, история и общая сводка бонусных начислений клиентам.
  </Card>
</CardGroup>
