Wykrywanie anomalii

Wykrywanie anomalii działa automatycznie — po każdym imporcie faktur, z KSeF albo z pliku, oraz raz dziennie o 07:00. Część detektorów porównuje całe faktury, część schodzi do pojedynczych pozycji. Każda anomalia ma poziom ważności, opis i link do faktury albo analizy.

Anomalie a alerty — gdzie się różnią

Anomalie i alerty są na jednej liście na stronie Monitoring. To dwa różne poziomy — łatwiej zrozumieć, jak działa system, gdy widzisz oba.

Anomalie

W Monitoringu filtr „Do sprawdzenia” zawęża listę do anomalii — każda jest osobną pozycją z opisem, poziomem ważności i linkiem do faktury albo analizy. Anomalie nie są kasowane po czasie, więc wracasz do nich, kiedy chcesz. Każda trafia na listę tylko raz: zamknięta już nie wróci, a odłożona pojawi się znowu po wybranym czasie.

Wyniki zapisuje tu 9 z 10 detektorów. Odchylenie od prognozy przychodzi jako alert.

Alerty — zdarzenia ulotne

Alerty z reguł trafiają do Skrzynki, czyli na tę samą listę w Monitoringu. Po 90 dniach są kasowane — i tak biznesowo nieaktualne. Anomalie nie trafiają do Skrzynki: powiadamia o nich e-⁠mail, domyślnie tylko przy poziomie krytycznym. Próg wagi zmieniasz w Monitoring → Ustawienia powiadomień.

Przy ustawieniach domyślnych e-⁠mail wysyła 5 z 10 detektorów: trzy zawsze, dwa przy poziomie krytycznym.

Pełen katalog — 10 detektorów

Nazwy są takie same jak w ustawieniach powiadomień. Przy każdym detektorze podajemy poziom ważności, moment uruchomienia i domyślne powiadomienie.

Detektory nadużyć — uruchamiane po imporcie

Sześć detektorów działa po każdym imporcie, w którym pojawiły się nowe faktury kosztowe — z KSeF (ręcznym i automatycznym) i z pliku (CSV, XLSX, XML). Z pliku sprawdzamy faktury wystawione w ostatnich 60 dniach. Skupione na bezpieczeństwie finansowym — łapanie duplikatów, podszywania się pod dostawcę, wykreślonych NIP-ów.

Duplikat faktury (dokładny)

KrytycznyPo imporcie
Algorytm:
Suma kontrolna trójki (NIP dostawcy + numer faktury + data wystawienia) istnieje 2× w bazie.
Wymagana historia:
Brak — porównanie z całą historią od pierwszej faktury.
Domyślne powiadomienie:
E-⁠mail przy każdym wykryciu.
anomaly.duplicate-exact

Duplikat faktury (zbliżony)

OstrzeżeniePo imporcie
Algorytm:
Ta sama kwota netto od tego samego dostawcy w oknie ±7 dni, ale różny numer faktury.
Wymagana historia:
Brak — porównanie z całą historią.
Domyślne powiadomienie:
Brak — anomalia jest tylko na liście „Do sprawdzenia”. E-⁠mail przychodzi po zmianie progu wagi na „Ostrzeżenia i krytyczne”.
anomaly.duplicate-fuzzy

Zmiana numeru konta dostawcy

