SYSTEMBOX
Zrób audyt w 3 minUmów rozmowę
STUDIUM PRZYPADKU · 2026

Ofertownik — od notatek z oględzin domu do podpisanej umowy.

Handlowiec firmy instalacyjnej wraca z oględzin z notatkami: dach południowy, czterdzieści dwa metry pod panele, stary kocioł do wymiany, właściciel pyta jeszcze o okna. Do wieczora ma wysłać ofertę. Każda z tych rzeczy to inny cennik, inna stawka robocizny, inna stawka VAT i inna marża.

Wcześniej robiło się to w arkuszu kalkulacyjnym — skopiowanym od kolegi, z zeszłorocznymi cenami i formułą, której nikt już nie rozumiał. Wyceny się rozjeżdżały, marża wyparowywała po cichu, a zarząd dowiadywał się o tym z faktury.

Klient
MR Energy — instalacje OZE
Moja rola
Projekt, architektura, całość implementacji
Okres
Styczeń – sierpień 2026, rozwój ciągły
Status
Wdrożone produkcyjnie, wersja 2.5.584
SKALA

Co się na to złożyło

Stan repozytorium na 25 sierpnia 2026. Podaję te liczby, bo są sprawdzalne — kod jest objęty umową, ale mogę go pokazać na żywo podczas rozmowy.

73 542linie kodu aplikacji
69 284linie kodu testówniemal tyle samo co aplikacji
2 692testy w 301 plikach
802commity w 7 miesięcy
81modeli domenowych
54ekrany panelu
253migracje bazy danych
38uprawnień w 3 rolach

System liczy pieniądze, więc regresja nie jest niedogodnością — jest błędem na fakturze. Stąd proporcja: niemal tyle samo kodu testów co kodu aplikacji, uruchamianego przy każdym zapisie razem z analizą statyczną.

PRZEPŁYW

Od pierwszego telefonu do podpisu

  1. 01

    Klient

    Kartoteka z pełną historią kontaktu. Jeden klient może mieć wiele projektów rozłożonych na lata — dach dziś, pompa ciepła za dwa sezony.

  2. 02

    Projekt

    Jedna ścieżka sprzedaży spinająca oferty z różnych działów. Numeracja nadawana automatycznie, status prowadzony przez zdefiniowany obieg, każda zmiana z notatką i autorem.

  3. 03

    Oferta

    Sześć kreatorów krok po kroku. Handlowiec wybiera urządzenia i parametry budynku, nie widząc cen — kwota pojawia się dopiero w podsumowaniu, żeby nie kusiła do dopasowywania wyceny po drodze.

  4. 04

    Dokumenty

    Kosztorys w PDF dla klienta i wersja wewnętrzna z rozbiciem marż. Wysyłka mailem według reguł — zmiana statusu może sama wysłać wiadomość z załącznikiem.

  5. 05

    Umowa

    Generowana z edytowalnego szablonu, z aneksami dla korekty danych oraz korekty pozycji i kwot. Po podpisaniu system wysyła zdarzenie do zewnętrznych automatyzacji.

ZAKRES

Sześć działów, sześć kalkulatorów

Każdy dział ma własną logikę wyceny, ale wspólny kontrakt: te same pozycje kosztorysu, te same reguły marż, ten sam mechanizm rabatów. Ceny pochodzą wyłącznie z jednego cennika — w kalkulatorach nie ma żadnych wartości zaszytych w kodzie, więc podniesienie ceny materiału w panelu zmienia wszystkie przyszłe oferty i nic poza tym.

Elektryka

Fotowoltaika i magazyny energii. Falowniki, moduły, konstrukcja montażowa, trasy kablowe liczone od metra powyżej limitu, dźwig, magazyny energii z rackiem i montażem.

Ogrzewanie

Pompy ciepła, kotły, zasobniki, bufory, grzałki, kominy, klimatyzacja i odbiorniki ciepła — z robocizną zależną od typu urządzenia.

Termomodernizacja

Ściany, dach, poddasze, strop, podłoga. Pięć systemów ociepleń, wykończenia, wylewki i elementy betonowe liczone od metra kwadratowego lub sześciennego.

Stolarka

Okna i drzwi wyceniane po wymiarach i profilu — producenci, typy otwierania, kolory, montaż i obróbka, pozycja po pozycji.

Dział projektowy

Usługi projektowe i audyty jako osobna linia sprzedaży, z własnym cennikiem i własną strukturą marż.

Inny

Furtka na usługi spoza katalogu: pozycja wpisywana ręcznie, z możliwością awansu do cennika, ze stawką VAT ustalaną osobno dla każdego wiersza.

PANEL

Jak to wygląda w pracy

