Зв'язатись
Доставка · WordPress

Тариф за коробкою для WooCommerce — Box Rate Shipping

Завантажити безкоштовно
Версія
v1.0.0
Сумісність
WordPress 6.2+, WooCommerce 6.0+ (перевірено на WP 7.1 / Woo 10.7)
Платформа
WordPress
Тариф за коробкою для WooCommerce — Box Rate Shipping

Що включено в ліцензії

Функція Free Pro
Тариф рахується за коробками, у які замовлення реально вміщається
Перевірка по трьох сторонах, а не лише за обʼємом
Поділ замовлення на кілька коробок, коли в одну не влазить
Власний каталог коробок: габарити, макс. вага, ціна, надбавка за кг
Надбавка за обробку — один раз на відправлення, не на кожну коробку
Безкоштовна доставка від суми замовлення
Поворот предмета можна вимкнути для товарів «тільки одним боком»
За замовчуванням НЕ рахує кошик із товаром без габаритів
Назви таких товарів пишуться в WooCommerce → Статус → Журнали
Окремий екран зі списком товарів із порожніми габаритами
Фіксована ставка за негабарит або приховування методу — на вибір
Розміри в одиницях вашого магазину, без прихованих конвертацій

WooCommerce рахує доставку за вагою і класом доставки. Курʼєр бере гроші за коробку, у яку посилка реально влізла. Для будь-чого габаритного ці два числа навіть не поруч, і різниця виходить із вашої маржі на кожному замовленні.

Три футболки і один чайник важать однаково — а їдуть у зовсім різних коробках. Подушка, лежак для собаки, абажур: легкі, а місця займають як коробка за 150 грн.

Модуль закриває саме цей розрив. Ви описуєте коробки, якими реально відправляєте, а чекаут показує вартість тих коробок, у які замовлення справді вміщається.

Живе демо

Тестовий стенд: test.catcode.com.ua (WordPress 7.1 + WooCommerce 10.7). В адмінці — розділ Box rate: таблиця коробок, правила і діагностика товарів без габаритів.

Як рахує на реальних прикладах (коробки Small 20×15×10 / 50 грн, Medium 40×30×20 / 90 грн, Large 60×40×40 / 150 грн + 5 грн за кг):

  • 1 кухоль → Small, 50 грн.
  • 4 кухлі → дві Small, 100 грн: за обʼємом вони влізли б в одну, але спрацював ліміт ваги коробки.
  • Постер 35 дюймів завдовжки → Medium, 90 грн: у Small він не вміщається по стороні, скільки б вільного обʼєму там не було.
  • Кухоль + крісло → Large, 213 грн (150 за коробку + 5 × 12,6 кг).
  • Диван 90×50×45 → не вміщається в жодну коробку: або рейт не показується взагалі, або фіксована ставка за негабарит — на ваш вибір.

Як це виглядає для покупця

Звичайний метод доставки в кошику й на чекауті, з тією назвою, яку ви задали. Ніяких додаткових полів, попапів чи кроків. У деталях замовлення видно, з яких коробок склалась ціна — наприклад «Small × 2».

Якщо в кошику опиняється товар, для якого чесно порахувати неможливо, метод просто не показується — замість того щоб показати впевнено неправильну суму.

Що отримує адмін

Каталог коробок і правила. Зверху — діагностика: 39 товарів цього магазину не мають габаритів, і за замовчуванням модуль для них нічого не рахує.
Каталог коробок і правила. Зверху — діагностика: 39 товарів цього магазину не мають габаритів, і за замовчуванням модуль для них нічого не рахує.

Таблиця коробок: назва, довжина, ширина, висота, максимальна вага, вартість і надбавка за кілограм. Розміри в тих одиницях, які стоять у вашому WooCommerce, — нічого не конвертується за вашою спиною.

Правила: що робити з товаром без габаритів, що робити з негабаритом, надбавка за обробку (один раз на відправлення, а не на кожну коробку), безкоштовна доставка від суми, дозвіл повертати товар при укладанні.

Окремо — діагностика: список опублікованих товарів, у яких порожня довжина, ширина або висота, з посиланнями на редагування. На нашому ж тестовому сайті таких виявилось 39 із 40.

Як це працює — крок за кроком

Габарити товару — довжина, ширина, висота й вага — беруться зі штатних полів WooCommerce. Саме їх укладальник і читає, нічого не вигадуючи за вас.
Габарити товару — довжина, ширина, висота й вага — беруться зі штатних полів WooCommerce. Саме їх укладальник і читає, нічого не вигадуючи за вас.
  1. Кошик розкладається на окремі фізичні одиниці: три однакові товари — це три предмети, кожному потрібне своє місце, а не один обʼєкт із кількістю 3.
  2. Предмети сортуються від найбільшого за обʼємом.
  3. Кожен предмет спершу намагаються покласти у вже відкриту коробку — починаючи з тієї, де лишилось найменше вільного місця, щоб коробки заповнювались, а не плодились.
  4. Якщо не влазить у жодну відкриту — відкривається найменша коробка, у яку він фізично проходить.
  5. Ціна = сума вартостей використаних коробок плюс надбавки за вагу, плюс одноразова надбавка за обробку.

