Розробка схеми дропшипінгу з постачальниками на 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
    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-оптимізації вітрини. За понад 6 років роботи ми запустили більше 40 таких магазинів — від single‑vendor до мультипостачальних каталогів на 300 000+ SKU.

Чому 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 працює без деградації.

Чи можна інтегрувати дропшипінг на 1С-Бітрікс без програмування?

Відповідь — ні, якщо ви хочете стабільної роботи. Типова помилка — спроба налаштувати імпорт через стандартний «Імпорт з XML» в адмінці. На каталозі з 10 000 товарів це призводить до таймаутів, дублів і ручного контролю. Ми пишемо кастомний імпортер під кожного постачальника — з обробкою помилок, інкрементальним оновленням і логуванням.

Технічна архітектура рішення

Імпорт каталогу: чому стандартний інструмент не працює на великих обсягах

Постачальники віддають дані хто як — і до кожного свій підхід:

  • YML/XML-фіди (формат Яндекс.Маркет) — найпоширеніший. Парсимо через XMLReader (не SimpleXML — на великих фідах у 500 МБ він з'їсть всю пам'ять, а XMLReader споживає в 10 разів менше ресурсів)
  • 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% від закупівельної на весь каталог. Ступінчаста: до певної суми — 50%, наступний діапазон — 30%, вище — 20%. Категорійна: електроніка 15%, аксесуари 60%. Психологічне округлення через кастомне правило націнки. Моніторинг конкурентів — парсинг цін та автокоригування. 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 до сотень тисяч. Замовте консультацію — зв'яжіться з нами, оцінимо завдання та запропонуємо оптимальне рішення під ключ. Отримайте безкоштовний аудит вашої схеми дропшипінгу прямо зараз.