Zrzuty z działającej instalacji, na danych przykładowych. Publikowane za zgodą klienta.

Kreator oferty elektryka — krok konfiguracji instalacji fotowoltaicznej
Kreator oferty, krok konfiguracji fotowoltaiki. Handlowiec dokłada falowniki i sekcje dachu; każde pole ma wpływ na wycenę, ale kwoty są w tym miejscu celowo niewidoczne — żeby nie kusiły do dopasowywania oferty po drodze.
Kosztorys z rozbiciem na materiały, robociznę, prowizje i marże
Kosztorys z rozbiciem na sekcje. Materiały, robocizna, prowizje i marże liczone osobno dla fotowoltaiki i magazynu energii. Po prawej podsumowanie wewnętrzne — to, czego klient nie zobaczy na swoim dokumencie.
Karta projektu z trzema ofertami z różnych działów i osią zdarzeń
Karta projektu. Trzy oferty z różnych działów w jednej ścieżce sprzedaży, z sumą projektu i osią zdarzeń. Każdy kafelek prowadzi wprost do kreatora.
INŻYNIERIA

Co było naprawdę trudne

Opisuję też błędy, które sam popełniłem i naprawiłem. Uważam, że to mówi o wykonawcy więcej niż lista technologii.

Pieniądze muszą się zgadzać co do grosza

Marża firmy i marża handlowca są rozdzielane na pozycje kosztorysu proporcjonalnie, osobno dla każdej sekcji. Zaokrąglenia nie mogą się kumulować, więc ostatnia pozycja w sekcji dostaje różnicę między sumą oczekiwaną a rozdaną. Bez tego oferta na sto osiemdziesiąt tysięcy potrafiła rozjechać się o kilkanaście groszy — dokładnie tyle, żeby zadzwoniła księgowość.

Historia zmian, którą da się cofnąć

Każdy zapis oferty tworzy migawkę z różnicą przed i po. Przywrócenie starszej wersji odtwarza ją dosłownie, bez ponownego przeliczania. To celowe: oferta sprzed pół roku ma zostać taka, jaką zobaczył klient, nawet jeśli cennik zmienił się od tego czasu trzy razy.

Rabat, który nie kłamie

Handlowiec może zejść z ceny, ale tylko do wysokości własnego narzutu i prowizji — system zna ten limit i go pilnuje. Klient widzi na kosztorysie jawną linię rabatu, a nie po cichu obniżone ceny jednostkowe.

Podpis, który potwierdzał pustkę

Audyt integracji wykazał, że jeden nieprawidłowy bajt w danych klienta powodował, że kodowanie danych cicho zwracało fałsz — a podpis kryptograficzny liczył się wtedy z pustego tekstu. Odbiorca dostawał pustą wiadomość z poprawnym podpisem i przyjmował ją bez zastrzeżeń. Zapis do dziennika wywalał się na tym samym kodowaniu, więc nie zostawał żaden ślad. To klasa błędu warta zapamiętania: funkcja, która zwraca fałsz, zamiast rzucić wyjątkiem.

POZA WYCENĄ

Reszta systemu

  • Zdarzenia do automatyzacji. Podpisanie umowy czy aneks trafiają do zewnętrznych systemów jako podpisane zdarzenia, z identyfikatorem pozwalającym odbiorcy odróżnić ponowienie od nowego zdarzenia.
  • Trzydzieści narzędzi dla asystentów AI. Udostępniają dane systemu z zachowaniem uprawnień: narzędzie widzi dokładnie to, co zalogowany użytkownik, ani rekordu więcej.
  • Zarobki handlowców. Rozbicie na marżę, prowizję i korekty rabatowe, per oferta, z eksportem i osobnym uprawnieniem dostępu.
  • Pomoc w panelu. Kilkanaście artykułów instruktażowych ze zrzutami ekranu, edytowalnych bez programisty. Testy pilnują, żeby dokumentacja nie rozjechała się z kodem.
  • Środowisko demonstracyjne. Odtwarzalna baza pokazowa do szkoleń, odświeżana jedną komendą po każdym wdrożeniu.
TECHNOLOGIE

Na czym to stoi

PHP 8.4Laravel 12Filament 5Livewire 4MySQL / MariaDBTailwind CSS 4PHPUnit 11LarastanLaravel PassportLaravel MCPSpatie PermissionGitHub Actions

Projekt komercyjny, wdrożony i rozwijany produkcyjnie. Kod objęty umową — dostępny do omówienia i pokazu na żywo.

Masz podobny problem z wycenami?

Jeśli u Ciebie oferty też powstają w arkuszu, a marża rozjeżdża się po cichu — to jest dokładnie ten typ systemu, który buduję. Zacznij od sprawdzenia, ile ta robota kosztuje Cię rocznie.