Разработка схемы дропшиппинга с поставщиками 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Разработка схемы дропшиппинга с поставщиками 1С-Битрикс
Средний
~1-2 недели
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1357
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    944
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    693
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    829
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    731
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1074

При ручной обработке заказов с 10 поставщиками в день совершается до 15% ошибок – потерянные заказы, дубли, неправильные остатки. С ростом до 50 поставщиков процесс становится неуправляемым. Мы спроектировали более 30 схем дропшиппинга на 1С-Битрикс, обрабатывающих до 5 000 заказов в сутки без ручного вмешательства. Ключевая сложность — синхронизация остатков в реальном времени и корректная маршрутизация при множественных поставщиках. Стандартные модули не решают эти задачи. Неправильно спроектированная схема ломается при добавлении второго поставщика или при росте объёма до 100+ заказов в день. Наш опыт — более 7 лет в Битрикс-разработке и 30+ проектов. Мы гарантируем корректную маршрутизацию и своевременную синхронизацию остатков. Свяжитесь с нами для оценки вашего проекта — разберём вашу текущую инфраструктуру и подготовим решение.

Почему стандартные модули не подходят для дропшиппинга?

Готовые модули часто предлагают прямую подстановку поставщика, но не учитывают сложную маршрутизацию, множественные источники остатков и автоматизацию отказов. Приходится проектировать собственную модель данных и обработчики, адаптируемые под любого поставщика.

Модель данных для связи товаров и поставщиков

Центральный вопрос: как связать товар с поставщиком и хранить данные для маршрутизации заказов.

Инфоблок товаров (b_iblock_element, b_iblock_element_property) хранит розничные данные: название, описание, изображения, характеристики. Это не трогаем.

HL-блок Supplier — справочник поставщиков:

b_uts_supplier (автогенерированная таблица HL-блока)

  • ID
  • UF_NAME — название поставщика
  • UF_EMAIL — email для уведомлений
  • UF_WEBHOOK_URL — URL для POST-уведомлений
  • UF_API_KEY — ключ доступа к API поставщика
  • UF_FEED_URL — URL фида остатков (XML/CSV/JSON)
  • UF_FEED_FORMAT — формат фида
  • UF_LEAD_TIME — срок обработки заказа (дней)
  • UF_ACTIVE — активность

HL-блок SupplierProduct — связь товаров и поставщиков:

b_uts_supplier_product

  • ID
  • UF_PRODUCT_ID — ID элемента инфоблока (b_iblock_element.ID)
  • UF_SUPPLIER_ID — ID поставщика (b_uts_supplier.ID)
  • UF_SUPPLIER_SKU — артикул поставщика
  • UF_PURCHASE_PRICE — закупочная цена
  • UF_CURRENCY — валюта закупки
  • UF_STORE_ID — склад поставщика (b_catalog_store.ID)
  • UF_MIN_QUANTITY — минимальная партия
  • UF_IS_PRIMARY — основной поставщик (если несколько)

Склады (b_catalog_store) — по одному на каждого поставщика. Остатки — в b_catalog_store_product. Это стандартный механизм Битрикс, не изобретаем велосипед.

Как спроектировать маршрутизацию заказов?

Задача маршрутизатора: при создании заказа разобрать корзину, сгруппировать позиции по поставщикам, передать каждому поставщику его часть. Усложнение — один товар может иметь несколько поставщиков. Нужна логика выбора: по цене, по наличию, по приоритету. Реализуется через UF_IS_PRIMARY плюс проверка текущего остатка.

namespace Local\Dropshipping;

use Bitrix\Highloadblock\HighloadBlockTable;
use Bitrix\Main\Application;