KrytycznyPo imporcie
Algorytm:
Nowy numer rachunku bankowego dla dostawcy (NIP), który ma już 3+ wcześniejszych faktur w bazie z innym IBAN-em. Klasyczne podszywanie się pod dostawcę (oszustwo „na nadpłatę").
Wymagana historia:
Wymagane 3 wcześniejsze faktury od tego dostawcy.
Domyślne powiadomienie:
E-⁠mail przy każdym wykryciu.
anomaly.iban-mismatch

NIP dostawcy nieaktywny

KrytycznyPo imporcie
Algorytm:
Pierwsza faktura od dostawcy (NIP nigdy wcześniej nie pojawił się w bazie). Pytamy GUS — jeśli NIP nie ma aktywnej rejestracji (status WYKREŚLONA), alarm.
Wymagana historia:
Brak — sprawdzane przy pierwszej fakturze od dostawcy.
Domyślne powiadomienie:
E-⁠mail przy każdym wykryciu.
anomaly.gus-nip-inactive

Duplikat pozycji faktury

OstrzeżeniePo imporcie
Algorytm:
Pozycja o podobnym opisie (co najmniej 96% podobieństwa) + kwota linii ±5% + ten sam dostawca + ±14 dni. Łapie podwójne fakturowanie tej samej usługi z innym numerem dokumentu.
Wymagana historia:
Wymagana co najmniej 1 historyczna podobna pozycja.
Domyślne powiadomienie:
Brak — anomalia jest tylko na liście „Do sprawdzenia”. E-⁠mail przychodzi po zmianie progu wagi na „Ostrzeżenia i krytyczne”.
anomaly.duplicate-line-fuzzy

Skok ceny pozycji

OstrzeżeniePo imporcie
Algorytm:
Grupa pozycji o podobnych opisach (co najmniej 91% podobieństwa), ta sama jednostka miary, ten sam dostawca. Cena jednostkowa o co najmniej 30% wyższa od typowej ceny z 6 miesięcy w grupie.
Wymagana historia:
Wymagane minimum 5 historycznych pozycji w grupie.
Domyślne powiadomienie:
Brak — anomalia jest tylko na liście „Do sprawdzenia”. E-⁠mail przychodzi po zmianie progu wagi na „Ostrzeżenia i krytyczne”.
anomaly.price-spike-per-item

Detektory operacyjne — codzienny przegląd

Cztery detektory uruchamiane raz dziennie o 07:00. Porównują bieżące dane z historią faktur — wymaganą historię podajemy przy każdym z nich.

Nietypowa faktura

OstrzeżenielubKrytycznyCodziennie
Algorytm:
Dla każdego dostawcy: średnia i odchylenie standardowe kwot netto faktur z ostatnich 180 dni. Faktura z ostatnich 30 dni z kwotą wyższą od średniej o więcej niż trzy odchylenia jest oznaczana jako nietypowa, a powyżej pięciu odchyleń ma poziom krytyczny.
Wymagana historia:
Wymagane 5+ faktur od tego samego dostawcy z ostatnich 180 dni oraz dodatnie odchylenie standardowe.
Domyślne powiadomienie:
E-⁠mail tylko przy poziomie krytycznym, czyli powyżej pięciu odchyleń od średniej.
anomaly.outlier-invoice

Rosnący trend kosztów

OstrzeżenielubKrytycznyCodziennie
Algorytm:
Dla każdej kategorii kosztowej: wzrost kosztów o ponad 10% miesiąc do miesiąca przez 3 kolejne miesiące, licząc do ostatniego pełnego miesiąca. Średni wzrost powyżej 25% miesięcznie oznacza poziom krytyczny.
Wymagana historia:
Co najmniej 4 miesiące kosztów w kategorii z ostatniego półrocza, w tym ostatni pełny miesiąc.
Domyślne powiadomienie:
E-⁠mail tylko przy poziomie krytycznym, czyli przy średnim wzroście powyżej 25% miesięcznie.
anomaly.trend-break

Nowy dostawca w top 10

InformacyjnylubOstrzeżenieCodziennie
Algorytm:
Dostawca, który w ostatnich 30 dniach znalazł się wśród 10 dostawców o największej sumie faktur netto, a w 90 dniach wcześniej nie było od niego żadnej faktury. Suma powyżej 50 000 zł oznacza ostrzeżenie, niższa — poziom informacyjny.
Wymagana historia:
Faktury z 90 dni przed ostatnimi 30 dniami — bez tej historii każdy dostawca z top 10 jest uznawany za nowego.
Domyślne powiadomienie:
Brak — anomalia jest tylko na liście „Do sprawdzenia”, bo nigdy nie ma poziomu krytycznego. E-⁠mail wymaga obniżenia progu wagi.
anomaly.new-supplier-top10

Odchylenie od prognozy

OstrzeżenieCodziennie
Algorytm:
Suma kosztów narastająco od początku roku porównana z proporcjonalnym ułamkiem kosztów poprzedniego roku. Odchylenie o ponad 15% w górę lub w dół wywołuje alert.
Wymagana historia:
Wymagane min. 10 000 zł kosztów w poprzednim roku.
Domyślne powiadomienie:
Alert w Skrzynce w aplikacji. Ten detektor nie tworzy pozycji „Do sprawdzenia”.
forecast.deviation

Komentarze od AI

Anomalie wykryte po imporcie faktur są opatrzone krótkim komentarzem w języku polskim, który wyjaśnia, dlaczego dane zachowanie zostało uznane za odbiegające od normy. Komentarz odwołuje się do konkretnych faktur i opiera się wyłącznie na danych z Twojej historii.

Gdzie widzisz komentarz

Komentarz jest dołączany do powiadomienia e-⁠mail o anomalii, pod opisem z reguł. Na liście w Monitoringu anomalia ma sam opis z reguł. Komentarz powstaje dla najwyżej 10 anomalii z jednego importu. Przykład: „Ta pozycja jest 32% droższa od typowej ceny z ostatnich 6 miesięcy. Sprawdź, czy dostawca nie zmienił cennika — historycznie waha się w przedziale 8-14 zł/szt., ten zakup poszedł po 18 zł."

Dwustopniowa weryfikacja

Każdy komentarz przechodzi dwa niezależne etapy kontroli, zanim trafi do Ciebie. W pierwszym AI analizuje dane i formułuje wniosek. W drugim sprawdza, czy wyciągnięty wniosek rzeczywiście wynika z liczb oraz czy faktury, do których się odwołuje, faktycznie odpowiadają opisanej sytuacji. Jeśli weryfikacja nie potwierdzi spójności, system odrzuca wniosek AI i pokazuje opis zbudowany z reguł — masz pewność, że żaden komentarz nie pojawia się bez kontroli.

Wyłącznik AI

W Ustawienia → Prywatność i AI wyłączasz AI jednym suwakiem. Detektory działające na regułach (odchylenie od średniej, sumy kontrolne, sprawdzenie NIP-u w GUS) działają normalnie — komentarze się nie generują. Twoje dane nie trafiają do żadnego modelu AI.

Nowe konto — czego się spodziewać

Przy pierwszym imporcie aktywne są tylko detektory, które nie wymagają historii w bazie:

  • Duplikat dokładny — sprawdza w obrębie tej samej paczki importu.
  • NIP nieaktywny w GUS — odpytuje GUS dla każdego nowego dostawcy.

Po 2-3 miesiącach (lub po imporcie historii — z KSeF albo z pliku) zaczynają działać pozostałe:

  • Duplikat zbliżony, podmiana numeru rachunku — wymagają wcześniejszych faktur od dostawcy.
  • Duplikat pozycji, skok ceny — wymagają historii pozycji z policzonymi opisami matematycznymi.
  • Nietypowa faktura — wymaga 5+ faktur od dostawcy z ostatnich 180 dni.
  • Rosnący trend kosztów — wymaga 4 miesięcy danych kategorii.
  • Odchylenie od prognozy — wymaga roku wcześniejszego z wolumenem co najmniej 10 000 zł.

Kiedy detektory się odpalają

  • Po każdym imporcie — z KSeF (ręcznym i automatycznym) albo z pliku:6 detektorów wykrywania nadużyć — uruchamiane po udanym imporcie, w którym pojawiły się nowe faktury kosztowe. Z pliku sprawdzamy faktury wystawione w ostatnich 60 dniach; starsze, np. historia z arkusza, służą detektorom do porównań.
  • 07:00 codziennie:4 detektory operacyjne — uruchamiamy je równolegle dla wszystkich klientów. Cały przegląd kończy się w kilku minutach.
  • 08:00 codziennie:Sprawdzenie certyfikatów KSeF. To nie jest detektor anomalii, ale uruchamia się podobnie — wysyła przypomnienia e-⁠mailem na 30, 14, 7 i 1 dzień przed wygaśnięciem certyfikatu, w dniu wygaśnięcia i 7 dni po nim.