RIDERSRUN

Склады и движение товара

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

Наличие, движения и сверка

У склада доступны наличие, движения, складские действия и настройки. В движениях есть период, вариант, приход или расход, значения до и после, основание и автор. Ограничения доступа применяются до подсчета и пагинации.

Перед проведением складского действия откройте предварительный расчет: физическое наличие, резерв и перемещение изменяются только после проведения. Сверка сопоставляет резервы и поступления с документами; физические расхождения исправляются отдельной инвентаризацией с причиной.

GET /api/v1/admin/inventory/movements?warehouseId=moscow&from=2026-11-01&to=2026-11-30
GET /api/v1/admin/inventory/reconciliation?warehouseId=moscow
POST /api/v1/admin/inventory/preview
Открыть движения

Одна пара — несколько мест хранения

Артикул определяет цвет, размер, фотографии и характеристики. Склад хранит количество. Магазин обслуживает покупателя. Прайс-лист определяет цену. Эти сущности связаны устойчивыми идентификаторами и хранятся отдельно в PostgreSQL.

В стенде три склада: Тестовский и центральный склад в Москве, Бегополис в Сочи. Добавление города или склада не требует изменения кода.

Открыть складской учет

Добавьте склад

В разделе «Склады» нажмите «Добавить склад», заполните название, код и название города, адрес и контакт. Укажите доставку, самовывоз, приоритет комплектации и внешний идентификатор, если склад связан с 1С.

Архивирование запрещено, пока есть физический остаток, резерв, товар в пути или незавершенный документ.

POST /api/v1/admin/inventory/command
{"generationId":"FROM_SESSION","idempotencyKey":"warehouse-create-001","action":"warehouse.save","warehouse":{"name":"Склад Казань","city":"kazan","cityName":"Казань","address":"Тестовая, 5","shipping":true,"pickup":false,"priority":20}}
Создать склад

Пять состояний наличия

Физический остаток — товар на складе. Резерв — количество под заказ. Блокировка — товар, который нельзя продавать. Доступно = физический остаток − резерв − блокировка. В пути — отдельное количество, доступным оно станет только после приемки.

Проверить остатки

Проведите операцию

Приемка увеличивает физический остаток; списание уменьшает свободный; инвентаризация устанавливает пересчитанное физическое количество. Отправка перемещения уменьшает остаток источника и создает товар в пути. Отдельная приемка завершает перемещение.

Черновик не влияет на остатки. Проведение выполняется целиком. Проведенный документ неизменяем: создайте корректировку, укажите исходный документ и причину. Попытка затронуть резерв или повторно провести устаревшую версию отклоняется.

POST /api/v1/admin/inventory/command
{"generationId":"FROM_SESSION","idempotencyKey":"receipt-001","action":"document.save","document":{"kind":"receipt","warehouseId":"central","reason":"Поставка","lines":[{"variantId":"RR-001-1-01","quantity":5}]}}

POST /api/v1/admin/inventory/command
{"generationId":"FROM_SESSION","idempotencyKey":"post-001","action":"document.post","id":"DOCUMENT_ID","revision":1}
Создать документ

От заказа до возврата

Заказ резервирует доступное количество на 30 минут. Оплата закрепляет резерв; отгрузка списывает физический товар и соответствующий резерв. Возможны частичные отгрузки и сборка из нескольких складов. Отмена или истечение неоплаченного резерва освобождает остаток.

Возврат денег и приемка возвращенного товара — отдельные действия. В документе возврата можно направить товар на проверку качества: он появится в физическом остатке и блокировке, но не в продаже.

Открыть резервы

История без копий каталога

Цены, остатки, документы, резервы и движения хранятся отдельными записями. Изменение одного остатка обновляет его запись и итог конкретного артикула; не пересчитывает поисковые векторы. Сохранение старой версии описания не откатывает складские операции.

Исходники обмена хранятся 30 дней в пределах 5 ГБ. Подробности строк — 90 дней; компактное происхождение действующих значений остается. Документы и движения старше 12 месяцев доступны в защищенном архиве. Часовой сброс демо очищает посетительские данные и закрывает старые ссылки.

Формат и проверка импорта