Товары и услуги в CRM: как управлять услугами и товарами в составе заказа

Товары и услуги — это то, что компания продаёт клиенту: чистка изделия, выезд мастера, аренда оборудования, ремонт, доставка. В CRM у этой темы две грани: каталог (справочник того, что вообще можно продавать) и конкретная позиция внутри договора (что именно заказали в этом заказе). Канонически и то и другое называется «товар или услуга».

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

Чтобы одна и та же услуга во всех договорах называлась и считалась одинаково, позиция всегда ссылается на запись каталога. Каталог задаёт название и способ измерения, а к нему уже прикрепляются фильтры, расчёты и автоматические задачи. Дальше — как устроены обе грани: каталог и позиция в договоре.

С чем связаны

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

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

Каталог: что можно продавать

Каталожная запись хранит всего два поля:

  • название — как услуга или товар называется во всех договорах;
  • величина измерения — как оператор будет вводить размер позиции в форме договора.

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

  • Штучно — поле размера не показывается, позиция считается штучно.
  • Площадь, прямоугольник — показываются поля «ширина» и «длина», площадь считается как прямоугольник.
  • Площадь, овал — показываются те же поля, площадь считается как овал.
  • Площадь, окружность — показываются те же поля, площадь считается как окружность.

Позиция в договоре: что заказали

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

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

Как это настраивается

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

Правила и ограничения

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

Типичные сценарии

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

Оператор оформляет чистку двух ковров разного размера — добавляет в договор две позиции одного вида «Чистка ковра», у каждой свой размер. Расчёты считают стоимость каждой отдельно, а договор показывает сумму и детализацию. На каждую позицию автоматика создаёт свою задачу на выезд; договор переходит в «Выполнен», только когда закрыты задачи по всем позициям.

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

Частые вопросы и подводные камни

  • Что произойдёт со старыми позициями, если изменить величину измерения у каталожной записи? Изменение меняет режим ввода размера во всех будущих позициях этого вида. Уже оформленные позиции были посчитаны по прежнему режиму — поэтому менять величину измерения у активно используемой услуги стоит осознанно.
  • Можно ли поменять каталожный вид у уже добавленной позиции? Вид задаёт название и режим ввода размера, то есть саму суть позиции. Если нужна другая услуга, обычно добавляют новую позицию, а не переопределяют существующую. Точное поведение смены вида на месте в базе знаний не зафиксировано — стоит уточнить у владельца продукта.
  • Как считается стоимость, если у позиции свои расчёты, а у договора — общие? Сначала отрабатывают расчёты по товарам и услугам, потом — по договору: сначала формируется стоимость каждой позиции, а общие расчёты применяются к накопленному итогу. Поэтому позиционные и договорные расчёты не конфликтуют, а складываются в нужном порядке.
  • Почему по позиции не появилась автоматическая задача, хотя у вида она настроена? Автоматика срабатывает только при совпадении всех условий: наличие нужного товара в договоре, подходящие статус, город, день недели и фильтры. Если задача не появилась, какое-то из условий не выполнено.

Диагностика: позиция ведёт себя не так, как ожидалось

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

Стоимость позиции «съехала» после смены статуса. Смена статуса меняет набор фильтров и видимость результатов расчётов, а пересчёт происходит при сохранении. Проверьте, какие фильтры позиции изменились и какие расчёты завязаны на новый статус.

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