Wymagania
- System operacyjny — Windows Server 2019/2022 lub Windows 10/11
- ERP — Subiekt Nexo zainstalowany na tej samej maszynie (wersja 57+)
- Baza danych — SQL Server (Express lub pełny) z bazą Nexo
- Port — 5080 (domyślny, konfigurowalny)
Od instalacji po zaawansowaną konfigurację — kompletny przewodnik po automatyzacji ofert w Subiekt Nexo.
Ofertomatyk_Setup_X.X.X.exeWizard składa się z 4 kroków:
Wykryj automatycznie lub wskaż ręcznie katalog z plikami InsERT.Moria.*.dll(local)\SQLEXPRESS, auto-detekcja z rejestruTestuj połączenie aby zweryfikowaćSzefTestuj logowanie aby zweryfikowaćZakończ — konfiguracja zostanie zapisanahttp://localhost:5080Główny widok — przetwarzanie emaili.
Kliknij przycisk Powtórz przy emailu aby ponownie go przetworzyć (np. po dodaniu produktów do katalogu).
Jeśli w firmie kilku handlowców korzysta z własnych kont email w Gestorze, Ofertomatyk automatycznie rozpoznaje kto jest opiekunem danego konta pocztowego i przypisuje emaile do właściwej osoby.
System korzysta z natywnego mapowania w bazie Gestora — zero ręcznej konfiguracji:
Kopia wiadomości → Folder → Konto pocztowe → Opiekun (Użytkownik)Opiekun: Imię NazwiskoW górnym pasku nawigacji dashboardu znajduje się dropdown „Wszyscy opiekunowie”. Po wybraniu konkretnego handlowca:
Lista operatorów jest pobierana automatycznie z bazy Gestora (endpoint GET /api/operators).
Każdy email w tabeli wyświetla kolorowy badge z nazwą opiekuna. Kolor jest generowany automatycznie na podstawie nazwy — każdy handlowiec ma stały, rozróżnialny kolor.
Jeśli email nie ma przypisanego opiekuna (np. konto bez opiekuna w Gestorze), kolumna wyświetla myślnik.
Gdy Ofertomatyk tworzy ofertę w Nexo, w polu Uwagi oferty dodawana jest linia:
[Ofertomatyk] Auto-oferta z emaila #123
Temat: Zapytanie ofertowe
Nadawca: Jan Kowalski <jan@firma.pl>
Opiekun: Anna Nowak
Klasyfikacja: zapytanie_ofertowe (pewność: 0.95)
Dopasowano: 3 pozycji
Dzięki temu w samym Nexo widać kto powinien obsługiwać daną ofertę.
Przy przetwarzaniu każdego emaila w logach pojawia się informacja o opiekunie:
Email #140 -> zapytanie_ofertowe (pewność: 0.95, score: 8, opiekun: Anna Nowak)
Domyślnie dashboard jest dostępny tylko na serwerze (http://localhost:5080). Jeśli handlowcy mają korzystać z dashboardu na swoich komputerach, należy włączyć nasłuchiwanie na wszystkich interfejsach sieciowych.
Po włączeniu dostępu LAN upewnij się, że port 5080 jest otwarty w firewallu Windows:
netsh advfirewall firewall add rule name="Ofertomatyk" dir=in action=allow protocol=tcp localport=5080
Po włączeniu LAN handlowcy otwierają dashboard pod adresem IP serwera:
http://192.168.1.100:5080
Gdzie 192.168.1.100 to adres IP serwera w sieci lokalnej. Sprawdź go komendą ipconfig na serwerze.
Alternatywnie możesz ustawić ListenUrl bezpośrednio w pliku konfiguracyjnym:
// C:\ProgramData\Ofertomatyk\appsettings.local.json
{
"Ofertomatyk": {
"ListenUrl": "http://0.0.0.0:5080"
}
}
Wartość http://localhost:5080 = tylko lokalnie. Wartość http://0.0.0.0:5080 = dostępne z LAN.
Dostępna w planie Pro. Zawiera:
Ctrl+P)Przycisk Ustawienia otwiera modal:
Przycisk Excel w zakładce Poczta otwiera modal konfiguracji:
opis, nazwa, artykul, produkt, towar)ilo, sztuk, pozycj, qty, quantity)| Funkcja | Basic | Pro |
|---|---|---|
| Klasyfikacja emaili (heurystyka) | ✓ | ✓ |
| Fuzzy matching produktów | ✓ | ✓ |
| Tworzenie ofert w Nexo | ✓ | ✓ |
| Przetwarzanie Exceli | ✓ | ✓ |
| AI Enhancement (OpenAI) | — | ✓ |
| Analityka i wykresy | — | ✓ |
| Eksport XLSX | — | ✓ |
| Detekcja churnu | — | ✓ |
| Follow-up drafty (brak załącznika) | — | ✓ |
NPB-XXXXX-XXXXX-XXXXX-XXXXX)Jeśli przenosisz Ofertomatyk na inny serwer:
Ofertomatyk posiada system webhooków alertowych.
Endpointy GET/POST /api/alerts/config lub plik:
// C:\ProgramData\Ofertomatyk\alerts_config.json
{
"Enabled": true,
"WebhookUrl": "https://hooks.slack.com/services/...",
"AlertOnCircuitBreaker": true,
"AlertOnLicenseExpiry": true,
"AlertOnPollingStoppedMinutes": 60,
"LicenseExpiryDaysWarning": 7
}
Ofertomatyk.exe --setup aby powtórzyć Setup WizardC:\ProgramData\Ofertomatyk\appsettings.local.jsonservices.msc → SQL Server)(local)\SQLEXPRESSkamil@spartcom.plZmień port w konfiguracji:
// C:\ProgramData\Ofertomatyk\appsettings.local.json
{
"Ofertomatyk": {
"ListenUrl": "http://localhost:5090"
}
}
Następnie zrestartuj usługę:
sc stop Ofertomatyk && sc start Ofertomatyk
C:\ProgramData\Ofertomatyk\logs\nexopro-YYYYMMDD.txtOfertomatyk.exe --setup
Uruchomi Setup Wizard ponownie (tylko w trybie interaktywnym, nie jako usługa).
Ofertomatyk_Setup_X.X.X.exe)C:\Program Files\Ofertomatyk\ (nadpisywane)C:\ProgramData\Ofertomatyk\ (zachowana)C:\ProgramData\Ofertomatyk\license.json (zachowana)C:\ProgramData\Ofertomatyk\logs\ (zachowane)Jeśli potrzebujesz zaktualizować bez uruchamiania instalatora:
sc stop OfertomatykC:\Program Files\Ofertomatyk\sc start OfertomatykJeśli aktualizujesz Subiekt Nexo do nowej wersji:
Poniżej znajdziesz typowe scenariusze, w których Ofertomatyk oszczędza czas i eliminuje błędy ręcznej pracy.
Sytuacja: Jednoosobowa działalność lub mała firma. Właściciel sam obsługuje zapytania ofertowe. Emaile przychodzą na jedno konto w Gestorze.
Problem: Codziennie przychodzi 10–20 emaili. Trzeba ręcznie otworzyć każdy, ocenić czy to zapytanie czy spam, wyszukać produkty w katalogu, stworzyć ofertę w Nexo. Powtarzalna praca zajmuje 1–2 godziny dziennie.
Rozwiązanie:
http://localhost:5080, sprawdzasz oferty i zatwierdzaszEfekt: Zamiast godziny szukania produktów — gotowe szkice ofert czekają na zatwierdzenie. Spam odfiltrowany. Produkty dopasowane fuzzy matchingiem z katalogu Nexo.
Sytuacja: Firma z trzema handlowcami. Każdy ma swoje konto email w Gestorze: anna@firma.pl, jan@firma.pl, marek@firma.pl. Szef chce widzieć wszystko, handlowcy — tylko swoje.
Problem: Kto ma obsłużyć które zapytanie? Emaile mieszają się, zdarzają się duplikaty ofert albo pominięte zapytania.
Rozwiązanie:
http://192.168.1.100:5080Efekt: Anna widzi emaile z anna@firma.pl, Jan swoje z jan@firma.pl. Szef przełącza na „Wszyscy” i ma pełny obraz. W uwagach każdej oferty w Nexo stoi „Opiekun: Anna Nowak” — wiadomo kto obsługuje klienta.
Sytuacja: Klienci często wysyłają zapytania z załącznikiem Excel — tabela z nazwą produktu, ilością, jednostką.
Problem: Handlowiec musi otworzyć Excel, skopiować produkty, wyszukać każdy w Nexo, wpisać ilość. Przy 20 pozycjach to pół godziny pracy.
Rozwiązanie:
Efekt: Excel z 20 pozycjami = gotowa oferta w Nexo w 60 sekund. Niedopasowane pozycje są wypisane w uwagach oferty — handlowiec dodaje je ręcznie.
Sytuacja: Email od klienta: „Proszę o wycenę pompy ciepła 8kW ze sterownikiem, montaż u klienta w Krakowie. Czy możecie dać rabat przy 3 sztukach?”
Problem: Heurystyka dopasuje „pompa ciepła 8kW” i „montaż”, ale nie rozumie kontekstu (rabat, 3 szt., pytanie o sterownik).
Rozwiązanie:
Efekt: Handlowiec dostaje ofertę z dopasowanymi produktami + kontekstową notatkę od AI. Nie musi czytać całego emaila żeby wiedzieć czego chce klient.
Sytuacja: Ofertomatyk działa na serwerze 24/7 jako usługa Windows. Nikt nie patrzy na dashboard codziennie.
Problem: Jeśli coś się zepsuje (SQL padł, Sfera niekompatybilna, licencja wygasa) — dowiadujesz się za późno, gdy klient dzwoni „czemu nie mam oferty?”
Rozwiązanie:
Efekt: Dostajesz powiadomienie na Slacka/Teams zanim ktokolwiek zauważy problem. System sam się wznawia po ustaniu awarii.
Sytuacja: Szef chce wiedzieć ile ofert było w tym miesiącu, kto jest najlepszym klientem, które produkty się najlepiej sprzedają.
Problem: W Nexo można generować raporty, ale to wymaga klikania, filtrowania, eksportowania. Brak szybkiego podglądu.
Rozwiązanie:
Efekt: Szef otwiera dashboard rano — w 10 sekund widzi jak idzie sprzedaż. Plik Excel gotowy do wysłania do księgowej albo na spotkanie.
System tworzy jedynie szkice ofert (brudnopisy). Żadne istniejące dokumenty nie są modyfikowane. Handlowiec musi zatwierdzić ofertę w Nexo zanim zostanie wysłana do klienta.
Klucz licencji jest powiązany z jedną maszyną. Aby przenieść na inny serwer — najpierw dezaktywuj klucz na starym (dashboard → Licencja → Dezaktywuj), potem aktywuj na nowym.
Tak. Ofertomatyk automatycznie rozpoznaje opiekuna konta pocztowego z Gestora i przypisuje go do każdego emaila. W dashboardzie jest dropdown „Wszyscy opiekunowie” — handlowiec wybiera siebie i widzi tylko swoje emaile. Wymagane: konta pocztowe w Gestorze muszą mieć przypisanych opiekunów. Więcej: sekcja Wielu handlowców.
Dashboard → Ustawienia → Dostęp z sieci → zaznacz Dostęp z sieci lokalnej i zrestartuj usługę. Handlowcy otwierają http://IP-SERWERA:5080 w przeglądarce. Więcej: sekcja Dostęp z sieci LAN.
Obecnie system przetwarza załączniki .xlsx, .xls i .csv. Pliki PDF nie są parsowane automatycznie — produkty będą dopasowane z treści emaila (body). W planie Pro, AI może pomóc w lepszym rozpoznaniu produktów z treści.
Domyślnie co 60 sekund. Możesz też ręcznie odświeżyć dane przyciskiem "Odśwież" w zakładce Poczta.
Tryb Basic — nie. System działa całkowicie offline (heurystyka + fuzzy matching).
Tryb Pro — tak, do AI Enhancement (komunikacja z OpenAI) i weryfikacji licencji (raz na 24h).
System posiada Circuit Breaker — po 5 kolejnych błędach automatycznie pauzuje polling na 5 minut, potem próbuje ponownie. Żadne emaile nie zostaną utracone — będą przetworzone po przywróceniu połączenia.
Dodaj produkt do katalogu w Subiekt Nexo. Ofertomatyk automatycznie załaduje nowy katalog przy następnym pollingu (co 60 sekund). Dla już przetworzonych emaili — użyj przycisku Powtórz.
| Co | Gdzie |
|---|---|
| Pliki programu | C:\Program Files\Ofertomatyk\ |
| Konfiguracja | C:\ProgramData\Ofertomatyk\appsettings.local.json |
| Licencja | C:\ProgramData\Ofertomatyk\license.json |
| Logi | C:\ProgramData\Ofertomatyk\logs\ |
| Excel config | C:\ProgramData\Ofertomatyk\excel_config.json |
| Email config | C:\ProgramData\Ofertomatyk\email_config.json |
| Alert config | C:\ProgramData\Ofertomatyk\alerts_config.json |
| Dashboard config | C:\ProgramData\Ofertomatyk\dashboard_config.json |
kamil@spartcom.pl