System ofertowy dla producenta wiązarów — z 2 godzin do 5 minut na ofertę

· 8 min czytania · Case study
BranżaProdukcja konstrukcji drewnianych — wiązary kratowe
Wielkość30 osób
UsługaDedykowane oprogramowanie
Czas wdrożenia3 miesiące
StackASP.NET Core · React · PostgreSQL · QuestPDF · Azure

Producent wiązarów kratowych — drewnianych konstrukcji dachowych liczonych pod konkretny dach, konkretny rozstaw krokwi, konkretne obciążenie śniegiem. Każda oferta dedykowana, każda z osobna liczona w Excelu przez handlowca. Po trzech miesiącach pracy zamiast dwóch godzin w Excelu zostało pięć minut w przeglądarce — i zero błędnych wycen.

Kontekst: produkt, którego nie da się ułożyć w cenniku

Klient produkuje wiązary kratowe od osiemnastu lat. Trzydzieści osób, dwie hale produkcyjne, dostawy na budowy w promieniu 300 km. Wiązar kratowy to nie produkt z półki — to konstrukcja dachowa projektowana pod konkretną budowę, z konkretną geometrią dachu, kątami, rozstawem, obciążeniem śniegowym strefy klimatycznej, długością przęsła, klasą drewna.

Każda oferta jest unikalna. Klient (deweloper, biuro projektowe, indywidualny inwestor) przychodzi z rysunkiem dachu w PDF albo z listą parametrów. Handlowiec analizuje konstrukcję, dobiera typy wiązarów, liczy ilości, sprawdza ceny drewna i blachy gangnail z aktualnego cennika dostawców, dolicza marżę pod dany typ klienta, pakuje to w ofertę.

Współpracę zaczęliśmy w 2025 roku. Klient dotarł do nas po próbie kupna gotowego rozwiązania od dostawcy zagranicznego — okazało się, że to oprogramowanie projektowe (do liczenia wytrzymałości), nie ofertowe. Ofertowanie miało zostać w Excelu. Klient powiedział: „Nie chcę kolejnego Excela, chcę narzędzie, które przyjmuje parametry i wypluwa ofertę PDF, którą mogę wysłać klientowi w 5 minut".

Punkt startowy: 2 godziny w Excelu, 5 wersji „aktualnego" pliku

Status quo wyglądał następująco. Każdy z pięciu handlowców miał własną kopię „głównego" Excela, modyfikowaną pod siebie. Cennik drewna leżał w innym Excelu, aktualizowanym ręcznie przez kierownika zaopatrzenia. Cennik blach łączeniowych — w trzecim Excelu. Marże — pamięciowo, „bo Pan Janek wie, jakiemu klientowi ile dawać".

Konsekwencje były bolesne i mierzalne:

Co rozważaliśmy i czego nie zrobiliśmy

Pierwszą myślą było „ulepszmy Excel". Można by zbudować skomplikowany arkusz z VBA, makrami i ochroną komórek. Odradziliśmy: każdy taki arkusz po roku staje się niezarządzalny, nikt nie wie kto co zmienił, żaden nowy handlowiec się go nie nauczy.

Drugą opcją był gotowy CPQ (Configure-Price-Quote) na rynku. Sprawdziliśmy trzy. Wszystkie były skierowane do firm dystrybucyjnych z katalogiem produktów — nie do producenta liczącego konstrukcję pod konkretny dach. Logika branżowa byłaby do napisania jako customizacja, koszt licencji + customizacji przekraczał koszt dedykowanego rozwiązania.

Wybraliśmy dedykowany system webowy. Trzy argumenty: (1) logika branżowa wymagała precyzyjnego modelu domeny (typy wiązarów, geometria, obciążenia) — łatwiej napisać od zera niż wciskać w schemat CPQ; (2) klient chciał, żeby system rósł — dorzucenie portalu B2B i integracji z produkcją w drugim etapie; (3) koszt rozwoju był niższy niż 3-letni TCO gotowego CPQ.

Rozwiązanie: konfigurator + cenniki + generator PDF

Krok po kroku

— 4 etapy · 5 minut zamiast 2 godzin
1
Wejście
Handlowiec wpisuje parametry
Geometria dachu, rozstaw krokwi, strefa śniegowa, klasa drewna. PDF od klienta lub lista parametrów.
Wysyła
2
Silnik kalkulacyjny
SilverData Engine
Logika domenowa pokryta testami jednostkowymi. Dobiera typ wiązara, liczy ilości, dolicza cennik i marżę.
  • Dobór wiązarów
  • Cenniki dostawców
  • Reguły marżowe
  • Wersjonowanie
