Комплект в интернет-магазине выглядит для покупателя как один продукт: набор ухода, подарочный бокс, компьютерный комплект или несколько расходников по общей цене. Но внутри WooCommerce такой товар должен корректно участвовать в учёте остатков, расчёте цены, доставке и заказе. Если просто объединить товары визуально, очень легко получить продажу отсутствующего компонента, двойную стоимость доставки или неправильную сумму в корзине.
Официальное расширение WooCommerce Product Bundles решает эту задачу системно. Оно создаёт продукт-контейнер и связывает его с входящими в комплект товарами. В официальной документации по настройке Product Bundles отдельно описаны состав, цены, количество, видимость и доставка компонентов. Ниже разберём, как настроить комплект так, чтобы он предсказуемо работал не только в карточке, но и после реального заказа.
Когда Product Bundles подходит лучше обычного grouped product
Grouped product удобен, когда нужно показать несколько самостоятельных товаров рядом и дать покупателю выбрать количество каждого. Product Bundles нужен, когда у набора есть собственная логика: фиксированный или настраиваемый состав, общая цена, обязательные компоненты, ограничения количества и связанное отображение в корзине.
Это особенно полезно для подарочных наборов, комплектов оборудования, наборов аксессуаров, стартовых пакетов и товаров, которые продаются вместе, но продолжают существовать в каталоге как отдельные SKU.
Как Product Bundles хранит комплект в корзине и заказе
Важная особенность Product Bundles — комплект не превращается в одну непрозрачную строку. Расширение сохраняет родительскую позицию bundle и связанные дочерние позиции компонентов. Такая структура нужна, чтобы WooCommerce и совместимые расширения понимали реальный состав заказа.
Из-за этого интеграцию нельзя тестировать только по итоговой сумме. CRM, складская система, экспорт заказов, PDF-счета или кастомный webhook могут увидеть и родителя, и дочерние строки. Если внешняя система ожидает только обычные товары, для неё иногда нужна отдельная логика обработки bundle items.
Шаг 1. Определите состав комплекта до настройки цены
Сначала стоит ответить на три вопроса: какие товары обязательны, какие покупатель может выбирать и какое количество каждого компонента допустимо. После этого в Product Bundles добавляются существующие товары WooCommerce.
Компонентами могут быть разные типы продуктов, поддерживаемые расширением. Для вариативного товара можно дать покупателю выбрать вариацию, а для фиксированного набора — заранее ограничить допустимую конфигурацию. Чем меньше лишних вариантов в интерфейсе, тем проще покупателю и тем меньше комбинаций нужно тестировать.
Шаг 2. Выберите модель цены: общая или по компонентам
У комплекта может быть собственная базовая цена, а его элементы могут дополнительно учитываться через индивидуальные цены. Настройка Priced Individually определяет, сохраняется ли цена конкретного компонента в расчёте набора.
Практически есть две распространённые модели. Первая — фиксированная цена всего комплекта, когда покупатель платит одну сумму независимо от обычной розничной цены каждого элемента. Вторая — конфигурируемый набор, где стоимость зависит от выбранных компонентов и их количества.
Важно, чтобы товары-компоненты имели корректно заполненную цену в WooCommerce, даже если итоговая коммерческая логика набора скрывает или переопределяет её. Пустые и неконсистентные цены часто проявляются только в отдельных конфигурациях или интеграциях.
Скидку лучше считать частью модели, а не косметикой
Если комплект должен быть дешевле суммы отдельных товаров, нужно заранее решить, где именно живёт скидка: в цене родительского bundle, в индивидуальных ценах компонентов или в отдельном правиле скидок. Не стоит одновременно снижать базовую цену и применять автоматическую скидку тем же товарам без теста — итог может оказаться ниже ожидаемого.
Для аналитики также важно понимать, на какой строке заказа будет находиться выручка. От этого зависит отчётность, интеграция с ERP и расчёт маржинальности.
Шаг 3. Настройте остатки компонентов
Главное преимущество настоящего bundle перед «виртуальной карточкой набора» — связь с реальными товарами. Если компонент ведёт свой складской остаток, продажа комплекта должна уменьшать доступное количество именно этого товара.
Например, набор состоит из кружки, кофе и упаковки фильтров. Кружек может быть 20, кофе 7, фильтров 50. Даже если сам bundle визуально не имеет отдельного физического остатка, реально продать можно только столько комплектов, сколько позволяет самый дефицитный обязательный компонент с учётом его количества в наборе.
После настройки полезно проверить сценарий около нулевого остатка: оформить тестовый заказ на последний доступный комплект, затем убедиться, что следующий покупатель не может купить конфигурацию с отсутствующим товаром.
Резервирование и отмены заказа тоже требуют проверки
WooCommerce может уменьшать остатки на определённом этапе заказа и возвращать их при отмене в зависимости от настроек и платёжного сценария. Для bundle важно проверить не только родительскую позицию, но и каждый компонент. Особенно это критично, если остатки синхронизируются с внешним складом.
Если магазин использует обмен с 1С, МойСклад, ERP или собственным API, интеграция должна понимать дочерние позиции комплекта и не списывать один и тот же товар дважды.
Шаг 4. Проверьте модель доставки
Комплект может физически отправляться одной коробкой или состоять из элементов, для которых доставка рассчитывается отдельно. Product Bundles позволяет управлять тем, как компоненты участвуют в shipping-логике.
Здесь нельзя выбирать настройку только по внешнему виду checkout. Нужно сравнить её с реальным процессом упаковки. Если все компоненты едут одной посылкой, итоговые вес и габариты должны соответствовать этой модели. Если элементы могут отправляться раздельно, это должно понимать и расширение доставки.
Вариации и настраиваемые наборы
Один из сильных сценариев Product Bundles — дать покупателю настроить комплект. Например, выбрать размер одного товара, цвет другого и количество расходников. Но каждая дополнительная свобода увеличивает число возможных комбинаций.
Для коммерческого сайта лучше оставлять только реально нужные опции. Если бизнес продаёт три готовых комплектации, часто надёжнее сделать три понятных bundle-продукта, чем один конструктор с десятками зависимостей.
Почему нельзя проверять только карточку товара
Карточка может выглядеть идеально, но ошибка проявится на другом этапе. Минимальная тестовая матрица должна включать:
- добавление стандартного набора в корзину;
- изменение доступной опции или вариации;
- минимальное и максимальное количество компонента;
- компонент с низким остатком;
- купон или скидку, если они используются;
- расчёт доставки;
- оформление и оплату тестового заказа;
- отмену заказа и возврат остатков;
- отображение состава в письмах и личном кабинете;
- передачу заказа во внешние интеграции.
Совместимость с плагинами — отдельный этап
WooCommerce Product Bundles имеет собственную документацию по совместимости и интеграциям. Это важно, потому что сторонний плагин может корректно работать с обычной строкой заказа, но не учитывать parent/child структуру комплекта.
Чаще всего дополнительного тестирования требуют динамические скидки, подписки, доставка, экспорт заказов, складские интеграции, invoice-плагины, аналитика и кастомные checkout-модификации. Наличие общего слова «WooCommerce compatible» ещё не гарантирует корректную обработку bundles.
Что проверить в API и автоматизациях
Если заказ уходит во внешнюю систему, сначала сохраните реальный тестовый заказ с комплектом и посмотрите его структуру. После этого уже пишется маппинг. Интеграция должна отличать родителя от компонентов и понимать, где брать SKU, количество, цену и налог.
Универсальное правило простое: не пытаться восстановить состав комплекта по названию товара. Используйте данные структуры заказа и метаданные, которые формирует расширение.
Типичные ошибки при запуске комплектов
- создать набор и не проверить остаток последнего компонента;
- одновременно применить скидку bundle и внешнее правило скидок;
- не проверить доставку при разных весах компонентов;
- считать родительскую строку обычным SKU в ERP;
- скрыть цену компонента, но оставить некорректную исходную цену товара;
- обновить Product Bundles или checkout-плагин без staging-теста;
- проверить только одну идеальную конфигурацию.
Безопасная схема внедрения
- Зафиксировать бизнес-правила набора: состав, цена, остатки и доставка.
- Собрать один тестовый bundle на staging-копии.
- Проверить все допустимые конфигурации и пограничные остатки.
- Оформить заказ от начала до оплаты.
- Проверить письмо, админку, склад и внешние интеграции.
- Только после этого переносить модель на остальные комплекты.
Если магазин уже использует сложные доработки WooCommerce, интеграцию со складом или нестандартный checkout, настройку Product Bundles лучше начинать с аудита существующей логики. A.S Groups может настроить комплекты, проверить списание остатков и доставку, адаптировать интеграции под parent/child структуру и протестировать весь сценарий заказа до запуска. Связаться по проекту.
Обсуждение
Вопросы и комментарии
Можно уточнить детали статьи или поделиться своим опытом. Первый комментарий проходит проверку.