class SupplierResolver
{
    /**
     * Возвращает лучшего поставщика для товара:
     * сначала основного с остатком > 0, иначе любого с остатком
     */
    public static function resolve(int $productId, int $quantity): ?array
    {
        $conn = Application::getConnection();

        // Находим поставщиков, у которых достаточно остатка
        $result = $conn->query("
            SELECT sp.UF_SUPPLIER_ID, sp.UF_SUPPLIER_SKU, sp.UF_PURCHASE_PRICE,
                   sp.UF_IS_PRIMARY, csp.AMOUNT
            FROM b_uts_supplier_product sp
            JOIN b_catalog_store_product csp
                ON csp.PRODUCT_ID = sp.UF_PRODUCT_ID
                AND csp.STORE_ID  = sp.UF_STORE_ID
            WHERE sp.UF_PRODUCT_ID = {$productId}
              AND csp.AMOUNT       >= {$quantity}
            ORDER BY sp.UF_IS_PRIMARY DESC, sp.UF_PURCHASE_PRICE ASC
            LIMIT 1
        ");

        return $result->fetch() ?: null;
    }
}

Передача заказа поставщику

Три канала передачи, в порядке предпочтительности:

  1. Вебхук (REST API поставщика) — лучший вариант. Мы POST-им JSON с данными заказа на URL поставщика, он отвечает подтверждением:
private static function sendWebhook(string $url, string $apiKey, array $payload): bool
{
    $http = new \Bitrix\Main\Web\HttpClient();
    $http->setHeader('Content-Type', 'application/json');
    $http->setHeader('Authorization', 'Bearer ' . $apiKey);
    $http->setTimeout(10);

    $response = $http->post($url, json_encode($payload));
    $status   = $http->getStatus();

    \Bitrix\Main\Diag\Debug::writeToFile(
        ['url' => $url, 'status' => $status, 'response' => $response],
        'Dropshipping webhook',
        '/local/logs/dropshipping.log'
    );

    return $status === 200;
}
  1. Email с HTML-таблицей — когда поставщик не имеет API. Шаблон письма через CEvent::Send, событие DROPSHIPPING_ORDER_NEW. Таблица позиций, адрес доставки, сумма к перечислению.

  2. Файловый обмен через FTP/SFTP — для поставщиков, работающих с 1С. Генерируем XML в формате CommerceML и кладём на FTP поставщика. Он забирает по расписанию.

Синхронизация остатков

Остатки устаревают быстро — проблема всей дропшиппинг-схемы. Три стратегии:

Стратегия Описание Задержка Требования к поставщику
Push от поставщика Вебхук при изменении остатка Минуты Наличие API с callback
Pull по расписанию Агент каждые N минут скачивает фид 15-30 мин Предоставление фида (XML/CSV/JSON)
Резервирование Уменьшение остатка при заказе Мгновенно Нет
  • Push от поставщика — поставщик сам уведомляет об изменении остатка через вебхук. Реализуем эндпоинт с проверкой API-ключа.
  • Pull по расписанию — агент Битрикс каждые 30 минут скачивает фид поставщика и обновляет остатки. Фиды бывают XML (1С-формат), CSV, JSON.
  • Резервирование — если pull невозможен, после создания заказа сразу уменьшаем остаток на складе поставщика в b_catalog_store_product. Некорректно, но лучше ничего.

Расчёт маржи

Закупочная цена хранится в UF_PURCHASE_PRICE HL-блока. Розничная цена — в b_catalog_price. Разница — маржа. Отчёт по марже запрашивается прямо к базе:

SELECT
    be.NAME                                         AS product_name,
    cp.PRICE                                        AS retail_price,
    sp.UF_PURCHASE_PRICE                            AS purchase_price,
    cp.PRICE - sp.UF_PURCHASE_PRICE                 AS margin_abs,
    ROUND((cp.PRICE - sp.UF_PURCHASE_PRICE)
          / cp.PRICE * 100, 1)                      AS margin_pct
FROM b_iblock_element be
JOIN b_catalog_price cp     ON cp.PRODUCT_ID = be.ID AND cp.CATALOG_GROUP_ID = 1
JOIN b_uts_supplier_product sp ON sp.UF_PRODUCT_ID = be.ID AND sp.UF_IS_PRIMARY = 1
WHERE be.IBLOCK_ID = :catalog_iblock_id
  AND be.ACTIVE   = 'Y'
ORDER BY margin_pct ASC;

Как обрабатываются отказы поставщика?

Поставщик может отклонить заказ (нет в наличии, ошибка адреса). Нужен статусный HL-блок для отслеживания:

b_uts_supplier_order