Generuje
3
Output dla klienta
Oferta PDF
Rysunek dachu, tabela wiązarów, kosztorys, warunki dostawy — gotowe do wysłania.
4
Po akceptacji
Eksport do produkcji
Lista materiałów, plan cięcia, etykiety — paczka dla działu produkcji bez ręcznego przepisywania.
Każda oferta zapisana z wersją cennika. Po 3 miesiącach klient pyta „dlaczego tak było wycenione" — system pokazuje cennik z dnia wystawienia. Pełna historia, koniec sporów.
Co zyskujesz
5 minut na ofertę — zamiast 2 godzin w Excelu, 24× szybciej.
Co eliminujesz
Błędne wyceny — 0 pomyłek po wdrożeniu, z ~6 miesięcznie.
Co kontrolujesz
Pełna historia — każda oferta z wersją cennika i marży.

Najważniejszą częścią był silnik kalkulacyjny. Zaprojektowaliśmy go jako oddzielny moduł domenowy z testami jednostkowymi pokrywającymi wszystkie typy wiązarów. Handlowiec wprowadza parametry dachu (geometria, rozstaw krokwi, strefa śniegowa, klasa drewna), system sam dobiera typ wiązara z biblioteki, oblicza ilość desek, ilość blach gangnail, długość, przekroje, wagę, ostatecznie cenę.

Cenniki drewna i blach pobierane są raz dziennie z Exceli dostawców (zostawiliśmy ten formacik, bo dostawcy go nie zmienią — middleware czyta i wczytuje do bazy). Marże i polityka rabatowa zaszyte w regułach: klient typ A → marża X%, klient typ B → marża Y%, sezon zimowy → bonus Z%.

Ofertę handlowiec generuje jednym przyciskiem. PDF (QuestPDF) zawiera: rysunek poglądowy dachu (renderowany z parametrów), tabele wiązarów z wymiarami i wagą, kosztorys, warunki dostawy, czas realizacji, adres firmy, dane kontaktowe handlowca. Branding firmy, ładny layout, można wysłać klientowi w jednej wiadomości.

Trzy decyzje, które się sprawdziły

Wdrożenie: 3 miesiące, 4 sprinty, jeden zespół

Pracowaliśmy w czterech dwutygodniowych sprintach. Sprint 1 — model domeny i silnik kalkulacyjny (sam silnik, bez UI, pokryty testami z prawdziwymi przykładami z Exceli klienta). Sprint 2 — UI konfiguratora i podstawowa kalkulacja end-to-end. Sprint 3 — generator PDF, integracja cenników, autoryzacja, audyt. Sprint 4 — eksport do produkcji, migracja historycznych ofert (300 najnowszych do bazy), szkolenia handlowców.

Każdy sprint kończył się demem dla handlowców i dla zarządu. Kilka istotnych poprawek (np. uproszczenie ekranu wprowadzania geometrii) wynikło właśnie z dem — handlowcy zobaczyli rzecz wcześniej i zgłosili konkrety, których nikt by nie wymyślił przy stoliku.

Wynik po 9 miesiącach od wdrożenia

5 min
na ofertę zamiast 2 godzin — średni czas spadł 24-krotnie
0
błędnych wycen wykrytych w kontroli — z ~6/miesiąc przed wdrożeniem
3 mies.
od pomysłu do wdrożenia produkcyjnego — bez większych slipów

Klient zwiększył liczbę obsłużonych zapytań ofertowych o około jedną trzecią bez zwiększania zespołu handlowego — bo handlowcy mają teraz czas na rozmowy z klientami zamiast siedzenia w Excelu. Czas odpowiedzi na zapytanie spadł z 2-3 dni do tego samego dnia, co zauważalnie poprawiło konwersję na zlecenia (klient nie zdąży zapytać konkurencji).

Wartość nie powstała w momencie napisania kodu. Powstała w momencie, w którym handlowiec po raz pierwszy wysłał klientowi ofertę 8 minut po jego telefonie i klient odpowiedział „wow, naprawdę szybko".

Co dalej

System działa, klient go rozwija. W 2026 planujemy drugi etap: portal klienta, w którym deweloperzy i biura projektowe będą wprowadzać zapytania samodzielnie, otrzymując wstępną wycenę natychmiast (handlowiec tylko zatwierdza i wysyła PDF). Do tego integracja z systemem produkcyjnym klienta, żeby zaakceptowana oferta wpadała od razu jako zlecenie produkcyjne.

To dobry przykład projektu, który zaczyna się od jednej, konkretnej bolączki (ofertowanie), a przy okazji uporządkowuje cały front-office firmy. Nie przepisujemy ERP. Nie zmieniamy procesów. Bierzemy najboleśniejszy punkt i go automatyzujemy — a to, co działa wokół, dorastamy w kolejnych etapach.

Twoja firma wycenia produkty pod konkretnego klienta i robi to ręcznie? Pogadajmy 30 minut o tym, co da się zautomatyzować — bez zobowiązań.

Umów bezpłatną konsultację →

← Wszystkie case studies