Centralny system zarządzania produkcją i sprzedażą dla marki premium
Jeden moduł wyceny, dwa kanały sprzedaży, jedna spójna platforma — zbudowana z myślą o wieloletnim rozwoju.
Wyzwanie
Klient — marka premium z segmentu beauty & lifestyle — rozwijał się dwutorowo. Z jednej strony prowadził dojrzałą sprzedaż detaliczną przez sieć salonów i ugruntowany sklep internetowy. Z drugiej, po przejęciu producenta działającego w modelu hurtowym, wszedł na rynek B2B i rozpoczął ekspansję na rynki europejskie.
Te dwie części biznesu działały na osobnych narzędziach i osobnych bazach danych. Brakowało jednego, wspólnego źródła prawdy o produkcie, jego atrybutach i — przede wszystkim — o cenie. Najtrudniejszym elementem była sama logika cenowa: ceny produktów zależą od wielu równoległych ścieżek kalkulacji (rodzaj surowca, kanał, typ klienta) oraz od zmiennych kursów surowców i walut. Każda zmiana kursu oznaczała konieczność przeliczenia tysięcy pozycji.
Dodatkowo klient postawił warunek strategiczny: system ma być modułowy i otwarty. Po pierwszym etapie planowane było dołączanie kolejnych aplikacji — rozliczeń B2B, faktur, konfiguratorów produktów parametrycznych — do wspólnej warstwy danych i logowania. Architektura nie mogła zamykać drogi do tego rozwoju ani wiązać klienta na sztywno z jednym dostawcą.
Cztery filary, na których system musiał stanąć
Logika cenowa, która jest powtarzalna, audytowalna i wydajna — ten sam wynik za każdym razem, z pełnym rozbiciem na składowe i masowym przeliczaniem w minutach, nie godzinach.
Bezpieczeństwo i izolacja danych — kontrahent hurtowy nie może zobaczyć kosztów, marż ani danych innych kontrahentów żadnym kanałem, łącznie z narzędziami deweloperskimi przeglądarki.
Wydajność — odczyt kart i list poniżej pół sekundy, składanie zamówienia w czasie liczonym w sekundach, eksport pełnego katalogu w minutę.
Stabilność — wysoka dostępność w godzinach pracy, codzienne backupy, udokumentowana procedura odtwarzania po awarii, środowiska staging i produkcyjne.
Cele projektu
Wspólnie z klientem ustaliliśmy, że pierwszy etap ma dostarczyć kompletną podstawę operacyjną — system gotowy do codziennej pracy obu części firmy, a jednocześnie fundament, który nie będzie wymagał przebudowy przy kolejnych rozszerzeniach.
- Jedno źródło prawdy o produkcie — dane, atrybuty, zdjęcia, opisy i ceny bazowe zarządzane w jednym miejscu i dystrybuowane do wszystkich kanałów.
- Centralny Moduł Dynamicznej Wyceny — z trzema ścieżkami kalkulacji, wersjonowaniem parametrów i pełnym audytem każdej wyliczonej ceny.
- Samoobsługowy kanał B2B — Portal Partnera B2B z własną hierarchią ról, procesem akceptacji zamówień i ścisłą izolacją danych.
- Bezbolesna integracja z e-commerce — dwustronna wymiana z platformą sklepową bez ingerencji w działające, dobrze pozycjonowane sklepy.
- Architektura pod przyszłość — wspólna warstwa logowania i danych, udokumentowane interfejsy, pełne przekazanie kodu i praw.
Rozwiązanie
Zaprojektowaliśmy i zbudowaliśmy centralny system w architekturze warstwowej i modułowej. Backend oparliśmy na TypeScript end-to-end (Node.js / NestJS) z bazą PostgreSQL, frontend na React. Całość przygotowana do uruchomienia na infrastrukturze klienta, z monitoringiem, kolejkami zadań w tle i dwoma odrębnymi środowiskami.
Moduł Dynamicznej Wyceny — serce systemu
Moduł Dynamicznej Wyceny potraktowaliśmy jako element krytyczny, z najwyższym reżimem jakości. Każda cena wyliczana jest po stronie serwera według ściśle określonej sekwencji składowych (surowiec, komponenty, robocizna, oprawa, wykończenia, marże kanałowe) i zapisywana razem z pełnym rozbiciem, datą wyliczenia oraz wersją parametrów użytych do kalkulacji.
Dzięki temu wyliczenia są w pełni powtarzalne i audytowalne — administrator w każdej chwili widzi, z czego wynika dana cena, i może porównać ją z poprzednim wyliczeniem. Zmiana dowolnego parametru (np. kursu surowca pobranego automatycznie z NBP) automatycznie oznacza wszystkie zależne ceny do przeliczenia, a masowa rekalkulacja wykonuje się w tle, nie blokując pracy zespołu.
Portal Partnera B2B — samoobsługowy kanał sprzedaży z izolacją danych
Portal Partnera B2B to drugie pod względem znaczenia narzędzie systemu — przez nie przechodzi cała sprzedaż B2B. Każdy kontrahent ma własną strukturę firmy z hierarchią ról (właściciel, manager, pracownik), możliwością wielu oddziałów dostaw i konfigurowalnym procesem akceptacji zamówień.
Kluczowa była izolacja danych realizowana na poziomie backendu, a nie interfejsu. System obsługując żądanie kontrahenta hurtowego po prostu nie wysyła pól kosztowych, marż ani danych innych kontrahentów — nie ma więc jak ich podejrzeć nawet w narzędziach deweloperskich przeglądarki. Dodatkową warstwę ochrony zapewnia filtrowanie na poziomie samej bazy danych.
Kontrahent widzi wyłącznie swój katalog, swoje ceny netto, swoje zamówienia i dane swojej firmy. Zamówienia płyną przez przejrzysty proces: złożenie, akceptacja po stronie firmy, automatyczne przekazanie do kanału sprzedaży i bieżące statusy produkcji widoczne dla zamawiającego.
Integracje — bez przebudowy tego, co działa
Działający od lat sklep detaliczny miał ugruntowaną pozycję w wyszukiwarkach i stabilną strukturę adresów. Założenie brzmiało: nie ruszać go. System pełni rolę źródła prawdy o produkcie i wymienia dane z platformą e-commerce dwustronnie — eksportuje katalog z właściwym narzutem per sklep i odbiera zamówienia do realizacji produkcyjnej, zachowując zgodność identyfikatorów i adresów, by nie naruszyć pozycjonowania ani istniejących linków.
Bufory wahań: dla każdego kursu zdefiniowany jest osobny próg zmiany. Jeśli nowa wartość go przekracza, system wstrzymuje automatyczne zastosowanie i czeka na ręczną akceptację — zabezpieczenie przed błędnym lub skrajnym odczytem ze źródła zewnętrznego.
- Eksport katalogu do każdego sklepu osobno, z narzutem konfigurowanym per kanał (kanał hurtowy z narzutem zerowym, sklepy detaliczne z własnymi narzutami).
- Dwustronna synchronizacja zamówień i statusów między systemem a platformą sklepową.
- Automatyczne pobieranie kursów walut i cen surowców z NBP o ustalonej godzinie, z mechanizmem buforów i akceptacji.
- Migracja danych z istniejących baz — katalog, zdjęcia i kategorie — z zachowaniem powiązań ze sklepem źródłowym.
Architektura modułowa i bezpieczeństwo
Architektura od pierwszego dnia jest przygotowana pod stopniowe włączanie kolejnych aplikacji klienta: wspólna warstwa uwierzytelniania, wspólne dane podstawowe wystawione przez API, udokumentowany kontrakt każdego modułu i współdzielona biblioteka komponentów interfejsu. Każda zmiana parametrów, cenników i uprawnień trafia do niemodyfikowalnego dziennika zdarzeń. Standardy bezpieczeństwa aplikacji webowej (m.in. ochrona przed wstrzyknięciami, bezpieczne przechowywanie haseł, limitowanie żądań na krytycznych endpointach, rotowalne tokeny sesji) są wbudowane, a klucze do integracji nigdy nie trafiają do warstwy klienta.
Jak pracowaliśmy
Projekt poprzedziliśmy krótką fazą analizy przedwdrożeniowej: spisaniem szczegółowej specyfikacji Modułu Dynamicznej Wyceny, audytem danych źródłowych i weryfikacją zakresu integracji na koncie testowym. Dało to obu stronom pewność co do zakresu, zanim ruszyły prace główne.
Realizację prowadziliśmy w sprintach zakończonych formalnymi odbiorami, z cotygodniowym demo dla klienta przez cały czas trwania projektu. Stały, 7-osobowy zespół pracował w jednym składzie od początku do końca — bez rotacji ludzi w trakcie. Po wdrożeniu produkcyjnym objęliśmy system dwutygodniowym okresem wzmożonego wsparcia (hypercare) i szkoleniem zespołu klienta.
- Pokrycie testami Modułu Dynamicznej Wyceny ≥ 90% — najwyższy reżim regresji dla logiki krytycznej.
- Testy integracyjne całych przepływów end-to-end: złożenie zamówienia, eksport katalogu, akceptacja, synchronizacja z kanałem.
- Code review każdej zmiany trafiającej na gałąź produkcyjną oraz pipeline CI/CD z odwracalnym wdrożeniem.
- Pełna dokumentacja architektury, modelu danych, interfejsów API oraz instrukcje wdrożenia, odtwarzania po awarii i użytkowania.
Rezultaty
Etap I dostarczył kompletną podstawę operacyjną obu części biznesu — działający system z jednym źródłem prawdy o produkcie i cenie, gotowy do dalszej rozbudowy.
9 + 1 modułów funkcjonalnych oraz dedykowany Portal Partnera B2B
≥ 90% pokrycia testami Modułu Dynamicznej Wyceny
< 0,5 s docelowy czas odczytu kart i list (p95)
- Logika cenowa
- Jeden audytowalny moduł wyceny z 3 ścieżkami kalkulacji; masowe przeliczenia w tle po zmianie kursów.
- Sprzedaż B2B
- Samoobsługowy Portal Partnera B2B z izolacją danych na poziomie backendu i procesem akceptacji zamówień.
- Spójność danych
- Jedno źródło prawdy o produkcie zasilające wszystkie kanały sprzedaży.
- Ciągłość biznesu
- Działające sklepy nietknięte — zachowane adresy, pozycjonowanie i struktura.
- Bezpieczeństwo
- Niemodyfikowalny dziennik zdarzeń, kontrola dostępu per rola, ochrona kluczy integracji.
- Otwartość
- Pełne przekazanie kodu i praw, udokumentowane API — brak vendor lock-in.
Opinia klienta
„Najbardziej zależało nam na tym, by cena była zawsze policzalna i wytłumaczalna, a dane hurtowników szczelnie odseparowane. Dostaliśmy jedno i drugie — plus fundament, na którym spokojnie budujemy kolejne moduły.”
Co dalej
Pierwszy etap był z założenia początkiem wieloletniej relacji. Architektura przygotowana pod rozbudowę pozwala dokładać kolejne elementy bez przebudowy fundamentu:
- Konfiguratory produktów parametrycznych dla administratora i kanału B2B.
- Włączenie istniejących aplikacji klienta (rozliczenia B2B, faktury) do wspólnej warstwy danych i logowania.
- Rozszerzenia operacyjne: kolejne integracje płatności, logistyki i systemów księgowych.
- Wsparcie AI w generowaniu opisów produktów i tłumaczeń na języki rynków docelowych.
O EWOSOFT
EWOSOFT Systemy Informatyczne działa na rynku od 2000 roku. Specjalizujemy się w wydajnych platformach sprzedażowych B2B i B2C, systemach klasy ERP/CRM oraz integracjach między systemami ERP, e-commerce i logistyką. Współtworzyliśmy jedne z pierwszych polskich systemów ERP — to doświadczenie kształtuje sposób, w jaki projektujemy logikę biznesową i systemy utrzymywane przez lata. Pracujemy w stabilnych zespołach, przekazujemy pełnię kodu i praw, i budujemy systemy, a nie pojedyncze projekty.
Masz podobne wyzwanie?
Porozmawiajmy o module dynamicznej wyceny, integracjach ERP ↔ e-commerce albo o systemie, który ma rosnąć razem z Twoją firmą.