  • UF_ORDER_ID — ID заказа Битрикс (b_sale_order.ID)
  • UF_SUPPLIER_ID — ID поставщика
  • UF_STATUS — pending / confirmed / rejected / shipped / delivered
  • UF_SUPPLIER_ORDER — номер заказа у поставщика
  • UF_TRACKING — трек-номер отправления
  • UF_REJECT_REASON — причина отказа
  • UF_DATE_UPDATE — дата последнего изменения

При статусе rejected запускается агент, который уведомляет менеджера и, если есть альтернативный поставщик того же товара, автоматически перенаправляет заказ.

Пошаговая настройка дропшиппинга

Как внедрить схему за 5 шагов (разверните)
  1. Аудит — анализируем текущий каталог, интеграции, количество поставщиков и объём заказов (в среднем 500-1000 заказов в день).
  2. Проектирование модели — создаём HL-блоки Supplier и SupplierProduct, настраиваем склады для каждого поставщика.
  3. Разработка маршрутизатора — пишем логику выбора поставщика по приоритету и остаткам.
  4. Интеграция каналов передачи — вебхуки, email или FTP в зависимости от возможностей поставщика.
  5. Тестирование и запуск — нагрузочное тестирование на 1000+ заказов, мониторинг в течение недели.

Сроки реализации

Конфигурация Состав Срок
Один поставщик, email-уведомления HL-блоки + обработчик + шаблон 1–2 недели
Несколько поставщиков, вебхуки + маршрутизатор + API синхронизации 3–4 недели
Полная схема с фидами, кабинетом и аналитикой + pull фидов + ЛК поставщика + отчёт по марже 6–8 недель

Что входит в результат

  • Модель данных (HL-блоки Supplier и SupplierProduct) с полями под ваших поставщиков.
  • Маршрутизатор заказов с поддержкой N поставщиков и логикой выбора по приоритету.
  • Интеграция с поставщиками: вебхуки, email или FTP — под каждого индивидуально.
  • Синхронизация остатков в режиме, близком к реальному времени.
  • Обработка отказов с автоматическим перенаправлением на альтернативного поставщика.
  • Документация по архитектуре и инструкция по эксплуатации.
  • Обучение менеджеров (2 часа) и техподдержка в течение 30 дней.

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

Настройка дропшиппинга на 1С-Битрикс: интернет-магазин без склада

Главная техническая задача дропшиппинг-магазина — не витрина, а синхронизация остатков. Покупатель оформил заказ, а товар закончился у поставщика 10 минут назад — и вы получаете возврат, негативный отзыв и минус к карме на маркетплейсе. Мы строим дропшиппинг-магазины на 1С-Битрикс с автоматизацией всей цепочки: парсинг каталога, синхронизация остатков каждые 5–15 минут, автоматическая передача заказов поставщику, трекинг в личном кабинете. Услуги по настройке дропшиппинга на 1С-Битрикс включают полный цикл: от первого контакта с поставщиком до SEO-оптимизации витрины.

Почему 1С-Битрикс подходит для дропшиппинга?

Платформа даёт готовые инструменты для e-commerce: модуль «Интернет-магазин», корзина, платёжные обработчики, личный кабинет — всё из коробки. Не нужно собирать магазин из плагинов. Обмен через CommerceML с поставщиками на 1С настраивается за пару дней: выгрузка catalog.xml + offers.xml → автоматический импорт.

Мультипоставщик поддерживает один товар от трёх поставщиков с разными ценами. Битрикс через типы цен (b_catalog_group) и мультисклад (b_catalog_store) позволяет вести всё в одной витрине и подставлять лучшее предложение. SEO-блок: bitrix:catalog.seo.filter для индексируемых фильтров, шаблоны мета-тегов с подстановкой свойств инфоблока, автогенерация ЧПУ. Масштабируемость — от 100 до 500 000+ товаров. При правильной настройке фасетного индекса (b_catalog_iblock_index) каталог на полмиллиона SKU работает без деградации.

Архитектура: импорт каталога

Поставщики отдают данные кто как — и к каждому свой подход:

