Клиент жалуется: «Доставка в Калининград стоит $3–4, а в Москву — 500, хотя вес одинаковый — 2 кг». Эта ситуация знакома многим. Битрикс считает доставку по шаблону, если не настроить индивидуально. Мы сталкивались с этим десятки раз: в одном проекте из-за неправильного веса товаров система ошибалась на 30%, а в другом — API СДЭК возвращал цену в два раза ниже наших тарифов. Наш опыт — более 50 проектов по настройке доставки, от простых фиксированных ставок до интеграций с API СДЭК и Почты России. Правильная настройка расчёта стоимости доставки на 1С-Битрикс — это не только точность для клиента, но и снижение нагрузки на поддержку. По нашим данным, корректный расчёт уменьшает количество вопросов от покупателей на 40% и увеличивает конверсию в заказ на 15%.
Как мы решаем проблемы расчета доставки
Расчёт стоимости доставки в Битрикс работает через модуль sale. Служба доставки — это PHP-класс, унаследованный от \Bitrix\Sale\Delivery\Services\Base, который реализует метод calculateConcrete(). Всё, что делает Битрикс при оформлении заказа — вызывает этот метод и ожидает объект CalculationResult с ценой и сроком.
Методы расчета:
- Фиксированная цена. Настраивается в административной части без кода: в свойствах службы доставки указывается сумма. Подходит для «доставка $3–4 по Москве».
- По тарифным сеткам. Цена зависит от веса и/или суммы заказа. Таблица хранится в
b_sale_delivery_zone_rate. Настройка в административной панели. - По местоположению. Тариф привязывается к узлу дерева локаций, автоматически применяется ко всем дочерним населённым пунктам.
- Расчёт через внешний API. Запрос к API службы доставки в реальном времени. Точность выше в 2-3 раза по сравнению с фиксированными тарифами для нестандартных маршрутов. Например, интеграция с СДЭК API позволяет получать актуальные ставки с учётом скидок клиента.
Почему объёмный вес важен для расчёта?
Логистические компании часто считают по объёмному весу: (длина × ширина × высота) / 5000. Стандартный механизм Битрикс это не учитывает — добавляем в calculateConcrete():
$dimensionWeight = ($length * $width * $height) / 5000; $chargeableWeight = max($actualWeightKg, $dimensionWeight); Размеры берём из свойств товара (b_iblock_element_prop) или из полей товарного предложения. Без этого расчёта доставка габаритного товара (например, мебель) может быть занижена в 2-3 раза, что ведёт к убыткам.
Как создать свою службу доставки?
- Наследовать
\Bitrix\Sale\Delivery\Services\Base. - Реализовать метод
calculateConcrete(). - Зарегистрировать обработчик в административной панели.
Типичные ошибки при настройке:
- Вес товаров не заполнен в каталоге — доставка всегда 0.
- Регион покупателя не определяется (свойство
LOCATIONне задано). - Несколько служб с перекрывающимися тарифными зонами — конфликт при выборе.
Совет: как избежать частых ошибок
Убедитесь, что вес указан для каждого товара, иначе доставка будет нулевой. Также проверьте, что у всех товаров заполнены габариты, если используете объёмный вес.Сравнение методов расчета
| Метод | Преимущества | Недостатки | Когда использовать |
|---|---|---|---|
| Фиксированный | Простота, без программирования | Не гибкий | Несколько зон, простые правила |
| По весу | Учитывает реальный вес | Не учитывает габариты | Товары с большим разбросом веса |
| По местоположению | Адаптация под регионы | Сложность настройки | Более 10 регионов с разными тарифами |
| Внешний API | Точность в 2-3 раза выше | Необходимость программирования | Крупные каталоги, динамические тарифы |
Сравнение служб доставки по точности
| Служба | Тип расчёта | Погрешность | Рекомендуется для |
|---|---|---|---|
| СДЭК | API | 5-10% | E-commerce, срочные отправления |
| Почта России | API | 10-15% | Нерентабельные направления |
| Boxberry | API | 5-8% | Малые города |
Что входит в работу
- Анализ требований к доставке: какие службы, зоны, габариты.
- Проектирование архитектуры: выбор методов, тарифных сеток, интеграций.
- Реализация кастомных служб доставки с учётом объёмного веса и API.
- Тестирование на разных сценариях: вес до 50 кг, регионы с разными тарифами, скидки.
- Документация и обучение ваших менеджеров работе с настройками.
- Поддержка после запуска: быстрое исправление ошибок.
Наш опыт и гарантии
Работаем с Битрикс более 10 лет, выполнили 50+ проектов по настройке доставки — от небольших магазинов до федеральных сетей. Гарантируем, что стоимость будет рассчитана верно независимо от сложности. Получите консультацию — мы разберём ваш случай и предложим оптимальное решение. Свяжитесь с нами, чтобы обсудить детали и заказать расчёт.
Документация 1С-Битрикс: Работа со службами доставки