Перевірка на «вміщається» — не за обʼємом. Предмет 90 см завдовжки не піде у 40-сантиметрову коробку, скільки б вільного обʼєму там не лишилось, тому кожен кандидат звіряється з усіма трьома сторонами. Поворот предмета опційний — для товарів, які мають їхати лише одним боком, його можна вимкнути.

Що включено в ліцензії

Free — три найменші формати коробок. Для магазину, який відправляє двома-трьома розмірами, це повне покриття: уся логіка укладання, перевірка по сторонах, поділ на кілька коробок, надбавки, безкоштовна доставка від суми і діагностика габаритів працюють без обмежень.

Pro — знімає ліміт на кількість форматів коробок. Це те, що потрібно фулфілменту з десятком розмірів.

Скільки коштує

Базова версія — безкоштовно. Pro — 990 грн на рік за домен. Тестовий період — 7 днів.

Технічні вимоги

  • WordPress 6.2+ (перевірено на 7.1).
  • WooCommerce 6.0+ (перевірено на 10.7).
  • PHP 7.4+.
  • Заповнені габарити й вага товарів — без них жоден модуль такого класу не порахує чесно.
  • Сумісність з HPOS і блоковим кошиком/чекаутом оголошена явно.

Що під капотом

Правила модуля. Головне рішення — що робити з товаром без габаритів: за замовчуванням «Quote nothing» (не рахувати), бо порахувати такий товар «як пласке» — це і є та помилка, через яку приходить рахунок від курʼєра.
Правила модуля. Головне рішення — що робити з товаром без габаритів: за замовчуванням «Quote nothing» (не рахувати), бо порахувати такий товар «як пласке» — це і є та помилка, через яку приходить рахунок від курʼєра.
Коли модуль відмовився рахувати — причину й назви товарів записано у WooCommerce → Статус → Журнали. Тут видно, що габаритів бракує «Кросівкам Nike Air».
Коли модуль відмовився рахувати — причину й назви товарів записано у WooCommerce → Статус → Журнали. Тут видно, що габаритів бракує «Кросівкам Nike Air».

Алгоритм — first-fit-decreasing: найбільші предмети першими, найменша коробка, у яку вони проходять. Це не ідеальне тривимірне пакування — ідеальне є NP-складною задачею, і жоден чекаут не має її розвʼязувати. Але воно ніколи не заявляє укладання, неможливого фізично, і саме ця властивість тримає розрахунок чесним.

Перевірка повороту зроблена дешево і правильно: обидві трійки сторін сортуються і порівнюються почленно — це покриває всі шість орієнтацій, не перебираючи їх. Плюс мікродопуск, щоб предмет 30,0 см вважався таким, що влазить у коробку 30,0 см, як воно і є на будь-якому складі.

🔴 Головне рішення — що робити з товаром без габаритів. Найчастіша причина, чому розрахунок за коробками дає дичину, не має стосунку до математики: магазин імпортував фід, який лишив поля розмірів порожніми, і половина каталогу офіційно має нульовий розмір. Більшість модулів радісно рахує такі товари як пласкі, і продавець дізнається про це з рахунку курʼєра.

Тут за замовчуванням модуль відмовляється рахувати кошик, у якому є товар без розміру, пише назви цих товарів у WooCommerce → Статус → Журнали і показує їх списком на власному екрані налаштувань. Дві інші політики (вважати найбільшою коробкою або пакувати лише за вагою) доступні — але це рішення, яке ви приймаєте свідомо, а не поведінка за замовчуванням, якої ви не бачили.

Як встановити

  1. Плагіни → Додати новий → Завантажити плагін → zip → активувати. WooCommerce має бути активним.
  2. Відкрити Box rate в меню адмінки й описати свої коробки.
  3. Подивитись на попередження про товари без габаритів — якщо воно є, спершу полагодити імпорт.
  4. Додати метод «Box rate» у потрібну зону доставки: WooCommerce → Доставка.

Історія версій

1.0.0 — перший реліз: каталог коробок, укладання first-fit-decreasing з перевіркою по трьох сторонах, поділ на кілька коробок, надбавка за кілограм і за обробку, безкоштовна доставка від суми, політики для товарів без габаритів і негабариту, діагностика порожніх габаритів у каталозі.

Часті питання

Це справжній 3D-пакувальник?

Ні. Це first-fit-decreasing зі справжньою перевіркою по кожній стороні: може відкрити на коробку більше за ідеальний алгоритм, але ніколи не пообіцяє неможливого укладання.

У яких одиницях вводити коробки?

У ваших власних, з WooCommerce → Товари → Розміри. Нічого не конвертується.

Що буде з негабаритним товаром?

На ваш вибір: не показувати метод або взяти фіксовану ставку за негабарит.

Чи працює з варіативними товарами?

Так, беруться габарити конкретної варіації.

Чому метод раптом зник із чекауту?

Найімовірніше, у кошику товар без габаритів. Причину і назви товарів модуль пише в WooCommerce → Статус → Журнали.

Питання щодо модуля?

Пишіть у Telegram — відповімо протягом робочого дня. Допоможемо з налаштуванням, сумісністю та активацією ключа.

@catcode_support

Не той варіант, що шукаєте?

Ми робимо кастомні модулі під WordPress, WooCommerce, OpenCart і Shopify. Розкажіть про задачу — підготуємо оцінку.

Замовити кастомний модуль