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

Наборы и комплекты часто продают как «одну позицию», но внутри это несколько товаров с разной себестоимостью и разными остатками. Если учитывать такой заказ как обычный товар, быстро теряется главное: из чего он собран, где именно спрятана скидка и сколько вы на самом деле зарабатываете. Поэтому учет комплектов и наборов почти всегда требует отдельной модели, даже если на витрине все выглядит просто.
Самая частая проблема такая: набор запускают как маркетинговую идею, а учет оставляют «как получится». В итоге цифры начинают спорить друг с другом: в продажах одно, на складе другое, в прибыли третье.
Обычно это видно по симптомам: скидку сложно объяснить, маржа «плавает» между отчетами, остатки не сходятся (компоненты не списались, списались не те или ушли в минус), а в справочнике то появляются лишние SKU, то все смешано в одной карточке.
От учета набора бизнесу нужны три вещи:
Особенно болезненно это в рознице (много мелких сборок), на маркетплейсах (строгие требования к остаткам и карточкам) и в B2B (коммерческие предложения, договорные скидки, согласование цены). Когда эти задачи решены, наборы перестают быть «головной болью» и становятся понятным инструментом продаж.
Чтобы учет комплектов и наборов не превращался в спор «как правильно», важно договориться о словах. Тогда и цена, и маржа, и склад будут сходиться в одной логике.
Бандл (bundle) - маркетинговое предложение: вы продаете несколько товаров вместе, потому что так выгоднее или удобнее покупателю. Бандл может существовать только на витрине и в чеке, а на складе вы по-прежнему храните и считаете каждый товар отдельно.
Комплект (kit) - «изделие из частей». Его собирают (физически или виртуально) из компонентов по правилам. Комплект чаще ведут как отдельную позицию, потому что он постоянно продается в одном составе и по нему нужна отдельная статистика.
Ключевое различие: набор как предложение и набор как складская единица. В первом случае вы связываете товары для продажи и скидки, а остатки живут на уровне компонентов. Во втором - создаете отдельный SKU набора и контролируете его остаток как у самостоятельного товара. Это удобно, но требует аккуратной сборки и разборки.
Компонент - товар, который входит в набор. Иногда выделяют основную позицию (например, «кофемашина») и «добавки» (капсулы, кружка). Еще один полезный термин - опция замены: когда компонент можно заменить на аналог (например, «кружка белая или черная»), но списание должно идти по фактически выбранному варианту.
Когда делать набор постоянным, а когда оставлять акцией:
Чем чаще меняется состав, тем ближе это к акции и тем осторожнее стоит делать «набор» складской единицей.
В наборах чаще путаются не в складе, а в цене: «от чего считается скидка», «почему на кассе другая сумма», «почему маржа вдруг упала». Это решается простым правилом: у набора должна быть понятная базовая логика цены и одно место, где хранится скидка.
Есть три базовые модели цены набора:
Чтобы покупателю и команде было понятно, всегда отвечайте на два вопроса: от какой базы считается скидка и где округляем. Рабочая практика: считать скидку от суммы текущих цен компонентов, а затем округлять итоговую цену до «красивой». Если округлять скидку, а не итог, появляются копейки и расхождения между витриной и чеком.
С налогами и прайсом помогает еще одно правило: в прайсе храните базовую цену, а скидку храните отдельно. Тогда проще показать «было/стало», легче сверяться бухгалтерии, и изменение правил округления не ломает историю.
Пример: A = 1 200, B = 900, C = 700. Сумма = 2 800. Скидка 10% = 280. Итог = 2 520. Если хотите «2 499», округляйте итог до 2 499 и фиксируйте правило округления как часть акции.
Чтобы не было сюрпризов при изменении цен компонентов, выберите политику заранее: набор пересчитывается от текущих цен (цена «плавает»), или цена фиксируется на период акции, или фиксируются базовые цены и размер скидки снимком. Важно, чтобы это совпадало в витрине, заказе и учете.
Себестоимость набора почти всегда равна сумме себестоимостей компонентов с учетом количества. Ошибки обычно появляются, когда скидка задается общей суммой, но дальше в учете ее никак не распределяют.
Маржа набора считается от фактической цены продажи:
Маржа = Цена набора - Себестоимость набора.
Сложность начинается, когда скидка общая на весь набор, а в аналитике нужно видеть прибыль по каждому компоненту. Тогда скидку распределяют внутри набора. Два понятных подхода:
Пример: Товар A (цена 1 000, себестоимость 600) и Товар B (цена 500, себестоимость 200). Набор продается за 1 200, значит общая скидка 300 от суммы 1 500. Себестоимость набора 800, маржа 400. Если распределять скидку по цене, A получит 200 скидки, B - 100. Тогда «внутренняя» выручка: A = 800, B = 400, и прибыль по каждому компоненту будет считаться честно.
Отдельный случай - подарок в наборе. У подарка может быть нулевая цена, но себестоимость почти никогда не нулевая. Не делайте себестоимость подарка нулем, иначе маржа будет завышена. Лучше оставить обычную себестоимость и нулевую (или символическую) выручку, а распределение скидки настроить так, чтобы подарок не ломал аналитику.
Перед запуском акции проверьте маржу заранее: посчитайте маржу набора в деньгах и процентах, убедитесь, что она не уходит в минус при минимальной цене, посмотрите маржу по компонентам после распределения скидки и прогоните 2-3 сценария с разной себестоимостью партий.
Если вы автоматизируете учет, удобно собрать простой калькулятор маржи и распределения скидки под свои правила. Такой внутренний инструмент можно быстро сделать, например, в TakProsto (takprosto.ai), чтобы формулы и округления были едиными для всех.
В учете комплектов и наборов чаще всего используют три модели. Выбор влияет не только на цену и скидку, но и на остатки, возвраты и то, как сходятся отчеты.
Модель A: отдельный SKU для набора (как самостоятельный товар). У набора своя карточка и цена, иногда и отдельная себестоимость. Плюс - удобно для витрины и отчетности по продажам набора как продукта. Минус - нужно строго связать набор с компонентами, иначе склад «забывает» списать детали или списывает дважды. Возвраты тоже требуют правила: только целиком или можно частями.
Модель B: виртуальный набор (правило комплектации при продаже). На витрине продается «набор», но на складе списываются компоненты, а в документах хранится состав. Плюс - точные остатки по компонентам и честная аналитика по товарам внутри. Минус - в отгрузках и документах много строк, и важно, чтобы частичные возвраты принимались именно компонентами.
Модель C: сборка заранее (готовая упаковка на складе). Вы заранее комплектуете наборы и переводите компоненты в готовый набор. Плюс - быстрые отгрузки и меньше ошибок в пике. Минус - появляется отдельный запас наборов, риск «заморозить» склад, и нужна операция сборки с контролем.
Чтобы выбрать без лишней сложности, ответьте себе на вопросы: что важнее - отчет по набору или по компонентам, есть ли реальная операция сборки, как часто меняется состав, бывают ли замены и частичные возвраты, кто будет разбирать ошибки (касса, склад, учетная система).
Ориентир простой: для акций и понятной цены чаще подходит виртуальный набор. Если важна скорость отгрузки и набор реально собирают заранее - сборка. Если набор продается как отдельный продукт и нужен отдельный отчет - отдельный SKU, но со строгим списанием компонентов.
Чтобы учет не превращался в ручные правки, настройку лучше делать как небольшой проект: сначала правила, потом документы, и только затем продажи. Так вы заранее увидите, где «теряются» остатки и почему не сходится маржа.
Опишите состав набора: компоненты, количества, важные характеристики (цвет, размер, партия). Если допускаете замены - зафиксируйте, что именно можно менять и на каких условиях.
Задайте правила цены и скидки: что является базой (цена набора как SKU или сумма компонентов минус скидка), где и как округляем.
Выберите момент списания: при продаже, при сборке или при отгрузке. Он должен совпадать с реальным движением товара.
Настройте документы и статусы: резерв, сборка, отгрузка, возврат. Для возвратов заранее решите, принимаете ли вы набор только целиком или допускаете частичный возврат компонентов.
Прогоните тестовый заказ: одна продажа, один возврат и (если бывает) частичная отгрузка. Затем сверьте остатки компонентов, себестоимость, маржу и проводки.
Контрольный пример простой: набор из двух позиций продали один раз. На складе должны уменьшиться компоненты, а в отчетах появиться выручка по набору и себестоимость как сумма списанных компонентов (по вашим правилам). Если что-то не сходится, причина почти всегда в моменте списания или округлениях.
Точность склада ломается там, где набор продается как один товар, а физически уезжают несколько позиций. Правило одно: продажа набора должна списывать компоненты по норме (BOM) в выбранный момент (обычно при отгрузке или подтверждении продажи).
Представьте набор: 1 шампунь + 1 бальзам + 1 щетка. Клиент покупает 1 набор. В продажах это может быть одна строка по набору (для цены и аналитики), но складское движение должно списать три строки по компонентам. Если списывать только «наборный SKU» без компонентов, склад будет показывать «все на месте» до первой реальной нехватки.
Чтобы набор не продавался «в минус», включайте резервы по компонентам. Тогда при оформлении заказа система удерживает шампунь, бальзам и щетку, и второй заказ не пройдет, если хотя бы одного компонента не хватает.
Если компонента нет, выберите политику заранее: запрет продажи, замена на заранее заданный аналог с пересчетом себестоимости, или комплектация позже (но тогда резервы и статусы должны работать без сюрпризов).
Возвраты часто дают расхождения, потому что покупатель может вернуть не все. Если возвращают весь набор, оприходуйте компоненты по норме. Если возврат частичный, принимайте конкретный компонент, а набор в учете корректируйте по внутренним ценам и правилам, чтобы выручка и себестоимость пересчитались без ручных «поправок».
Инвентаризация с наборами сложнее: ошибки в норме, замены «на глаз» и ручные списания копятся. Помогают регулярные короткие проверки по ходовым наборам: соответствие нормы фактической комплектации, продажи наборов без движений по компонентам, отрицательные остатки, частые замены, а также разбор возвратов «частями».
Возьмем набор «Кофе дома»: кофе в зернах, кружка и сироп.
Розничные цены и себестоимость:
Если продавать по отдельности, сумма была бы 1 900 ₽, себестоимость 860 ₽.
Теперь делаем цену набора 1 590 ₽. Скидка 310 ₽ (около 16%). На витрине важно показывать обе цифры: «1 900 ₽» (база) и «1 590 ₽» (цена набора), чтобы покупатель видел смысл покупки.
Чтобы маржа в отчетах не превращалась в загадку, скидку удобно распределить по компонентам пропорционально их ценам. Тогда «внутренняя» цена продажи каждой позиции будет такой:
Итог по набору: выручка 1 590 ₽, прибыль 730 ₽ (1 590 - 860).
По складу все прямолинейно: при продаже 1 набора списывается по 1 штуке каждого компонента. Если было (кофе 50, кружки 30, сироп 40), после 1 продажи станет (49, 29, 39), после 10 продаж (40, 20, 30).
Возврат только кружки не должен ломать отчеты. Делайте частичный возврат по внутренней цене 502 ₽: деньги возвращаются, остаток кружек восстанавливается +1, а кофе и сироп остаются проданными.
Самая дорогая ошибка - учитывать один и тот же набор сразу двумя способами. Например, завели отдельный SKU набора, а при продаже менеджер еще и вручную списывает компоненты. В итоге склад уходит в минус, и вы начинаете «искать пропажи» там, где их нет.
Вторая частая ловушка - скидка задана в двух местах. Одни фиксируют цену набора, другие добавляют скидку на компоненты или на заказ. Пока цены не менялись, это почти незаметно. После обновления прайса отчеты «съезжают», и объяснить расхождения покупателю и бухгалтерии становится сложно.
Часто недооценивают мелочи, которые на деле стоят денег: коробка, пакет, пломба, печать наклейки, открытка, расходники для сборки. Если их не включить в себестоимость, маржинальность будет красивой только в теории.
Еще один источник потерь - округления. Если правила (вверх, вниз, до 0/5/9, до рубля) не закреплены, «потеря по копейке» на тысячах продаж превращается в заметную сумму.
И наконец, возвраты. Если клиент вернул набор, что вы делаете: принимаете его целиком или по компонентам? Без четких правил вы получите расхождения между выручкой, остатками и списаниями.
Раз в месяц полезно проходить короткую проверку: набор списывается одним способом без дублей, скидка и цена живут в одном месте, упаковка учтена в себестоимости, округления одинаковы во всех каналах, сценарии возврата описаны и выполняются одинаково.
Перед стартом продаж проверьте несколько вещей. Это помогает избежать споров про скидки, себестоимость и «куда делись остатки».
У набора должна быть одна выбранная модель: отдельный SKU, виртуальный набор со списанием компонентов, или сборка заранее. Смешивать модели внутри одной витрины рискованно.
Дальше закрепите состав: обязательные компоненты, возможные замены и правило замены (например, «любой шампунь 250 мл»). Если замены допускаются, заранее решите, как меняется себестоимость и кто подтверждает замену.
Источник скидки один: либо заданная цена набора, либо скидка к сумме компонентов. И сразу договоритесь про округление, иначе касса, сайт и учет будут показывать разные суммы.
Перед запуском проверьте маржу на 2-3 типовых сценариях: «набор + один компонент отдельно» и «два набора». Если прибыль резко падает или становится отрицательной, причина обычно в распределении скидки и округлениях.
Минимум для финальной проверки:
Начните с малого: возьмите 2-3 самых продаваемых набора и прогоните их по чеклисту - как считается цена, как выглядит скидка для покупателя, какая получается маржа, что происходит с остатками компонентов.
Дальше договоритесь о простых правилах и запишите их на одной странице: как задается цена и скидка, откуда берется себестоимость, когда и как списываются компоненты, что делаем с возвратами (целый набор или по компонентам). Без этого люди будут собирать наборы по-разному, а цифры в отчетах начнут расходиться.
Чтобы ошибок стало меньше, расчеты и проверки лучше собрать в одном месте, а не держать в таблицах разных отделов. Если нужен быстрый внутренний инструмент без долгой разработки, его можно собрать в TakProsto через чат: экран для состава набора, калькулятор цены и маржи, тестовые заказы с ожидаемым списанием и отчет по расхождениям «продажи набора vs списания компонентов».
После короткого теста закрепите роли: кто заводит набор, кто меняет состав, кто утверждает скидку. И добавьте регулярную проверку раз в неделю или месяц: топ наборов по выручке, их маржа и любые складские расхождения. Это помогает вовремя увидеть, где скидки съели прибыль или где компоненты уходят в минус из-за настроек.
Если набор — это просто способ продать несколько позиций вместе, обычно лучше виртуальный набор: в продаже одна строка, а на складе списываются компоненты.
Если набор реально собирают заранее (упаковка, комплектовка, маркировка) — удобнее модель со сборкой в готовый набор.
Отдельный SKU набора имеет смысл, когда он продается как отдельный «продукт» и нужна стабильная аналитика именно по нему, но тогда нужно строго контролировать списание компонентов.
База по умолчанию — сумма текущих цен компонентов, затем применяется скидка, и в конце округляется итоговая цена.
Практичный подход:
Себестоимость набора почти всегда = сумма себестоимостей компонентов (с учетом количества каждого).
Если в наборе есть упаковка/расходники (коробка, пакет, наклейка, пломба), добавьте их в себестоимость отдельно, иначе маржа будет завышена.
Если вам нужно видеть прибыль по компонентам, общую скидку надо распределить внутри набора.
Два рабочих способа:
Главное — выбрать один метод и применять его везде одинаково.
Подарку задают нулевую (или символическую) выручку, но себестоимость оставляют реальной.
Иначе вы искусственно завысите маржу набора. Если подарок ломает аналитику по компонентам, настройте распределение скидки так, чтобы подарок не «тянул» на себя выручку, но себестоимость учитывалась.
Выберите один момент списания и держите его везде:
Для большинства сценариев безопаснее списывать когда товар реально уезжает (отгрузка), а до этого использовать резерв по компонентам, чтобы не продавать наборы «в минус».
По умолчанию — запретить продажу, если не хватает хотя бы одного компонента. Это самый прозрачный вариант для склада.
Если замены допустимы, заранее задайте:
Без этих правил замены быстро превращаются в расхождения в остатках и марже.
Заранее решите политику возвратов:
Если допускаете частичный возврат, принимайте конкретный компонент и делайте возврат по его внутренней цене (той, что получилась после распределения скидки). Тогда и деньги, и остатки, и маржа пересчитаются без ручных правок.
Самые частые причины:
Быстрая проверка: один тестовый заказ и один тестовый возврат, затем сверить остатки компонентов и себестоимость.
Прогоните минимальный набор сценариев до запуска:
И проверьте три вещи: