Przejdź do treści
Blog 3 min czytania

Twój system odwzorowuje firmę klienta, nie twoją

Model danych sklepu B2C opisuje twoją firmę: twoje produkty, twoje kategorie, twoje ceny. Model sklepu B2B musi opisać coś, nad czym nie masz żadnej kontroli - wewnętrzną strukturę firmy twojego klienta. A ta bywa inna u każdego z nich i zmienia się bez uprzedzenia.

Jakub Owsianka Autor
Zaktualizowano:
Okladka artykulu: Twój system odwzorowuje firmę klienta, nie twoją (kategoria: Blog)
Okladka artykulu: Twój system odwzorowuje firmę klienta, nie twoją (kategoria: Blog)
Spis treści (4)

Modelujesz cudzą firmę

To jest różnica, która nie ma odpowiednika w B2C i dlatego regularnie zaskakuje.

Twój katalog opisuje twoją rzeczywistość - wiesz, jakie masz produkty, bo je kupiłeś. Twoje konto klienta w B2C opisuje osobę i to też jest proste, bo osoba to osoba.

W B2B konto musi opisać organizację kupującego: kto tam pracuje, kto komu podlega, kto ma prawo wydać ile pieniędzy, gdzie jedzie towar i kto płaci. Nie masz nad tym kontroli i nie dowiesz się o zmianach - klient zreorganizuje działy w kwietniu i po prostu zacznie zamawiać inaczej.

Cztery układy, które spotkasz

W praktyce polskiego B2B powtarzają się cztery i warto wiedzieć, że będą wszystkie naraz.

Jednoosobowy. Właściciel małej firmy kupuje sam. Konto to osoba, koniec. Około połowy twoich kontrahentów.

Zaopatrzeniowiec i akceptujący. Ktoś składa koszyk, ktoś inny zatwierdza powyżej progu. Dwie role, jedno konto firmowe.

Centrala i oddziały. Piętnaście oddziałów zamawia osobno, każdy na swój adres, ale limit kredytowy jest wspólny, cennik jest wspólny, a faktura idzie do centrali. Centrala chce widzieć wszystko, oddział - tylko siebie.

Grupa kapitałowa. Kilka spółek z osobnymi NIP-ami, wspólnym cennikiem wynegocjowanym na grupę i osobnymi limitami. Formalnie osobni kontrahenci, handlowo jeden klient.

Twój model musi obsłużyć wszystkie cztery jednocześnie, bo masz je wszystkie w bazie. Jak to rozłożyć na encje, rozbieram w tekście o multi-account.

Pułapka jednego poziomu

Najczęstszy błąd projektowy wygląda niewinnie: firma ma użytkowników. Płasko, jeden poziom.

Działa dla trzech pierwszych układów - w czwartym przewraca się na relacji grupa-spółka. Ale prawdziwy problem pojawia się wcześniej i gdzie indziej: przy adresie dostawy.

W modelu płaskim adres wisi przy użytkowniku albo przy firmie. Klient z piętnastoma oddziałami ma piętnaście adresów, a zaopatrzeniowiec z centrali zamawia raz na jeden, raz na drugi. Nagle okazuje się, że adres nie jest własnością użytkownika ani firmy, tylko oddziału, którego w modelu nie ma.

Dorobienie poziomu pośredniego po starcie oznacza migrację wszystkich kont i historii zamówień. To jest projekt, nie poprawka - i to jest powód, dla którego ta decyzja zapada na początku albo nie zapada wcale.

Co zaprojektować od razu

Nie chodzi o to, żeby zbudować wszystko na start. Chodzi o to, żeby model miał gdzie urosnąć.

Poziom pośredni istnieje od pierwszego dnia, nawet jeśli 90% klientów ma go pustego. Firma → jednostka → użytkownik. Jednoosobowa działalność ma jedną jednostkę i nikt tego nie zauważa. Grupa kapitałowa ma ich dwanaście i działa bez migracji.

Rola jest relacją, nie polem. Ten sam człowiek bywa akceptującym w jednym oddziale i zamawiającym w drugim. Rola przypisana do użytkownika tego nie opisze - rola musi wisieć na parze użytkownik-jednostka. Rozwijam to w tekście o rolach i uprawnieniach.

Limit i cennik mogą wisieć na innym poziomie niż zamówienie. Cennik na grupie, limit na spółce, zamówienie na oddziale. Jeśli wszystko zaczepisz o jedną encję „kontrahent", pierwszy klient z grupy kapitałowej rozbije ten model.

Test przed startem jest ten sam co zwykle: weź trzech najbardziej pokręconych organizacyjnie klientów i narysuj ich w swoim modelu. Jeśli się nie mieszczą, masz to na papierze zamiast w migracji.

Co dalej

O autorze

Jakub Owsianka

Architekt rozwiązania silnika platform B2B. Zaczynał po stronie biznesu (własne sklepy), potem deweloper, dziś projektuje wdrożenia dla sklepów z katalogami w dziesiątkach tysięcy SKU. W ostatnich latach wdrożył AI-development w zespole i funkcjonalności oparte o AI bezpośrednio w silniku sklepu.

Masz pytanie do tego artykułu?

Dodatkowy kontekst, problem z własnym wdrożeniem, druga opinia - napisz wprost. Odpowiadam osobiście w 1-2 dni robocze.