Остаток в карточке сделки — это всегда копия цифры из учётной системы, и главный вопрос интеграции не «откуда её взять», а «сколько ей минут». Менеджер, который называет клиенту срок, глядя на вчерашнюю выгрузку, ошибается не потому, что невнимателен, а потому, что ему показали число без возраста. Правильная интеграция передаёт не остаток, а остаток вместе со временем его получения и признаком, можно ли на него опираться.
Второе, что ломает связку, — попытка уместить складскую реальность в одно поле. Складов почти всегда больше одного: основной, торговый зал, склад брака и возвратов, склад маркетплейса, товар на транзитном хранении у поставщика. Плюс к этому часть остатка зарезервирована, часть едет, часть числится, но физически не найдена. Сложить это в одну цифру «в наличии» технически можно, но именно из этого сложения и рождается проданный воздух.
Ниже — откуда берётся остаток в разных учётных системах, какие три числа нужны менеджеру, чем онлайн-запрос отличается от выгрузки по расписанию с ценами обоих вариантов, как устроен резерв под сделку и что делать с зависшими резервами. И расчёт в рублях: во сколько обходится месяц ошибок при 400 сделках.
Откуда берётся цифра остатка
Источник почти всегда один из пяти, и различаются они не столько данными, сколько тем, что именно отдают наружу и с какой скоростью. Общий разбор способов связи с учётной системой — в статье про интеграцию CRM с 1С; здесь только складская часть.
| Система | Что отдаёт по складу | На что смотреть |
|---|---|---|
| 1С:Управление торговлей 11 | Остаток по складам, резервы, заказы поставщикам и ожидаемые даты прихода | Нужен опубликованный веб-сервис или обмен файлами. Запрос по одной позиции — доли секунды, выгрузка всей номенклатуры — минуты |
| 1С:Управление нашей фирмой | Остаток, резерв, заказы покупателей и поставщикам | Складской аналитики меньше, адресного хранения нет — «остаток» здесь всегда по складу целиком |
| 1С:Розница | Остаток по магазинам и торговым залам | Остаток зала не равен доступному к отгрузке: часть товара выложена, часть в примерочной, часть в кассовой зоне |
| МойСклад | Остаток, резерв, ожидание, себестоимость через REST API | Есть ограничение на число запросов в единицу времени — точное значение зависит от тарифа, при онлайн-запросах его считают заранее |
| Saby (ранее СБИС) | Остатки и документы движения товара | Хорошо ложится на компании, где склад и ЭДО уже живут в одном контуре |
Отдельный вопрос — какие склады вообще показывать менеджеру. Правило простое: в карточку попадают только те, с которых можно отгрузить клиенту. Склад брака, склад возвратов и товар на ответственном хранении у поставщика в общую цифру не входят никогда, даже если формально они лежат в том же регистре. Иначе менеджер увидит остаток, продаст его и узнает о существовании этих складов только на этапе сборки заказа.
Карта связей. Слева пять узлов-источников: «1С:УТ 11», «1С:УНФ», «1С:Розница», «МойСклад», «Saby». Из них стрелки в центральный узел «Обмен» с двумя подписями на входящих линиях: «онлайн-запрос по позиции» и «выгрузка по расписанию». Справа узел «Карточка сделки» с тремя строками: «свободно», «в пути», «под заказ». Ниже, вне маршрута, три перечёркнутых узла с подписями «склад брака», «возвраты», «хранение у поставщика» и общей пометкой «в остаток не входят». Чертёжный стиль, подписи по-русски.
Три числа вместо одного
Менеджеру нужно не «наличие», а ответ на вопрос клиента «когда я это получу». Такой ответ складывается из трёх разных чисел, и попытка свести их к одному — самая частая ошибка проектирования карточки.
Физический остаток минус то, что уже обещано другим клиентам: резервы под счета, собранные, но не отгруженные заказы, товар в комплектации. Это единственное число, которое менеджер имеет право обещать сегодня. Полная формула со всеми четырьмя составляющими разобрана в статье про резерв товара и доступность.
- Свободный остаток по складам, а не суммарно. Пять штук на складе в своём городе и пять в соседнем регионе — это не десять штук: у них разный срок доставки, и клиенту это разница в неделю. Общая цифра допустима только рядом с датой, посчитанной по ближайшему складу, где товар реально есть.
- Товар в пути с датой прихода и именем поставщика. Обещать его можно, но с оговоркой: если по поставщику за квартал больше 15 % опозданий, его товар показывается менеджеру как справка и клиенту не обещается.
- Срок поставки под заказ — для позиций, которых нет и в пути. Это не «нет в наличии», а «21 день». Разница между этими формулировками — сохранённая или потерянная сделка, и берётся срок из карточки номенклатуры, а не из головы менеджера.
- Возраст цифры. Рядом с остатком — время последнего обновления. При выгрузке раз в сутки эта подпись важнее самого числа: она честно говорит менеджеру, что перед звонком клиенту стоит перепроверить.
Нарисованный абстрактный фрагмент интерфейса: строка товара в карточке сделки. В строке четыре блока с подписями и значениями: «Свободно: 12 (склад «Юг»)», «В пути: 40, приход 18.09», «Под заказ: 21 день», «Обновлено 4 минуты назад». Ниже строки — серая полоса с пометкой «резерв до 08.09, поставил Иванов». Никаких логотипов реальных систем. Чертёжный стиль, подписи по-русски.
Онлайн-запрос или выгрузка по расписанию
Это главная развилка проекта, и решается она не идеологически, а по оборачиваемости номенклатуры. Онлайн-запрос честнее, но дороже и нагружает учётную систему в самые загруженные часы. Выгрузка дешевле, но у неё есть окно, внутри которого CRM врёт с уверенным видом.
| Параметр | Онлайн-запрос при открытии позиции | Выгрузка по расписанию |
|---|---|---|
| Задержка данных | Секунды | Равна интервалу: 15 минут, час или сутки |
| Нагрузка на учётную систему | Всплесками, растёт с числом менеджеров | Предсказуемая, обычно ночью |
| Что происходит при недоступности учётной системы | Менеджер видит «данных нет» — и это честно | Менеджер видит вчерашнюю цифру и не знает об этом |
| Цена реализации | 90 000–140 000 ₽ | 45 000–70 000 ₽ |
| Когда выбирать | Дефицитные позиции, быстрый оборот, дорогой товар | Широкий ассортимент с запасом, редкие изменения остатка |
Практически рабочая схема почти всегда гибридная и стоит примерно как онлайн-запрос. Ночью выгружается вся номенклатура — по ней менеджер ищет, подбирает и составляет предложение. В момент, когда позиция добавляется в сделку или печатается счёт, идёт точечный онлайн-запрос по этой одной позиции. Нагрузка получается копеечной, а обещание клиенту опирается на свежую цифру. Логика тут та же, что и при обмене остатками и ценами с сайтом: дорого обновлять всё часто, дёшево обновлять точечно и вовремя.
Двадцать менеджеров, открывающих карточки в понедельник утром, дают всплеск запросов, которого типовая конфигурация 1С не ждёт. Обязательные предохранители: кэш на 30–60 секунд по позиции, ограничение числа одновременных запросов и мгновенный откат на последнюю выгрузку, если ответ не пришёл за две секунды. Без них первая же неделя эксплуатации заканчивается жалобами бухгалтерии на тормоза в учётной системе.
Резерв под сделку: кто ставит и кто снимает
Показать остаток мало — его надо удержать на время, пока клиент думает. Иначе одна и та же позиция уходит в три сделки, и все три менеджера будут правы. Резерв решает эту задачу, но только если у него есть срок жизни и владелец.
- 1Ставит менеджер, автоматически — только по счёту
Резерв возникает в двух случаях: менеджер нажал кнопку в карточке или система выставила счёт. Автоматический резерв на этапе «переговоры» превращает склад в фикцию: половина позиций окажется занята сделками, которые никогда не закроются.
- 2Срок — три рабочих дня по счёту, один по дефициту
Продление возможно один раз и с указанием причины. Резерв без срока жизни — это не резерв, а способ спрятать товар от продажи, и обнаруживается он обычно при инвентаризации.
- 3Снимает система, а не человек
По истечении срока резерв снимается автоматически, менеджеру уходит уведомление. Рассчитывать на то, что человек снимет резерв сам при отказе клиента, не стоит: отказ — неприятный момент, и карточку в этот момент просто закрывают.
- 4Зависшие резервы — еженедельный отчёт руководителю
Список позиций, где резерв продлевался больше одного раза или висит на сделке без движения дольше двух недель. Это не наказание, а способ вернуть в продажу товар, который иначе тихо лежит занятым до конца квартала.
Сколько стоит проданный воздух
Модельная компания: 400 сделок в месяц, средний чек 42 000 ₽, маржа 22 %, то есть 9 240 ₽ прибыли со сделки. Доля сделок, где менеджер пообещал позицию, которой фактически не было, — 4 %, это 16 сделок в месяц. Часть из них удаётся спасти переносом срока или заменой, часть отваливается. Ставка менеджера — 700 ₽/час.
Узел собирается из двух частей: онлайн-запрос остатка с тремя числами в карточке — 90 000 ₽, резерв под сделку с автоматическим снятием и отчётом по зависшим — 70 000 ₽. Итого 160 000 ₽ разово и 8 000 ₽/мес поддержки. Реалистичная доля снимаемых потерь — около 70 %: оставшиеся 30 % это пересорт, брак и расхождения самого склада, которые интеграция не лечит. Экономия 51 303 ₽ в месяц, за вычетом поддержки — 43 303 ₽. Окупаемость: 160 000 / 43 303 = 3,7 месяца.
Горизонтальная столбчатая диаграмма из трёх полос с числами: «Отменённые сделки — 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 — это не данные о складе. Это обещание клиенту, у которого есть срок годности.