  • YML/XML-фиды (формат Яндекс.Маркет) — самый распространённый. Парсим через XMLReader (не SimpleXML — на больших фидах в 500 МБ он съест всю память)
  • CSV/Excel — маппинг полей через конфиг, валидация, обработка кривых кодировок (да, до сих пор поставщики присылают CSV в Windows-1251)
  • API поставщика — прямой доступ к каталогу в реальном времени, самый надёжный вариант
  • CommerceML — стандартный формат обмена с 1С
Формат Производительность Надёжность данных Время настройки
YML/XML Средняя (зависит от объёма) Средняя (нужен парсер) 1–2 дня
CSV/Excel Низкая (требуется валидация) Низкая (ошибки кодировок, типов) 2–3 дня
API Высокая (реальное время) Высокая 3–5 дней
CommerceML Высокая (инкрементальный) Высокая 1–2 дня

Наш импортёр закрывает рутину:

  • Загрузка по расписанию через агент Битрикс (CAgent::AddAgent) — каждые 15–60 минут, настраивается под поставщика
  • Маппинг категорий поставщика → разделы инфоблока каталога. Без ручного перетаскивания — правила задаются один раз
  • Скачивание и оптимизация изображений: ресайз через CFile::ResizeImageGet, сжатие, конвертация в WebP
  • Инкрементальное обновление цен и остатков — без пересоздания элементов инфоблока. Обновляем только изменённые поля через CIBlockElement::SetPropertyValues и CCatalogProduct::Update
  • Генерация уникальных описаний — перефразирование или AI-сервисы
  • Наценка по правилам: процент, фикс, отдельно по разделам каталога

Без дедупликации появляются дубли товаров — решаем маппингом по артикулу или EAN. Если не настроить алерты при сбоях фида, магазин продаёт несуществующие товары — настраиваем уведомления менеджеру.

Как настроить синхронизацию остатков без потерь?

В дропшиппинге вы не контролируете склад. Расхождение между фидом и реальным наличием — прямые убытки. Настройка синхронизации каждые 5–60 минут (зависит от API/фида поставщика). Автоскрытие товаров с нулевым остатком — CIBlockElement::Update(['ACTIVE' => 'N']). Ни одной «пустой» карточки в catalog.section. Алерты менеджеру при массовых расхождениях — если вдруг 30% каталога обнулилось, это скорее сбой фида, чем реальная распродажа. Мультипоставщик: один товар от нескольких источников — через разные склады в b_catalog_store. Система подставляет предложение с наличием и лучшей ценой.

Обработка заказов и логистика

Автоматическая передача заказов поставщику — без ручного копирования. Отправка через API, email (шаблон из b_event_message) или выгрузку в ЛК поставщика. Распределение позиций между поставщиками — если в sale.basket товары от разных источников, заказ разбивается на отгрузки. Получение трек-номера → запись в свойство заказа → уведомление покупателю через \Bitrix\Sale\Notify. Обработка частичного наличия: товар есть у одного поставщика, нет у другого — автоматическое разбиение заказа.

Доставка в дропшиппинге — зона поставщика, но покупатель видит ваш бренд. Сроки доставки с учётом обработки у поставщика — не только время транспортной компании. Трекинг в личном кабинете через API СДЭК, Boxberry, Почты России. Объединение отправлений от нескольких поставщиков (при наличии промежуточного склада). Возвраты — координация между покупателем и поставщиком через единый интерфейс в админке. Брендированная упаковка по договорённости.

Ценообразование и мультипоставщик

Наценка — то, на чём строится маржа. Процентная: 30% от закупочной на весь каталог. Ступенчатая: до 1000₽ → 50%, 1000–5000₽ → 30%, свыше 5000₽ → 20%. На дешёвых товарах абсолютная маржа минимальна — нужен высокий процент. Категорийная: электроника 15%, аксессуары 60%. Каждая ниша — свои правила. Психологическое округление — 990₽ вместо 987₽ через кастомное правило наценки. Мониторинг конкурентов — парсинг цен и автокорректировка. RRP — рекомендованная розничная цена поставщика как верхний ориентир.

Мультипоставщик расширяет ассортимент и страхует. Объединение каталогов в единую структуру разделов инфоблока. Дедупликация — по артикулу (PROPERTY_ARTICLE) или EAN. Один товар = один элемент инфоблока, несколько предложений в b_catalog_store. Автоматический выбор поставщика: наличие → цена → скорость доставки. Раздельный учёт: закупочные цены в отдельном типе цен (PURCHASE), история заказов, статистика. Панель с рейтингом надёжности — кто срывает сроки, у кого расхождения по остаткам.

Уникализация контента и SEO

Десятки магазинов копируют описания из фида поставщика — и проигрывают в SEO. Уникальные описания для топовых категорий, приносящих основной трафик. Остальное — шаблонная генерация из свойств. Мета-теги по шаблону: title и description через настройки SEO инфоблока: {=this.Name} купить в Минске | {=parent.Name} — цена от {=this.catalog.price.BASE} руб.. UGC — отзывы (iblock.vote), вопросы-ответы, фото от покупателей. Живой контент работает лучше копирайтинга. SEO-фильтры — bitrix:catalog.seo.filter создаёт индексируемые страницы пересечений: «красные кроссовки Nike 42 размер» с уникальными мета-тегами.

Согласно официальной документации 1С-Битрикс, система поддерживает до 20 типов цен и неограниченное количество складов.

Юридические аспекты

Договор комиссии или агентский с поставщиком — юридическая база. Интеграция с ОФД по 54-ФЗ — фискализация чеков через sale.cashbox. Гарантия: перед покупателем отвечаете вы, независимо от отгрузчика. Настройка бизнес-процессов (Bizproc) для автоматизации возвратов.

Как мы запускаем проект: пошаговая схема

