У звичайному магазині товар має ціну. У B2B-магазині товар має ціну для конкретного клієнта, у конкретній кількості, на сьогоднішній день - і це єдина відмінність, з якої випливає все інше: авторизація, приховані ціни, підключення до ERP, погодження замовлень і те, чому оптовий проєкт коштує в рази більше за звичайний магазин.
Ця стаття - розбір вимог, а не пропозиція. За нею ви зрозумієте, що з вашого завдання платформа зробить сама, а що є розробкою.
Ціна в B2B рахується, а не задається
В оптового прайсу зазвичай чотири шари, і кожен може перебити попередній:
- Базовий прайс - каталожна ціна без знижок.
- Ціновий рівень сегмента - дилер, монтажник, кінцевий покупець.
- Індивідуальний прайс клієнта - узгоджена ціна на окремі позиції.
- Кількісні та акційні ціни - від п'яти штук інакше, до кінця місяця інакше.
Порядок, у якому шари обчислюються, - комерційне рішення, а не технічний нюанс. У питання «чи діє під час акції індивідуальний прайс, чи акційна ціна, коли акційна вища?» немає універсально правильної відповіді, і дати її має комерційний директор, а не програміст. Невідповіджене, воно все одно буде відповідене - лише випадково і в коді.
Практичний наслідок для запиту: підрядник, який на першій зустрічі про це не спитає, або B2B не робив, або лишає це на додаткові роботи.
Ціни без DPH можна показувати фірмам, а не споживачам
Це найчастіша правова помилка B2B-магазинів, які продають і кінцевим покупцям.
Споживач має до завершення замовлення знати кінцеву ціну з DPH. Аргумент «на сайті написано, що ціни без DPH» не працює: споживач не зобов'язаний дораховувати ціну калькулятором. Зазначення ціни без податку для споживача тому ризиковане: кінцева ціна з податками належить до суттєвої інформації, а її приховування чи викривлення підпадає під недобросовісні комерційні практики за § 4 закону № 634/1992 Sb. про захист споживача (оманливе діяння § 5, оманливе замовчування § 5a).
Звідси єдине розумне рішення: режим відображення визначається авторизацією, а не перемикачем. Неавторизований відвідувач і клієнт з обліковим записом кінцевого споживача бачать ціни з DPH. Перевірений корпоративний обліковий запис бачить ціни без DPH і суму з податком поруч.
Ставки на 31. 8. 2026: базова 21 %, знижена 12 %, книжки й аудіокнижки 0 % (ZDPH § 47). У 2026 році ставки не змінювалися.
Приховані ціни для неавторизованих чогось коштують, і чесно це сказати
Приховати ціни до авторизації - законне комерційне рішення. Але в нього є ціна, яку підрядники зазвичай не називають.
Що приховані ціни закриють: структуровані дані з ціною, а з ними і розширені результати в пошуку; фід у Google Merchant Center і на порівнювачі; і можливість знайти вас за запитом із ціною. Каталог лишиться індексованим, торговий аргумент із видачі зникне.
Що приховані ціни дадуть: конкурент не бачить ваших дилерських умов, а ви отримуєте реєстрацію як крок, після якого знаєте, з ким говорите.
Середній шлях існує і зазвичай кращий за обидві крайності: публічна кінцева ціна з DPH, дилерська ціна після авторизації. Пошуковикам є що індексувати, комерційні умови лишаються непублічними.
Податковий номер перевіряється за VIES, а не на довірі
Реєстрація корпоративного облікового запису, де податковий номер переписується з поля в базу, - майбутня проблема в бухгалтерії. Поле заповнюють із помилками, з пробілами, з префіксом країни і без нього, а іноді воно належить фірмі, якої вже немає.
Перевірка за реєстром VIES робиться в момент реєстрації і знову за кожної наступної купівлі в іншу державу-член. Причина практична: режим перенесення податкового зобов'язання за транскордонного B2B стоїть на тому, що покупець має чинний податковий номер для цілей торгівлі всередині ЄС. Перевірка займає секунду і економить коригувальні податкові документи.
Базове правило місця надання послуг у B2B - місце отримувача (ZDPH § 9). Для товарів усередині ЄС діють інші правила та інші винятки, і це той пункт, де питати треба бухгалтера, а не агенцію.
Неплатник DPH стане ідентифікованою особою і без жодної крони обороту
Річ, яка дивує майже кожного початківця-оптовика, і стосується вона і вас як власника магазину.
Особа, зобов'язана до податку, яка не є платником DPH, стає ідентифікованою особою в момент, коли приймає послугу від постачальника без місцезнаходження в ЧР. Жодний оборотний поріг не застосовується, вирішує сам факт купівлі (ZDPH § 6g - § 6l). Заяву на реєстрацію необхідно подати протягом 15 днів від дня, коли вона нею стала (ZDPH § 97).
Практично це означає, що реклама в Google Ads, передплата платформи, застосунок із закордонного магазину, хостинг чи ліцензія дизайнерського інструмента цей обов'язок запускають. Ідентифікована особа декларує і сплачує податок із прийнятої послуги, але права на відрахування не має - податок сплачено і він не повернеться.
Це не привід чогось не купувати. Це привід знати заздалегідь, бо неподана реєстрація тихо обростає пенею роками.
Купівля за рахунком - це кредит, а не спосіб оплати
Кнопка «Оплатити за рахунком» - найдешевша частина всієї історії. Дорого те, що має за нею стояти:
- Кредитний ліміт на клієнта, який зменшується неоплаченими замовленнями, а не лише простроченими рахунками.
- Відстрочка за клієнтом, а не одна на всіх.
- Блокування за перевищення ліміту або за простроченого рахунка, разом із рішенням, блокувати замовлення чи лише надіслати його на погодження.
- Джерело правди про борг. Стан заборгованості знає бухгалтерія, а не магазин.
Останній пункт визначає бюджет проєкту. Доки ліміт стереже магазин за своїми даними, він стереже його за неповними числами: платіж надійшов на рахунок, а магазин про нього не знає. Живе підключення до ERP цю проблему вирішує, і це те саме місце, де ціна проєкту зростає. У ABRA Flexi ми стежимо за кредитними лімітами через REST API в реальному часі, у Pohoda через XML і mPohoda, у системах Helios і Money через SOAP або власний міст даних. Докладніше на сторінці CRM і ERP на замовлення.
Замовлення у фірмі часто оформлює не той, хто його затверджує
Про це забувають, бо в B2C такого немає. У фірмі обліковий запис зазвичай у кількох людей, і права в них різні:
- закупівельник, який складає замовлення;
- затверджувач, який пропускає його далі понад певну суму;
- бухгалтер, якому потрібні рахунки й історія, але який не закуповує;
- філія або підрозділ зі своєю адресою доставки і своїм бюджетом.
Звідси функції, яких у звичайній платформі немає: статус замовлення «чекає на затвердження», сповіщення затверджувачу, кошик, збережений як запит, повторне замовлення з історії і масове додавання в кошик за переліком кодів. Останнє для оптових клієнтів часто важливіше за весь дизайн: вони закуповують за своїм переліком, а не гортаючи каталог.
Прайси забираються з ERP, а не ведуться вручну
Індивідуальний прайс існує в ERP, бо там його створює менеджер. У магазин він переноситься, і напрямок переносу визначається один раз і жорстко: ERP - джерело правди про ціну і склад, магазин - джерело правди про замовлення.
Там, де це не вирішено, виникає найдорожчий тип помилки в B2B: дві різні ціни на один товар у двох системах і з'ясування, яка діє, заднім числом за три місяці. Питання, яке треба поставити раніше за будь-яке технічне, звучить так: що станеться, коли обидві сторони розійдуться?
Як ми будуємо регулярну синхронізацію і що робити, коли джерело даних зникає, розбираємо у статті про фіди постачальників.
Чому headless B2B-портал починається з 250 000 Kč
Наша опублікована ціна - від 250 000 Kč за 10-14 тижнів, тоді як магазин на Shopify або WooCommerce ми будуємо від 50 000 Kč. Різниця п'ятикратна, і робить її не дизайн.
За нашої ставки 1 800 Kč за годину роботи над e-commerce це приблизно 138 годин проти 27. Ця різниця - робота в одному-єдиному місці: ціна. Кожен шар прайсу означає свою логіку, свої тести і свою поведінку в кошику, у рахунку, у кредит-ноті та у фідах. Ціна при цьому - єдине, що в B2B не має права бути хибним, бо помилка множиться обсягом замовлення.
До цього додаються речі, які в ціні ховаються, а час беруть: ролі та права користувачів, процес погодження, кредитні ліміти, двостороння синхронізація з ERP і тестові сценарії на всі поєднання.
З чого ціна проєкту складається за позиціями, розбираємо у статті про ціну інтернет-магазину.
Коли B2B-портал вам ніхто не продасть, бо він вам не потрібен
Ця гілка широка, і її варто пройти раніше, ніж починати запитувати пропозиції.
Якщо у вас один прайс на всіх покупців, до п'ятдесяти активних клієнтів, ви отримуєте оплату заздалегідь або за авансовим рахунком, продаєте лише в ЧР і СК і замовлення надходять вам листом без проблем - вам вистачить звичайного магазину з клієнтською групою і знижкою у відсотках. Розробка власної цінової логіки не поверне вам нічого.
Ця межа зсувається, щойно правдива будь-яка з фраз: у вас більше одного цінового рівня, щонайменше десять клієнтів з індивідуальним прайсом, ви продаєте за рахунком з відстрочкою, або прайс змінюється в ERP частіше ніж раз на квартал. Тоді ручне ведення вже коштує дорожче, ніж його усунення.
Дванадцять питань, після яких пропозиції можна порівняти
Надішліть їх усім підрядникам разом і покладіть відповіді поруч.
- У якому порядку обчислюються цінові рівні, індивідуальні прайси та акції?
- Хто джерело правди про ціну і склад - ERP чи магазин?
- Що станеться, коли ERP і магазин розійдуться?
- Як перевіряється податковий номер під час реєстрації корпоративного облікового запису?
- Чи бачить неавторизований відвідувач ціни, і якщо ні, що це зробить із фідами?
- Як перемикається відображення з DPH і без DPH і за чим?
- Де стережеться кредитний ліміт і звідки бере стан заборгованості?
- Чи вміє система статус замовлення «чекає на затвердження» і хто його призначить?
- Чи можна додати в кошик перелік кодів одразу?
- Скільки користувачів може мати один корпоративний обліковий запис і з якими правами?
- Хто вирішує перенесення податкового зобов'язання в покупця з ЄС?
- Скільки коштує додавання тринадцятого цінового рівня через рік після запуску?
Оптовий магазин купують не за шаблоном і навіть не за платформою. Його купують за тим, чи здатен підрядник описати, що станеться, коли дві системи не зійдуться в ціні.
Надішліть нам свої прайси, а не завдання
Найшвидший шлях до реальної калькуляції веде через ваші дані. Нам потрібен зразок прайсу з ціновими рівнями, інформація про те, у якій системі ви ведете облік і склад, і кількість клієнтів з індивідуальною ціною. За цим обсяг оцінюється точніше, ніж за скільки завгодно довгим завданням.
Що ми будуємо і на чому, знайдете на сторінці розробки інтернет-магазинів; підключення до чеських ERP і власних систем описуємо на сторінці CRM і ERP.
Напишіть на info@lamapixel.com або телефонуйте +420 775 599 009.