Portal B2B WooCommerce dla hurtowni z 6 markami - case study Ustawnik.pl
Klient: Aravix s.c. (Michał Jaruga - współwłaściciel) Projekt: dedykowany portal B2B na WooCommerce z sześcioma markami w jednym koszyku Domena: ustawnik.pl Realizacja: 06.08 - 18.08.2026 (12 dni roboczych)
Potrzebujesz czegoś podobnego? Zakres i widełki dla takiego wdrożenia: platforma B2B dla hurtowni.
W skrócie
Aravix s.c. potrzebowała portalu B2B do sprzedaży materiałów przemysłowych sześciu marek (SIA, Dynabrade, Bostik, Parker Lord, Obera, Avatex) firmom z NIP. Zbudowałem to na WooCommerce 10.9 z custom rolą „Kontrahent", ukrytymi cenami hurtowymi, jednym koszykiem dla wszystkich marek i formularzem zapytań ofertowych. Portal działa stabilnie od uruchomienia, kod źródłowy jest na GitHubie klienta - zero vendor lock-inu.
Rekomendacja klienta (LinkedIn, 06.09.2026): „Praca szła szybko i konkretnie, bez pośredników - reagował na uwagi na bieżąco, wprowadzał zmiany tego samego dnia. Portal działa stabilnie od uruchomienia. Kod źródłowy dostałem do własnego repozytorium, więc nie mam vendor lock-in. Polecam każdemu kto szuka dedykowanego rozwiązania webowego." - Michał Jaruga
Problem: sklep detaliczny nie ogarnia B2B
Aravix s.c. dystrybuuje sześć marek profesjonalnych narzędzi i klejów przemysłowych dla firm z NIP. Klienci to zakłady produkcyjne, warsztaty, montażownie - kupują w hurcie, potrzebują:
- Faktury VAT (nie paragonu)
- Cen po zalogowaniu (nie widocznych dla przypadkowych)
- Jednego koszyka na produkty ze wszystkich sześciu marek (nie sześciu osobnych zamówień)
- Formularza zapytań ofertowych (RFQ) dla większych transakcji
- Wsparcia obsługi po polsku, po ludzku
Standardowy sklep detaliczny (jak Shopify albo PrestaShop w domyślnej konfiguracji) tego nie robi. Cena hurtowa jest widoczna dla każdego, koszyk nie akceptuje NIP, RFQ nie istnieje, faktura B2B trzeba wystawić ręcznie.
Rozwiązania SaaS B2B (Shopify Plus B2B, BigCommerce Enterprise, Magento Commerce Cloud) startują od 2 000 do 10 000 zł miesięcznie plus często revenue share plus vendor lock-in. Dla hurtowni na starcie taki koszt jest paraliżujący i nie ma sensu.
Decyzja techniczna: WooCommerce, nie custom Laravel
Miałem trzy realne opcje:
Opcja 1 - custom Laravel od zera Największa kontrola, wszystko szyte na miarę. Ale 8-12 tygodni roboty, a klient sam nie da rady rozwijać (WordPress ma szerszy pool developerów).
Opcja 2 - Shopify Plus B2B Gotowy produkt, dobrze zaprojektowany. Ale od 2 000 USD miesięcznie plus revenue share plus dane na infrastrukturze Shopify. Klient nie ma kodu, klient nie ma serwera, klient płaci co miesiąc.
Opcja 3 - WooCommerce 10.9 z custom rozszerzeniami Open source, znany WordPress ekosystem, klient sam edytuje katalog przez admin. Rozszerzalność przez pluginy i custom kod. Zero abonamentu - jednorazowy koszt wdrożenia.
Wybrałem opcję 3, bo:
- Klient chciał sam zarządzać produktami - WordPress admin jest znajomy w Polsce, developer nie musi być w każdym drobiazgu
- Kod na GitHubie klienta - pełna własność, można w każdej chwili przejść do innego developera bez tłumaczenia „co to za magia"
- Zero abonamentu miesięcznego - koszt jednorazowy, potem tylko hosting i (opcjonalnie) SLA
- Ekosystem pluginów - WooCommerce ma tysiące gotowych rozszerzeń (rozliczenia, przewoźnicy, integracje księgowe)
- Skala - WooCommerce obsługuje sklepy z setkami tysięcy produktów, jak potrzeba
Co zbudowałem
Rola „Kontrahent" (business account)
Standard WooCommerce ma role customer i subscriber - dla B2C. Dodałem custom rolę Kontrahent z:
- Wymaganym polem NIP przy rejestracji (walidacja formatu + opcjonalnie API GUS check)
- Cenami hurtowymi widocznymi tylko po zalogowaniu (dla niezalogowanego wyświetla „Zaloguj się, żeby zobaczyć cenę")
- Historią zamówień z możliwością szybkiego powtórzenia (jedno kliknięcie - „Zamów ponownie")
- Akceptacją regulaminu B2B (nie konsumenckiego - inne prawa i obowiązki)
- Osobnym flow rejestracji z weryfikacją mailową
Kod: ~200 linii PHP w motywie plus mały plugin z logiką cenową. Bez zewnętrznego pluginu B2B - o którym opowiem niżej.
Katalog sześciu marek w jednym koszyku
Każda marka ma:
- Osobną kategorię w hierarchii (SIA/Dynabrade/Bostik/Parker Lord/Obera/Avatex)
- Eksponowane logo marki w listing i karcie produktu
- Osobny zestaw filtrów produktowych (grubość ścierna dla SIA, długość węża dla Dynabrade, temperatura pracy dla Bostik)
- Osobny opis marki, historia, key features
Ale jeden koszyk. Klient dodaje produkt SIA + produkt Bostik + produkt Avatex do tego samego koszyka, płaci raz, dostaje jedną fakturę. Dla klienta B2B to kluczowa oszczędność czasu - jedno zamówienie zamiast sześciu.
Formularz zapytań ofertowych (RFQ)
Dla zamówień powyżej pewnego progu (ustalane per klient) zamiast standardowego koszyka - koszyk zapytań:
- Klient dodaje produkty do koszyka RFQ (podobnie do zwykłego)
- Wysyła zapytanie z uwagami (np. „potrzebuję na środę, proszę o rabat przy 200 szt")
- Handlowiec Aravix dostaje mail z pełną listą oraz widzi zapytanie w admin
- Odpowiada z indywidualną wyceną (rabaty, warunki dostawy, płatność 30/60 dni)
- Klient akceptuje ofertę - konwertuje się w standardowe zamówienie
To eliminuje trzy dni rozmów mailowych „ile kosztuje 200 szt", „a ile z rabatem", „a przy 500 szt".
RODO/GDPR od pierwszego dnia
- Zgody na przetwarzanie danych (art. 6 ust. 1 lit. b + f RODO) rejestrowane z checkboxami
- Rejestr zgód w bazie z timestampem
- Możliwość eksportu wszystkich danych klienta jednym kliknięciem (art. 20 RODO - prawo do przeniesienia)
- Możliwość usunięcia konta z zachowaniem tylko wymaganych faktur (5 lat po podatku)
- Hosting w Unii Europejskiej (nie AWS US-East) - zgodnie z decyzją Schrems II, bez transferu do USA
SEO i analityka
- Structured data: Product schema, Offer schema, Organization schema (rich snippets w Google)
- Sitemap.xml + robots.txt (auto-generowane przez WooCommerce SEO plugin)
- Google Analytics 4 + Search Console skonfigurowane od pierwszego dnia
- Meta title/description dopracowane per kategoria i per produkt
Techniczne decyzje warte omówienia
Dlaczego custom rola zamiast pluginu „B2B for WooCommerce"?
Plugin B2B for WooCommerce od Barn2 kosztuje 99 USD za rok i narzuca własne UI. Kod tego pluginu jest znany z long-standing bugów z quantity picker oraz konfliktów z rat innych pluginów (WPML, WooCommerce Subscriptions). Custom rola to około 200 linii PHP w motywie klienta plus mały plugin z pricing tiers - jednorazowo, bez abonamentu, bez konfliktów.
Dodatkowo: jeśli za dwa lata plugin przestanie być rozwijany albo pojawi się luka bezpieczeństwa, klient musi czekać na fix od Barn2. Z custom kodem naprawiamy w kilka godzin.
Dlaczego WooCommerce 10.9, nie 9.x?
WooCommerce 10.x wprowadziło HPOS (High-Performance Order Storage) - około 40 procent szybsze zapytania do bazy dla listing zamówień. Dla hurtowni B2B z 100-500 orderów miesięcznie różnica jest widoczna - listing w adminie ładuje się w ułamku sekundy zamiast w 2-3 sekundy.
Multi-brand cart bez konfliktu wysyłki
Marki wymagają różnych typów wysyłki. Avatex to technika próżniowa - ciężkie pompy i zbiorniki, wysyłka paletowa. SIA to materiały ścierne - lekkie paczki kurierem. Jak klient złoży zamówienie z jednym produktem Avatex i pięcioma SIA, standardowy WooCommerce wybierze albo palety (drogo) albo kuriera (nie unie ciężaru).
Rozwiązanie: custom shipping method, który sumuje wagę per marka, sprawdza opakowanie i wybiera najlepszą stawkę per produkt. Klient widzi jedną cenę wysyłki (sumę), ale w tle system optymalizuje.
Cache i wydajność
- Object cache przez Redis (wtyczka Redis Object Cache Pro)
- Full page cache dla listing kategorii (nie dla stron logowania i koszyka)
- CDN Cloudflare przed hostingiem
- Wynik: czas ładowania strony < 800 ms, Core Web Vitals wszystkie zielone
Efekty biznesowe
Michał w publicznej opinii Google (31.08.2026, 5 na 5 gwiazdek):
„Strona zrobiona szybko i kreatywnie. Zmiany są robione na bieżąco. Wszystko działa. Polecam!"
I w rekomendacji LinkedIn (06.09.2026):
„Dominik zbudował dla mnie portal B2B Ustawnik.pl - dedykowany sklep na WooCommerce z rolą kontrahenta i katalogiem sześciu marek (SIA, Dynabrade, Bostik, Parker Lord, Obera, Avatex) w jednym koszyku. Praca szła szybko i konkretnie, bez pośredników - reagował na uwagi na bieżąco, wprowadzał zmiany tego samego dnia. Portal działa stabilnie od uruchomienia. Kod źródłowy dostałem do własnego repozytorium, więc nie mam vendor lock-in. Polecam każdemu kto szuka dedykowanego rozwiązania webowego."
Konkrety:
- Portal działa stabilnie od uruchomienia - zero downtime, zero krytycznych bugów
- Kod na GitHubie Aravix - klient ma pełną własność i może w każdej chwili przejść do innego developera
- Klient sam dodaje produkty przez WordPress admin - developer nie jest wąskim gardłem
- Instalacja pod domeną klienta w 12 dni roboczych
Czas i koszty (transparentnie)
- Czas realizacji: 12 dni roboczych (06.08 - 18.08.2026)
- Zakres cenowy: 6-8 tys zł jednorazowo (dokładna kwota poufna wg umowy)
- Gwarancja: 30 dni w standardzie, opcjonalny miesięczny SLA po tym okresie
Zakres cenowy porównawczo:
- Shopify Plus B2B: od 2 000 USD miesięcznie x 36 miesięcy = 72 000 USD (~290 000 zł) w trzy lata
- Custom Laravel od zera: 40-70 000 zł jednorazowo + 8-12 tygodni czekania
- Portal jak Ustawnik.pl na WooCommerce: 6-25 000 zł jednorazowo (od podstawowego jak Ustawnik.pl do rozszerzonego z multi-warehouse + kredytem + ERP), 10-15 dni realizacji
Kiedy portal B2B ma sens dla Twojej firmy
Zbuduj dedykowany portal B2B, jeśli:
- Sprzedajesz do firm (wymóg NIP)
- Masz trzy albo więcej marek/dostawców w katalogu
- Klienci chcą ceny hurtowe po zalogowaniu
- Standardowy koszyk nie wystarcza (RFQ, kredyt kupiecki, tiers cenowe)
- SaaS B2B (Shopify Plus, BigCommerce Enterprise) jest za drogi na start
- Chcesz pełną własność kodu i możliwość zmiany developera bez trauma
Nie buduj custom portalu, jeśli:
- Masz mniej niż 20 produktów - lepiej Shopify na start i migracja w przyszłości
- Katalog produktów zmienia się co tydzień (custom pricing rules się nie nadążą)
- Zespół techniczny sam ogarnia WooCommerce ze standardowymi pluginami (wtedy 5 000 zł konsultacji wystarczy zamiast pełnego wdrożenia)
Podobne realizacje w portfolio
- Lumora PRO - platforma B2B z RFQ i multi-warehouse (demo)
- Sklep internetowy na zamówienie - money page
- System CRM na zamówienie - money page
- Portal klienta - money page
Często zadawane pytania
Czy WooCommerce nadaje się do sprzedaży B2B?
Tak, z odpowiednimi rozszerzeniami i customizacją. Standard WooCommerce jest platformą detaliczną, ale rola „Kontrahent", ukryte ceny, RFQ i kredyt kupiecki to dopisanie 300-500 linii kodu plus kilka drobnych pluginów. Portal Ustawnik.pl obsługuje sześć marek przemysłowych w jednym koszyku na WooCommerce 10.9 - działa stabilnie od uruchomienia w sierpniu 2026.
Ile kosztuje portal B2B na WooCommerce?
Od 6-8 tys zł jednorazowo (portal jak Ustawnik.pl - sześć marek, RFQ, rola kontrahenta, RODO) do 25 000 zł (portal z multi-warehouse, kredytem kupieckim, integracją z ERP typu Comarch/Enova). Zero abonamentu miesięcznego. Porównanie z Shopify Plus B2B: od 2 000 USD miesięcznie, więc w trzy lata to około 290 000 zł zamiast 6-25 000 zł jednorazowo.
Czy klient może sam dodawać produkty?
Tak. WordPress admin jest znajomy większości osób obsługujących sklep internetowy. Nowy produkt to dwie minuty (nazwa, cena, zdjęcie, kategoria, atrybuty). Custom logika (rola „Kontrahent", RFQ, ukrywanie cen dla niezalogowanych) nie ingeruje w standardowy flow dodawania produktów przez admin.
Co się stanie, jeśli plugin B2B przestanie być rozwijany?
W Ustawnik.pl nie używam pluginu B2B for WooCommerce (Barn2) ani innych - custom kod jest w motywie i osobnym pluginie klienta. Jeśli pomocniczy plugin (typu shipping albo pricing) przestanie być wspierany, wymieniamy go w kilka godzin. Zero vendor lock-inu na krytycznej funkcjonalności.
Czy portal B2B może przejść na inny CMS w przyszłości?
Katalog produktów WooCommerce eksportujesz do CSV wbudowaną funkcją WordPress i importujesz do Magento, Shopify albo PrestaShop w kilka godzin. Zamówienia archiwalne pobierasz przez WP REST API. Kod portalu jest na GitHubie klienta - kolejny developer może kontynuować bez tłumaczenia „co to za magia".
Jak długo trwa rozwój podobnego portalu?
Ustawnik.pl: 12 dni roboczych (06.08 - 18.08.2026) na sześć marek, RFQ, rolę kontrahenta, RODO i podstawowe SEO. Zakres podobny (pięć do ośmiu marek, RFQ, ukryte ceny, RODO) to typowo 10-15 dni. Zakres większy (dodatkowo multi-warehouse, kredyt kupiecki, integracja z ERP) to 20-30 dni.
Czy oferujesz wsparcie po wdrożeniu?
30 dni gwarancji w standardzie - bezpłatne poprawki i drobne zmiany. Dalej opcjonalny miesięczny SLA: monitoring 24/7, backupy dzienne, aktualizacje WooCommerce i pluginów, reakcja na awarie krytyczne priorytetowo. Bez sztywnej gwarancji „reakcja w 1 godzinę" bo jako jednoosobowy zespół nie dotrzymałbym tego rzetelnie - obiecuję realną priorytetyzację i uczciwość zamiast marketingowego SLA.
Zainteresowany podobnym portalem B2B?
Napisz do mnie na dominik.gronski@grodev.pl lub wypełnij krótki formularz kontaktowy. Odpisuję do 48 godzin - zwykle tego samego dnia. Krótko: powiedz, co masz (aktualną stronę? PDF katalog?), co chcesz osiągnąć (jak Ustawnik.pl? większy zakres?), ile marek. Wracam z estymacją bez ukrytych „od".
Więcej publicznych rekomendacji klientów na stronie „O mnie".
Napisz - wycenę odeślę do 48 h. Bez agencji, bez pośredników.
✉ napisz: dominik.gronski@grodev.pl