Как устроен складской учёт: принять товар сканером, напечатать этикетки, списать товар из заказа и пересчитать остатки инвентаризацией — и где включить склад, если шаблон его не дал.

Склад в CRM устроен просто: остаток товара — это не цифра, которую вы вводите руками, а сумма движений. Всё, что приняли, минус всё, что выдали и списали. Поэтому остаток невозможно «забыть обновить»: он пересчитывается сам после каждого прихода и расхода.
Всё складское живёт в одном модуле — «Склад и штрихкоды». Он добавляет журнал «Движения», отдельный экран «Приёмка» для работы со сканером и — самое полезное — штрихкод у товара, по которому его находит и «пистолет», и камера телефона.
Пример в статье — интернет-магазин одежды: каталог с футболками, джинсами и кроссовками и заказы с позициями.
Откройте «Настройки» → «Модули» (пункт стоит в левом меню под «Конструктором»; та же витрина открывается и вкладкой «Модули» внутри «Конструктора»). Это витрина готовых наборов: каждый включается одной кнопкой и дальше настраивается как обычные разделы вашего пространства.
Нас интересует карточка «Склад и штрихкоды». Что на ней написано — зависит от того, с какого шаблона начиналось ваше пространство:

Если вы включаете модуль сами, CRM спросит подтверждение и заранее назовёт последствия: появится раздел «Движения», у товаров каталога — поля с остатком, а считать их будут правила расчёта (их видно в «Правилах» с пометкой «Системное»).
Результат один и тот же — пришёл ли склад с шаблоном или вы включили его кнопкой:
Кнопка «Приостановить» на карточке модуля работает и в том, и в другом случае: разделы уйдут из меню, а данные останутся на месте — вернуть склад можно той же кнопкой.

«Настройки» → «Склад». Панель прямо об этом и говорит: настраивать ничего не нужно, склад уже работает. Здесь только три коротких входа (товары, движения, этикетки), один переключатель — про него в самом конце — и блок «Пора пополнить».
Сразу после включения в этом блоке будет весь каталог с остатком 0: приход вы ещё не заводили, значит на складе пока ничего нет. Это нормальное состояние нового склада, а не ошибка.
Порог «товар заканчивается» — это поле «Минимальный остаток» в карточке каждого товара: у сумки и у пачки саморезов он разный, поэтому общей настройки «порог = 10» здесь нет намеренно. По этому полю работают и блок «Пора пополнить», и полоса над списком товаров, и уведомление: как только остаток опускается ниже вашего числа, товар появляется в списке — заранее, а не когда полка уже пуста. Оставьте 0, если следить не нужно: тогда сигналом останутся только ноль и минус.

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

Пункт меню «Приёмка» — экран под одну задачу: пришла машина, вы стоите у коробок и ведёте сканером по кодам.
Экран не спрашивает ничего заранее — просто сканируйте:
Найденный товар встаёт в список. Количество по умолчанию — одна единица; поправьте его кнопками «−»/«+» или прямо в поле. Отсканировали тот же товар второй раз — количество просто увеличится.
Если код не найден, CRM так и скажет: «код не найден». Это не ошибка, а обычная ситуация с новым товаром — откройте его карточку и впишите код в поле «Штрихкод».

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

Кнопка «Этикетки» есть в списке товаров (на телефоне — за кнопкой «Вид»), а в карточке отдельного товара, в блоке «Склад», она подписана в единственном числе — «Этикетка». Обе собирают готовый PDF.
В диалоге:
Внизу — сводка: сколько получится этикеток и на скольких страницах. Нажмите «Скачать PDF» — файл собран под ваш носитель, страница PDF равна одной наклейке, поэтому термопринтер печатает без подгонки.
Товар без штрихкода в файл не попадёт — CRM пометит это прямо в списке, до печати.

Когда заказ собран и отдан клиенту, товар нужно снять с остатка. Откройте карточку заказа — в шапке позиций есть кнопка «Списать позиции».
Это ручное действие, и так задумано: списывать молча при каждой правке позиций нельзя — двойное списание никто бы не заметил. CRM сначала объясняет, что произойдёт: по каждому товару из позиций создастся движение «Расход» на его количество.
Есть и второй путь — для тех, кто работает записями. У услуги в модуле «Онлайн-запись» можно завести поле «Расходники на одну услугу» («Воск для укладки × 0.05», «Одноразовая бритва × 1»), и тогда действие «Закрыть визит» спишет этот состав со склада само — вместе с открытием чека по визиту. Кнопки в карточке записи у этого действия пока нет (оно доступно через ручку продукта, экран строится), поэтому поле рецепта заполняйте заранее: оно сработает, как только кнопка появится, и уже работает для тех, кто закрывает визиты интеграцией. Разница между двумя путями не в удобстве, а в предмете: кнопка «Списать позиции» снимает то, что продали клиенту (эти строки он видит в счёте), а рецепт — то, что израсходовали на работу (клиент за воск отдельно не платит). Подробнее — в статье «Онлайн-запись».

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

Над списком товаров CRM сама показывает полосу с тем, что пора пополнить, и называет товары по именам. Сюда попадает и то, чего уже нет, и то, что опустилось ниже «Минимального остатка» из карточки товара. Кнопка «Показать только эти товары» включает фильтр — останутся только проблемные строки.
Отдельно выделено, если остаток ушёл в минус. Мы не блокируем выдачу товара, которого по учёту нет: жизнь бывает быстрее учёта. Но минус означает, что данные разошлись с полкой — значит, что-то не оприходовали. Лечится приходом или пересчётом — см. раздел «Инвентаризация» ниже.
Полоса не рисуется вовсе, когда всё в порядке: плашка, которая висит всегда, перестаёт читаться.
Услуг в полосе не бывает. Остаток модуль заводит всем записям каталога, и у «Доставки по городу» он тоже равен нулю — но пополнять там нечего, поэтому в список попадают только строки с категорией «Товар/материал». Если товар вы завели без категории (например, залили каталог из старой таблицы), из полосы он не пропадёт: о нуле вам всё равно скажут.

Единственная настройка панели «Склад» — переключатель «Уведомлять, когда товар заканчивается». Включите его, если не хотите узнавать о пустой полке последним.
Два условия, без которых уведомление выглядит сломанным:
Само уведомление — обычное правило вашего пространства: его видно в «Правилах» с пометкой «Системное», там же его можно выключить обратно.

Раз в квартал (или когда цифры перестали сходиться) склад пересчитывают. Отдельно заводить движения «Излишек» и «Недостача» на каждый разошедшийся товар не нужно — для этого есть «Инвентаризация».
Это отдельный модуль, он ставится поверх склада: «Настройки» → «Модули» → «Инвентаризация» → «Установить». В галерее он появляется только у пространства, где склад уже включён, — пересчитывать нечего, пока остаток не считается. Модуль заводит два раздела: «Инвентаризации» (журнал ревизий, он виден в меню) и «Строки пересчёта» (строки живут внутри ревизии, поэтому в меню их нет).
Как проходит пересчёт:
Что важно понимать про этот экран:
Движения от инвентаризации несут основание вида «Инвентаризация №7: Ревизия витрины» — через месяц по журналу движений видно, откуда взялась поправка.