Jak zbudować portal dla klientów firmowych, który naprawdę obsłuży sprzedaż hurtową?
Praktyczny przewodnik po portalach sprzedaży firmowej: MedusaJS v2 jako rdzeń sprzedaży, Next.js jako szybka warstwa zakupowa, grupy klientów, cenniki, kanały sprzedaży, połączenia z systemem finansowo-magazynowym i bazą produktów oraz koszt wdrożenia.
Dla CTO, COO i lidera e-commerce MedusaJS + Next.js ma sens wtedy, gdy portal B2B wymaga własnych cenników, ról kupujących, integracji ERP/PIM/WMS i kontroli nad procesem zamówienia. Szablon startowy przyspiesza początek, ale nie zastępuje mapy odpowiedzialności, izolacji danych klienta, zasad synchronizacji ani testów finalizacji zamówienia.
Najpierw definicja: portal dla klientów firmowych to nie tylko "sklep z logowaniem"
Portal dla klientów firmowych to warstwa zakupowa dla organizacji: katalog, ceny, dostępność, koszyk, finalizacja zamówienia, historia zamówień i role kupujących. W prostym sklepie konsumenckim użytkownik widzi tę samą cenę i tę samą ścieżkę zakupu. W sprzedaży firmowej ten sam produkt może mieć inną cenę, minimalną ilość zamówienia, dostępność, termin płatności i proces akceptacji dla każdej firmy.
Dlatego MedusaJS + Next.js jest mocnym zestawem dopiero wtedy, gdy rozdzielisz odpowiedzialności. MedusaJS v2 trzyma rdzeń sprzedaży: katalog, koszyk, ceny, grupy klientów, kanały sprzedaży, regiony, zamówienia i procesy. Next.js buduje szybką warstwę zakupową: wyszukiwanie, listy zakupowe, ponowienie zamówienia, szybkie zamówienie, pulpit klienta i treści widoczne w wyszukiwarkach. System finansowo-magazynowy, baza produktowa i magazyn pozostają źródłami prawdy dla danych, które już żyją poza portalem.
W GMI Software zaczynamy takie projekty od rozpoznania procesu, danych i technologii. Nie pytamy najpierw "który element ekranu?", tylko "który system odpowiada za cenę, stan, klienta, limit kredytowy i fakturę?". Bez tej mapy nawet najładniejszy portal będzie tylko kosztowną nakładką na ręczną pracę handlowców.
Co daje MedusaJS v2 w sprzedaży firmowej
Dokumentacja MedusaJS v2 opisuje portal zakupowy jako osobną aplikację utrzymywaną niezależnie od zaplecza. To jest kluczowe w sprzedaży firmowej: możesz rozwijać portal zakupowy, aplikację mobilną i panel handlowca bez mieszania ich z logiką rdzenia sprzedaży.
Najważniejsze moduły dla portalu firmowego to klienci, wycena, kanały sprzedaży, koszyk, magazyn, regiony i procesy. W praktyce oznacza to: gdzie trzymasz klienta, jak liczysz cenę, z którego kanału sprzedajesz, co dzieje się z koszykiem i jak system prowadzi zamówienie przez kolejne kroki.
To nie oznacza, że Medusa "ma gotowy portal dla dużej organizacji po kliknięciu". Oznacza, że ma właściwe obszary, na których można oprzeć własną sprzedaż firmową: umowy handlowe, segmenty klientów, limity kredytowe, cenniki netto/brutto, połączenie z systemem finansowo-magazynowym i niestandardowe procesy akceptacji.
Co daje Next.js w produkcyjnym portalu zakupowym
Next.js jest dobrym wyborem dla sprzedaży firmowej, bo portal zakupowy ma dwa różne obciążenia: publiczne strony widoczne w Google oraz zalogowane, ciężkie ekrany operacyjne. Publiczny katalog, kategorie i strony kampanii muszą ładować się szybko dla wyszukiwarek i odpowiedzi generowanych przez AI. Zalogowane widoki muszą obsłużyć tabele, filtrowanie, szybkie zamówienie, ponowienie zamówienia i ceny zależne od klienta.
Oficjalna dokumentacja Next.js podkreśla, że komponent Image automatycznie dobiera rozmiary obrazów, nowoczesne formaty, opóźnione ładowanie i stabilność układu. Dla sprzedaży internetowej to nie detal. Zdjęcia produktów, banery kampanii i listy kategorii potrafią zniszczyć Core Web Vitals, jeśli nie mają wymiarów, priorytetów i jasnych zasad przechowywania w pamięci podręcznej.
W praktyce GMI projektuje portal Next.js tak, żeby publiczne dane były buforowane, a dane klienta były pobierane bez wycieku cen kontraktowych. To zwykle oznacza osobne ścieżki dla treści publicznych, katalogu dostępnego w danym kanale, cen po zalogowaniu, koszyka i finalizacji zamówienia.
Architektura referencyjna: kto odpowiada za co
Najzdrowszy model wygląda tak: Next.js renderuje doświadczenie zakupowe, MedusaJS v2 obsługuje rdzeń sprzedaży, NestJS lub własne moduły Medusy domykają reguły firmowe, PostgreSQL trzyma dane transakcyjne, Redis albo pamięć podręczna przyspiesza odczyty, a system finansowo-magazynowy, baza produktowa i magazyn pozostają źródłem faktur, cen bazowych, danych produktowych i dostępności.
Portal zakupowy nie powinien bezpośrednio pytać systemu finansowo-magazynowego o cenę przy każdym kliknięciu. To spowalnia zakupy i osłabia finalizację zamówienia. Zamiast tego ceny, stany i dane klienta powinny mieć jasny model synchronizacji: natychmiastowy tam, gdzie błąd blokuje zamówienie, oraz działający w tle tam, gdzie wystarczy aktualność w minutach.
Przepływy Medusy są ważne, bo dokumentacja opisuje je jako mechanizm do zadań obejmujących wiele systemów, ze śledzeniem kroków, logiką wycofania zmian i działaniami w tle. To jest dokładnie problem sprzedaży firmowej: zamówienie może dotknąć Medusy, finansów, płatności, kredytu kupieckiego, maila, danych produktowych i magazynu.
Funkcje sprzedaży firmowej, których nie wolno traktować jak dodatków do ekranu
Szybkie zamówienie nie jest tylko polem na numer produktu. Musi sprawdzić dostępność w danym kanale sprzedaży, minimalną ilość, cennik klienta, jednostki opakowań i status produktów w bazie produktowej. Ponowienie zamówienia nie jest przyciskiem "dodaj ponownie". Musi obsłużyć wycofane produkty, zmienione ceny, brak magazynu i nowe limity kredytowe.
Lista zakupowa nie jest zwykłą listą życzeń. W sprzedaży firmowej może być szablonem dla oddziału, zespołu zakupowego albo cyklicznej dostawy. Konto klienta nie jest tylko profilem. To role, adresy dostawy, ścieżki akceptacji, historia faktur, limity, osoby kupujące i handlowiec przypisany do konta.
Dlatego produkcyjny portal dla klientów firmowych wymaga testów scenariuszy, a nie tylko testów komponentów. Test powinien mówić: klient z grupy A w kanale B widzi produkt C, cenę D, stan magazynowy E i może złożyć zamówienie tylko po spełnieniu warunku F.
Koszt wdrożenia: co realnie wpływa na budżet
Nie ma uczciwej ceny portalu dla klientów firmowych bez informacji o cennikach, rolach kupujących, danych produktowych i połączeniach z innymi systemami. Ten sam zestaw ekranów może oznaczać prosty portal katalogowy albo system, który musi egzekwować umowy handlowe, limity i wyjątki z systemu finansowo-magazynowego.
Budżet rośnie przez pięć rzeczy: złożoność cen, jakość danych produktowych, połączenia z systemem finansowo-magazynowym, bazą produktową i magazynem, własne procesy akceptacji i kredytu kupieckiego oraz wymagania wydajnościowe przy dużym katalogu. Sam układ Next.js rzadko jest największym kosztem. Najdroższe są decyzje biznesowo-techniczne, których nikt nie chce nazwać na początku.
GMI może przygotować wstępny przedział po pierwszym rozpoznaniu. Stałą cenę ustalamy dopiero po warsztatach, gdy strony uzgodnią proces, dane, połączenia z systemami, zakres i ryzyka. Bez tego każda precyzyjna kwota byłaby zgadywaniem.
Najczęstsze błędy przy Medusa + Next.js w sprzedaży firmowej
Błąd pierwszy: start od gotowego szablonu bez decyzji, które elementy są publiczne, a które zależą od klienta. W sprzedaży firmowej buforowanie publicznych kategorii jest dobre, ale buforowanie cen kontraktowych bez izolacji klienta jest ryzykiem biznesowym i prawnym.
Błąd drugi: traktowanie systemu finansowo-magazynowego jako źródła danych dla każdego ekranu. Taki system jest często źródłem prawdy, ale nie zawsze systemem do obsługi doświadczenia zakupowego w czasie rzeczywistym. Trzeba zaprojektować modele odczytu, kolejki, ponowienia, powiadomienia i uzgadnianie danych, żeby portal był szybki, a dane poprawne.
Błąd trzeci: brak właściciela operacyjnego po stronie klienta. Portal dla klientów firmowych dotyka handlu, magazynu, finansów, IT i obsługi klienta. Jeśli nikt nie decyduje o wyjątkach, zespół programistyczny zaczyna zgadywać proces biznesowy.
Kiedy wybrać Medusa + Next.js, a kiedy zostać przy platformie abonamentowej
Wybierz Medusa + Next.js, gdy sprzedaż firmowa jest częścią przewagi: cenniki kontraktowe, katalogi dla konkretnych klientów, połączenia z systemem finansowo-magazynowym, bazą produktową i magazynem, własna finalizacja zamówienia, portal dla handlowców, aplikacja mobilna korzystająca z tych samych danych albo rosnące koszty obejść w platformie abonamentowej.
Zostań przy platformie abonamentowej, jeśli masz standardowy katalog, prostą finalizację zamówienia, mało połączeń z innymi systemami i zespół bardziej potrzebuje szybkiego startu niż własnej architektury. Oficjalna dokumentacja Shopify opisuje firmy, lokalizacje, katalogi, cenniki i terminy płatności, więc wiele typowych potrzeb B2B da się obsłużyć bez własnego rdzenia sprzedaży.
Najlepsza decyzja nie brzmi "Medusa zawsze". Brzmi: wybierz najprostszą architekturę, która usuwa mierzalne ograniczenie. Dla jednego klienta to Shopify dla klientów firmowych. Dla drugiego: lekki model z oddzieloną warstwą zakupową. Dla trzeciego: MedusaJS v2, Next.js, połączenia z finansami i produktami oraz plan aplikacji mobilnej.
- MedusaJS + Next.js: gdy własne procesy, integracje i kontrola kodu są częścią przewagi.
- Shopify B2B: gdy standardowe firmy, katalogi, cenniki i terminy płatności pokrywają proces.
- Adobe Commerce: gdy organizacja potrzebuje rozbudowanego pakietu B2B i akceptuje ciężar utrzymania platformy.
- Własny silnik: tylko gdy reguły sprzedaży są naprawdę unikalne i zespół jest gotowy utrzymywać całą domenę.
Lista kontrolna przed pracami programistycznymi
Przed pracami programistycznymi odpowiedz na 12 pytań: który system odpowiada za produkty, ceny, stany, klientów i faktury; jakie role kupujących istnieją; które ceny są publiczne; które dane wymagają działania w czasie rzeczywistym; gdzie finalizacja zamówienia może się zatrzymać; jak mierzymy błąd połączenia między systemami.
Dopisz do tego wymagania niefunkcjonalne: Core Web Vitals, unieważnianie pamięci podręcznej, monitorowanie finalizacji zamówienia, powiadomienia o opóźnionej synchronizacji z systemem finansowo-magazynowym, dzienniki zmian cen, testy regresji koszyka, bezpieczeństwo kluczy dostępu, uprawnienia administratora i plan wycofania zmian po wdrożeniu.
Jeśli te decyzje są jasne, szablony startowe Medusy i Next.js mogą przyspieszyć budowę. Jeśli nie są jasne, szablon da tylko szybki pokaz i późny rachunek za niedopowiedziane procesy.
Jak GMI prowadzi projekt portalu dla klientów firmowych
Zaczynamy od rozpoznania biznesu, procesu i technologii: proces zakupowy, role, katalog, ceny, system finansowo-magazynowy, baza produktowa, magazyn, kanał mobilny, analityka, bezpieczeństwo i koszty utrzymania. Potem projektujemy architekturę i dopiero wtedy zamykamy stałą cenę.
Typowa architektura GMI: MedusaJS v2 jako rdzeń sprzedaży, Next.js jako portal zakupowy, NestJS lub własne moduły dla reguł firmowych, PostgreSQL, Redis, kolejki, połączenia z finansami, produktami i magazynem, monitorowanie działania i testy finalizacji zamówienia. Jeśli klient ma plan aplikacji mobilnej, projektujemy wspólną warstwę danych tak, żeby React Native nie duplikował logiki.
Celem nie jest zbudować „najbardziej oddzieloną” platformę. Celem jest usunąć mierzalne ograniczenie procesu i przekazać klientowi kod oraz dane zgodnie z uzgodnionym modelem współpracy.
Źródła i dalsza lektura
Dokumentacja szablonu startowego Medusa Next.js: https://docs.medusajs.com/resources/nextjs-starter
Tworzenie portalu zakupowego w Medusa: https://docs.medusajs.com/learn/storefront-development
Medusa Customer Module: https://docs.medusajs.com/resources/commerce-modules/customer
Medusa Pricing Module: https://docs.medusajs.com/resources/commerce-modules/pricing
Medusa Sales Channel Module: https://docs.medusajs.com/resources/commerce-modules/sales-channel
Medusa Cart Module: https://docs.medusajs.com/resources/commerce-modules/cart
Przepływy pracy Medusa: https://docs.medusajs.com/learn/fundamentals/workflows
Optymalizacja obrazów w Next.js: https://nextjs.org/docs/app/getting-started/images
Dokumentacja Shopify dla klientów firmowych: https://help.shopify.com/en/manual/b2b
Funkcje Shopify B2B: https://help.shopify.com/en/manual/b2b/getting-started/features
Katalogi i ceny Shopify B2B: https://help.shopify.com/en/manual/b2b/catalogs/index
Wspólne katalogi Adobe Commerce B2B: https://experienceleague.adobe.com/en/docs/commerce-admin/b2b/shared-catalogs/catalog-shared
Przewodnik GMI po sprzedaży firmowej w Medusa: https://gmi.software/blog/medusa-b2b-ecommerce-guide
Połączenia sprzedaży firmowej z finansami i produktami w architekturze MACH: https://gmi.software/blog/mach-b2b-ecommerce-integrations-erp-pim
Najczęstsze pytania
- Czy MedusaJS + Next.js wystarczy do sprzedaży firmowej?
- Tak, jeśli sprzedaż firmowa oznacza własne cenniki, kanały sprzedaży, grupy klientów, koszyk i połączenia z systemami, a nie gotowy pakiet z każdym modułem dla dużej organizacji. Produkcyjny projekt wymaga jeszcze połączeń z systemem finansowo-magazynowym, bazą produktową i magazynem, zasad przechowywania tymczasowych danych, testów finalizacji zamówienia i modelu utrzymania.
- Ile kosztuje portal dla klientów firmowych w MedusaJS i Next.js?
- Cena zależy od cenników, jakości danych produktowych, połączeń z systemem finansowo-magazynowym, bazą produktową i magazynem, ścieżek akceptacji oraz wymagań wydajnościowych. GMI podaje wstępny przedział po pierwszym rozpoznaniu, a stałą cenę dopiero po uzgodnieniu procesu, danych, zakresu i ryzyk podczas warsztatów.
- Czy szablon startowy Next.js Medusy nadaje się do produkcyjnego portalu firmowego?
- Jest dobrym punktem startu, ale nie gotowym portalem dla klientów firmowych. Trzeba doprojektować role klientów, ceny kontraktowe, dostępność według kanału, połączenia z systemami, monitorowanie działania, testy regresji i izolację danych klienta.
- Jak połączyć MedusaJS z systemem finansowo-magazynowym w sprzedaży firmowej?
- Nie każda akcja portalu zakupowego powinna pytać system finansowo-magazynowy w tym samym momencie. Najczęściej budujemy model mieszany: synchronizacja cen, stanów i klientów do Medusy albo modelu odczytu, natychmiastowa walidacja tylko tam, gdzie błąd blokuje zamówienie, oraz kolejki, ponowienia i powiadomienia dla wyjątków.
- Kiedy nie warto budować portalu dla klientów firmowych na MedusaJS?
- Nie warto, jeśli katalog, finalizacja zamówienia i cenniki są standardowe, a zespół potrzebuje szybkiego startu bardziej niż własnej architektury. Wtedy Shopify dla klientów firmowych, BigCommerce albo lekki model z oddzieloną warstwą zakupową mogą mieć lepszy całkowity koszt posiadania.
- Czy po projekcie GMI klient jest właścicielem kodu?
- Tak. Po rozliczeniu etapów przekazujemy prawa do kodu warstwy użytkownika i zaplecza. To jest ważne w sprzedaży firmowej, bo cenniki, połączenia z systemami i proces zakupowy są częścią przewagi operacyjnej, a nie tylko wyglądem sklepu.
Treść zaktualizowano: 4 września 2026
Google Preferred Sources
Czytaj GMI częściej w Google
Dodaj gmi.software do preferowanych źródeł. Google może częściej wyróżniać nasze nowe materiały w Top Stories i obsługiwanych widokach AI.