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

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

Ниже — откуда берётся остаток в разных учётных системах, какие три числа нужны менеджеру, чем онлайн-запрос отличается от выгрузки по расписанию с ценами обоих вариантов, как устроен резерв под сделку и что делать с зависшими резервами. И расчёт в рублях: во сколько обходится месяц ошибок при 400 сделках.

Откуда берётся цифра остатка

Источник почти всегда один из пяти, и различаются они не столько данными, сколько тем, что именно отдают наружу и с какой скоростью. Общий разбор способов связи с учётной системой — в статье про интеграцию CRM с 1С; здесь только складская часть.

СистемаЧто отдаёт по складуНа что смотреть
1С:Управление торговлей 11Остаток по складам, резервы, заказы поставщикам и ожидаемые даты приходаНужен опубликованный веб-сервис или обмен файлами. Запрос по одной позиции — доли секунды, выгрузка всей номенклатуры — минуты
1С:Управление нашей фирмойОстаток, резерв, заказы покупателей и поставщикамСкладской аналитики меньше, адресного хранения нет — «остаток» здесь всегда по складу целиком
1С:РозницаОстаток по магазинам и торговым заламОстаток зала не равен доступному к отгрузке: часть товара выложена, часть в примерочной, часть в кассовой зоне
МойСкладОстаток, резерв, ожидание, себестоимость через REST APIЕсть ограничение на число запросов в единицу времени — точное значение зависит от тарифа, при онлайн-запросах его считают заранее
Saby (ранее СБИС)Остатки и документы движения товараХорошо ложится на компании, где склад и ЭДО уже живут в одном контуре

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

карта связейintegratsiya-crm-so-skladom--01
Карта связей: учётные системы и склады слева, шина обмена в центре, карточка сделки справа

Карта связей. Слева пять узлов-источников: «1С:УТ 11», «1С:УНФ», «1С:Розница», «МойСклад», «Saby». Из них стрелки в центральный узел «Обмен» с двумя подписями на входящих линиях: «онлайн-запрос по позиции» и «выгрузка по расписанию». Справа узел «Карточка сделки» с тремя строками: «свободно», «в пути», «под заказ». Ниже, вне маршрута, три перечёркнутых узла с подписями «склад брака», «возвраты», «хранение у поставщика» и общей пометкой «в остаток не входят». Чертёжный стиль, подписи по-русски.

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

Три числа вместо одного

Менеджеру нужно не «наличие», а ответ на вопрос клиента «когда я это получу». Такой ответ складывается из трёх разных чисел, и попытка свести их к одному — самая частая ошибка проектирования карточки.

Что это значитСвободный остаток

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

  • Свободный остаток по складам, а не суммарно. Пять штук на складе в своём городе и пять в соседнем регионе — это не десять штук: у них разный срок доставки, и клиенту это разница в неделю. Общая цифра допустима только рядом с датой, посчитанной по ближайшему складу, где товар реально есть.
  • Товар в пути с датой прихода и именем поставщика. Обещать его можно, но с оговоркой: если по поставщику за квартал больше 15 % опозданий, его товар показывается менеджеру как справка и клиенту не обещается.
  • Срок поставки под заказ — для позиций, которых нет и в пути. Это не «нет в наличии», а «21 день». Разница между этими формулировками — сохранённая или потерянная сделка, и берётся срок из карточки номенклатуры, а не из головы менеджера.
  • Возраст цифры. Рядом с остатком — время последнего обновления. При выгрузке раз в сутки эта подпись важнее самого числа: она честно говорит менеджеру, что перед звонком клиенту стоит перепроверить.
разбор экранаintegratsiya-crm-so-skladom--02
Строка товара в карточке сделки: свободный остаток, товар в пути с датой и срок под заказ

Нарисованный абстрактный фрагмент интерфейса: строка товара в карточке сделки. В строке четыре блока с подписями и значениями: «Свободно: 12 (склад «Юг»)», «В пути: 40, приход 18.09», «Под заказ: 21 день», «Обновлено 4 минуты назад». Ниже строки — серая полоса с пометкой «резерв до 08.09, поставил Иванов». Никаких логотипов реальных систем. Чертёжный стиль, подписи по-русски.

Одна строка товара — три разных обещания клиенту, а не одно поле «в наличии»

Онлайн-запрос или выгрузка по расписанию

Это главная развилка проекта, и решается она не идеологически, а по оборачиваемости номенклатуры. Онлайн-запрос честнее, но дороже и нагружает учётную систему в самые загруженные часы. Выгрузка дешевле, но у неё есть окно, внутри которого CRM врёт с уверенным видом.