  1. Аудит поставщиков — собираем спецификации фидов, API, согласовываем маппинг.
  2. Настройка импорта — пишем парсер, валидацию, агенты синхронизации.
  3. Настройка магазина — дизайн, платёжные шлюзы, службы доставки.
  4. Автоматизация заказов — интеграция передачи заказов, трекинг, возвраты.
  5. SEO и уникализация — мета-теги, описания, фильтры.
  6. Тестирование — контрольные сценарии, нагрузочные тесты.
  7. Деплой и мониторинг — запуск, алерты, документация.

Что входит в работу

  • Полная документация: настройки интеграций, параметры импорта, API-ключи.
  • Передача доступов: админка, хостинг, API.
  • Обучение команды: работа с импортом, управление заказами, отчёты.
  • Поддержка после запуска: 2 недели безлимитных консультаций, далее по SLA.

Сроки и этапы

Этап Сроки
Подключение 1 поставщика (импорт каталога) 3–5 дней
Настройка магазина (дизайн, оплата, доставка) 1–2 недели
Автоматизация заказов 3–5 дней
SEO-настройка и уникализация 1–2 недели
Запуск MVP 3–4 недели
Подключение дополнительных поставщиков 2–3 дня на каждого

Запускаем дропшиппинг-магазины с минимальными вложениями и помогаем масштабировать — от одного поставщика до десятков, от сотни SKU до сотен тысяч. Получите консультацию — свяжитесь с нами, оценим задачу и предложим оптимальное решение под ключ. Закажите настройку дропшиппинга на 1С-Битрикс прямо сейчас. Узнайте подробнее о дропшиппинге на Wikipedia.