Potrzebne jest dopracowanie istniejącego CRM i dodanie osobnej sekcji „Umowy”, powiązanej z już zrealizowaną sekcją „Zgłoszenia”.
CRM już działa, sekcję „Zgłoszenia” nie trzeba tworzyć ani przepisywać od zera. Zadanie polega na starannym dopisaniu istniejącego systemu bez łamania bieżącej logiki.
Stos technologiczny:
- panel administracyjny: React + Vite + Tailwind SPA w folderze admin/
- backend/API: Node.js + Express
- baza danych: SQLite przez better-sqlite3
Co należy zrealizować:
1. Dodać nową zakładkę „Umowy” w menu CRM.
2. W sekcji „Zgłoszenia” dodać przycisk „Utwórz umowę”. Jeśli umowa dla zgłoszenia już została utworzona — pokazywać „Otwórz umowę”. Dla jednego zgłoszenia może być tylko jedna aktywna umowa.
3. Przy tworzeniu umowy automatycznie pobierać z zgłoszenia tylko podstawowe dane:
- ID zgłoszenia
- imię leada
- kontakt leada
Menadżera ze zgłoszenia nie pobierać automatycznie. W umowie ma być osobne obowiązkowe pole: „Odpowiedzialny menadżer za umowę”.
4. Formularz tworzenia umowy ma zawierać:
- lead
- kontakt
- odpowiedzialny menadżer za umowę
- data rozmowy
- czas rozmowy
- status umowy
- komentarz menadżera
- następne działanie
- data następnego kontaktu
- kwota umowy + waluta
Obowiązkowe pola: odpowiedzialny menadżer, data rozmowy, czas rozmowy, status umowy.
5. Statusy umowy:
- Rozmowa zaplanowana
- W trakcie / myśli
- Oczekujemy przedpłaty
- Przedpłata wniesiona / Umowa zamknięta
- Odrzucenie
- Nie nawiązał kontaktu
- Przenieść rozmowę
Statusy końcowe: „Przedpłata wniesiona / Umowa zamknięta” i „Odrzucenie”.
6. W sekcji „Umowy” stworzyć tabelę z podstawowymi kolumnami:
- ID umowy
- data utworzenia
- data/czas rozmowy
- lead
- kontakt
- odpowiedzialny menadżer
- status umowy
- kwota umowy
- status przedpłaty
- kto zamknął umowę
- działania
7. W karcie umowy pokazywać wszystkie podstawowe informacje o leadzie, statusie, kwocie, menadżerze, przedpłacie, komentarzach i historii zmian.
8. Dodać możliwość edytowania umowy:
- zmienić status
- zmienić datę/czas rozmowy
- dodać komentarz
- zmienić odpowiedzialnego menadżera
- zmienić kwotę umowy
- zmienić status przedpłaty
- usunąć umowę
9. Dodać logikę przedpłaty:
Menadżer może ustawić „Oczekujemy przedpłaty” lub „Przedpłata wniesiona”.
Admin osobno potwierdza przedpłatę statusem „Przedpłata potwierdzona przez admina”.
Do końcowej statystyki i rozliczenia menadżera umowa ma trafiać tylko po potwierdzeniu przedpłaty przez admina.
10. Dodać kontrolę przeterminowanych zgłoszeń i umów:
- zgłoszenie jest przeterminowane, jeśli przez więcej niż 2 godziny nie ma umowy i nie podano powodu, dlaczego umowa nie została utworzona
- umowa jest przeterminowana, jeśli data/czas rozmowy minęły, a status nie jest końcowy
11. W zgłoszeniach dodać kolumnę „Umowa”:
- Nie utworzona
- Utworzona
- Niskiej jakości lead
- Duplikat
- Nie odpowiada
- Zamknięta bez umowy
12. Dodać proste filtry w „Zgłoszeniach” i „Umowach”:
według statusu, menadżera, daty, przeterminowania, przedpłaty, odrzucenia, waluty.
13. Dodać podstawową statystykę w „Przeglądzie”:
- zgłoszenia bez umowy
- przeterminowane zgłoszenia
- rozmowy dzisiaj
- przeterminowane umowy
- umowy w trakcie
- oczekujące przedpłaty
- potwierdzone przedpłaty
- zamknięte umowy
- suma potwierdzonych przedpłat
14. Dodać statystykę dla menadżerów:
liczba zgłoszeń, utworzonych umów, zamkniętych umów, potwierdzonych przedpłat, odrzucenia, suma potwierdzonych przedpłat, konwersje.
15. Dodać eksport CSV umów i osobny eksport CSV dla rozliczeń z menadżerami.
Ważne:
Nie trzeba robić powiadomień Telegram, integracji z kalendarzem, tablicy Kanban, skomplikowanej analizy ani pełnej przebudowy CRM.
Główna cel:
stworzyć prostą i zrozumiałą sekcję do kontroli leadów po zgłoszeniu:
zgłoszenie → umowa → odpowiedzialny menadżer → data/czas rozmowy → status → następne działanie / powód odrzucenia → kwota → przedpłata → potwierdzenie admina → statystyka menadżerów.
Oczekuję od wykonawcy:
- doświadczenia z React / Node.js / Express / SQLite
- starannej pracy z istniejącym kodem
- bez przepisywania CRM od zera
- prostej realizacji bez zbędnego komplikowania
- możliwości szybkiego zrozumienia bieżącej struktury projektu