ПараметрОнлайн-запрос при открытии позицииВыгрузка по расписанию
Задержка данныхСекундыРавна интервалу: 15 минут, час или сутки
Нагрузка на учётную системуВсплесками, растёт с числом менеджеровПредсказуемая, обычно ночью
Что происходит при недоступности учётной системыМенеджер видит «данных нет» — и это честноМенеджер видит вчерашнюю цифру и не знает об этом
Цена реализации90 000–140 000 ₽45 000–70 000 ₽
Когда выбиратьДефицитные позиции, быстрый оборот, дорогой товарШирокий ассортимент с запасом, редкие изменения остатка

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

Онлайн-запрос без ограничителя кладёт учётную систему

Двадцать менеджеров, открывающих карточки в понедельник утром, дают всплеск запросов, которого типовая конфигурация 1С не ждёт. Обязательные предохранители: кэш на 30–60 секунд по позиции, ограничение числа одновременных запросов и мгновенный откат на последнюю выгрузку, если ответ не пришёл за две секунды. Без них первая же неделя эксплуатации заканчивается жалобами бухгалтерии на тормоза в учётной системе.

Резерв под сделку: кто ставит и кто снимает

Показать остаток мало — его надо удержать на время, пока клиент думает. Иначе одна и та же позиция уходит в три сделки, и все три менеджера будут правы. Резерв решает эту задачу, но только если у него есть срок жизни и владелец.

  1. 1
    Ставит менеджер, автоматически — только по счёту

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

  2. 2
    Срок — три рабочих дня по счёту, один по дефициту

    Продление возможно один раз и с указанием причины. Резерв без срока жизни — это не резерв, а способ спрятать товар от продажи, и обнаруживается он обычно при инвентаризации.

  3. 3
    Снимает система, а не человек

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

  4. 4
    Зависшие резервы — еженедельный отчёт руководителю

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

Сколько стоит проданный воздух

Модельная компания: 400 сделок в месяц, средний чек 42 000 ₽, маржа 22 %, то есть 9 240 ₽ прибыли со сделки. Доля сделок, где менеджер пообещал позицию, которой фактически не было, — 4 %, это 16 сделок в месяц. Часть из них удаётся спасти переносом срока или заменой, часть отваливается. Ставка менеджера — 700 ₽/час.

Потери от ошибок остатка, месяц
Сделок в месяц400
Прибыль с одной сделки: 42 000 ₽ × 22 %9 240 ₽
Сделок с ошибкой остатка: 4 % от 40016 шт
Из них отменились полностью: 6 × 9 240 ₽55 440 ₽
Разбор спасённых: 10 сделок × 45 мин = 7,5 ч × 700 ₽/час5 250 ₽
Компенсация за перенос срока: 10 × 42 000 ₽ × 3 %12 600 ₽
Итого73 290 ₽ в месяц, или 879 480 ₽ в год

Узел собирается из двух частей: онлайн-запрос остатка с тремя числами в карточке — 90 000 ₽, резерв под сделку с автоматическим снятием и отчётом по зависшим — 70 000 ₽. Итого 160 000 ₽ разово и 8 000 ₽/мес поддержки. Реалистичная доля снимаемых потерь — около 70 %: оставшиеся 30 % это пересорт, брак и расхождения самого склада, которые интеграция не лечит. Экономия 51 303 ₽ в месяц, за вычетом поддержки — 43 303 ₽. Окупаемость: 160 000 / 43 303 = 3,7 месяца.

графикintegratsiya-crm-so-skladom--03
Диаграмма потерь 73 290 рублей в месяц с разбивкой и отметкой снимаемой доли 70 процентов

Горизонтальная столбчатая диаграмма из трёх полос с числами: «Отменённые сделки — 55 440 ₽», «Компенсация за перенос срока — 12 600 ₽», «Разбор спасённых, 7,5 ч — 5 250 ₽». Итоговая строка под ними: «73 290 ₽/мес». Справа вертикальная штриховая линия с подписью «снимается узлом — 70 %, это 51 303 ₽» и отдельная пометка «окупаемость 3,7 месяца при вложении 160 000 ₽». Чертёжный стиль, подписи по-русски.

Три четверти потерь — это не разбор и не компенсации, а сделки, которые просто не состоялись

Когда интеграция со складом не нужна

Связка стоит от 45 000 до 160 000 ₽ и возвращается сделками, которые иначе бы сорвались. Там, где срываться нечему, она превращается в лишний узел, за который надо платить поддержку.

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

И критерий, по которому решение принимается за один вечер. Возьмите сделки за последний квартал и посчитайте, в скольких из них менялся срок или состав после согласования с клиентом. Если таких меньше 1 %, интеграция подождёт. Если больше 3 % — считайте по формуле выше, она почти наверняка окупится быстрее полугода. Способы самой связи с учётной системой, от файлового обмена до веб-сервиса, разобраны в статье про способы обмена с 1С.

Остаток в CRM — это не данные о складе. Это обещание клиенту, у которого есть срок годности.