Skip to content

Klasyfikacja reguł walidacji

KSeF Guard zawiera 128 aktywnych reguł walidacji podzielonych na sześć kategorii klasyfikacyjnych. Każda kategoria determinuje domyślny poziom poważności reguły, możliwość jej wyłączenia oraz sposób prezentacji wyników w raportach.

Klasyfikacja reguł walidacji

Zweryfikowane w oficjalnym środowisku testowym KSeF

Przesłaliśmy 256 testowych faktur do oficjalnego API testowego KSeF (api-test.ksef.mf.gov.pl). Wyniki: 21 reguły potwierdzone przez KSeF, 107 reguł wykraczających poza to, co sprawdza KSeF, i 0 fałszywych negatywów w conformance v9 — wychwytujemy wszystko co KSeF, i więcej.

Reguły potwierdzone przez KSeF są oznaczone plakietką Gov Enforced w całej aplikacji.

GOV_MANDATED 71 reguł

Reguły wynikające z przepisów prawa

Reguły wywiedzione bezpośrednio z ustawy o podatku od towarów i usług, art. 106e oraz rozporządzeń Ministerstwa Finansów. Reprezentują wymogi regulacyjne dla faktur FA(3) wynikające z polskiego prawa podatkowego.

Nasze testy zgodności wykazały, że KSeF aktywnie egzekwuje 16 reguł GOV_MANDATED w momencie przesyłania. Kolejne 50 reguł GOV_MANDATED to prawnie wiążące wymogi, których KSeF nie weryfikuje na poziomie API, a 5 krytycznych reguł jest niewyłączalnych mimo braku adnotacji w polu ksef_enforced.

  • Poziom: błąd (zawsze)
  • Możliwość wyłączenia: 28 reguł nie można wyłączyć (21 potwierdzone przez KSeF + 7 krytycznych). 50 reguł GOV_MANDATED można wyłączyć w konfiguracji.

Przykłady

  • KSEF-BUS-074 Gov Enforced — P_19=1 bez podania podstawy zwolnienia (P_19A/B/C)
  • KSEF-BUS-044 — Wartość netto pozycji musi być równa iloczynowi ilości i skorygowanej ceny jednostkowej
  • KSEF-BUS-130 — Faktura uproszczona (UPR) nie może przekroczyć ustawowego limitu kwoty
BEST_PRACTICE 25 reguły

Dobre praktyki

Rekomendowane walidacje oparte na oficjalnej broszurze informacyjnej MF, powszechnych standardach księgowych oraz wzorcach zaobserwowanych w produkcyjnych fakturach. Choć ich naruszenie nie jest stricte nielegalne, reguły te wychwytują problemy często prowadzące do odrzucenia lub konieczności ręcznej korekty.

  • Poziom: błąd domyślnie (konfigurowalny)
  • Możliwość wyłączenia: tak

Przykłady

  • KSEF-BUS-072 — Stawka VAT musi być zgodna z koszyczkiem kwoty netto (faktury uproszczone pominięte)
  • KSEF-BUS-195 — Pozycja marży nie powinna zawierać kwoty netto ani VAT
HEURISTIC 12 reguł

Inteligentne wykrywanie anomalii

Inteligentne reguły wykrywające podejrzane, choć niekoniecznie nielegalne wzorce. Wychwytują błędy ludzkie, anomalie w danych i niespójności czasowe, które często wskazują na pomyłkę, a nie celowe działanie.

  • Poziom: ostrzeżenie
  • Możliwość wyłączenia: tak

Przykłady

SECURITY 6 reguł

Integralność danych i bezpieczeństwo

Reguły bezpieczeństwa wykrywające próby wstrzyknięcia kodu, znaki sterujące i inne problemy z integralnością danych mogące wskazywać na manipulację lub nieprawidłowe dane wejściowe. Chronią przed wektorami ataku osadzonymi w polach tekstowych faktur XML.

  • Poziom: błąd
  • Możliwość wyłączenia: częściowo (3 zablokowane: BUS-163, BUS-201, BUS-202. 3 można wyłączyć: BUS-190, BUS-191, BUS-192)

Przykłady

BATCH_CHECK 1 reguła

Walidacja między fakturami w partii

Reguły aktywowane wyłącznie przy walidacji wielu faktur jednocześnie. Wykrywają niespójności w ramach partii — zduplikowane numery, niezgodności NIP sprzedawcy, regresje chronologiczne oraz rozbieżności między zaliczkami a fakturami rozliczeniowymi.

  • Poziom: błąd
  • Możliwość wyłączenia: tak

Przykłady

  • KSEF-BUS-300 — Zduplikowany numer faktury (P_2) w partii
  • KSEF-BUS-301 — Różny NIP sprzedawcy pomiędzy fakturami w partii
  • KSEF-BUS-303 — Niespójność kwot między fakturą zaliczkową a rozliczeniową
INFERRED 13 reguł

Reguły logicznie wywnioskowane

Reguły wyprowadzone z logicznego wnioskowania o semantyce faktur korygujących. Nie są wprost zapisane w przepisach, ale wynikają matematycznie z procesu korekty.

  • Poziom: błąd
  • Możliwość wyłączenia: tak

Przykłady

  • KSEF-BUS-210 — Korekta zmniejszająca: skorygowana suma wyższa niż pierwotna
  • KSEF-BUS-211 — Korekta zwiększająca: skorygowana suma niższa niż pierwotna

Egzekwowanie KSeF a zgodność regulacyjna

Ważne rozróżnienie wynikające z naszych testów zgodności: akceptacja faktury przez KSeF nie oznacza jej zgodności z prawem. Platforma KSeF jest przede wszystkim walidatorem schematu XSD — 96% odrzuceń to błędy struktury XML. Wykonuje jedynie kilka kontroli semantycznych (walidacja dat, uprawnienia NIP).

Oznacza to, że 55 reguły dotyczące wymogów prawnych w KSeF Guard egzekwują wymogi ustawy o VAT, których sam KSeF nie sprawdza. W conformance v9 KSeF zaakceptował faktury naruszające te reguły; mogą one być zakwestionowane podczas kontroli podatkowej przez Krajową Administrację Skarbową (KAS).

Egzekwowane przez KSeF 21 aktywne reguły

W conformance v9 KSeF odrzucił faktury naruszające te reguły. 21 reguły egzekwowane przez KSeF łącznie: 16 GOV_MANDATED, 3 INFERRED, 1 BEST_PRACTICE, 1 SECURITY. Wszystkie są niewyłączalne.

Wyłącznie Guard 107 reguł

KSeF akceptuje te faktury, ale reguły wychwytują problemy regulacyjne, dobre praktyki lub kwestie bezpieczeństwa. Większość można indywidualnie wyłączyć; 7 reguł wyłącznie Guard pozostaje zablokowanych: 5 krytycznych GOV_MANDATED i 2 SECURITY.

Poziomy poważności

Każda wywołana reguła niesie ze sobą jeden z dwóch poziomów poważności:

Błąd

Faktura narusza regułę walidacji. Reguły oznaczone Gov Enforced zostaną również odrzucone przez platformę KSeF. Wyświetlany jako czerwona plakietka FAIL. Ogólny wynik walidacji to FAIL.

Ostrzeżenie

Faktura jest technicznie poprawna, ale zawiera podejrzane lub nieoptymalne wzorce. Wyświetlane jako żółta plakietka WARN. Ogólny wynik walidacji pozostaje PASS.

Konfiguracja

Reguły GOV_MANDATED potwierdzone przez KSeF (oznaczone plakietką Gov Enforced) oraz 3 podstawowe reguły z kategorii SECURITY są niewyłączalne — reprezentują zweryfikowane wymogi platformy i zabezpieczenia. Reguły GOV_MANDATED nieegzekwowane przez KSeF można wyłączyć w konfiguracji, podobnie jak BEST_PRACTICE, HEURISTIC, INFERRED i część reguł BATCH_CHECK.

Wbudowane presety

Preset Zachowanie
Essential Tylko reguły GOV_MANDATED aktywne. Reguły dobrych praktyk i heurystyczne wyłączone.
Recommended (zalecany) Wszystkie reguły aktywne z domyślnym poziomem poważności.
Maximum (maksymalny) Ostrzeżenia są podnoszone do błędów. Każda wywołana reguła powoduje FAIL.

Konfiguracja per reguła

Poszczególne reguły można przełączać za pomocą pliku konfiguracyjnego .ksef-guard.yml lub flag CLI:

# CLI: wyłącz konkretną regułę
ksef-guard validate --disable-rule KSEF-BUS-193 faktura.xml
# CLI: użyj presetu
ksef-guard validate --preset maximum ./faktury/
# .ksef-guard.yml
rules:
  KSEF-BUS-193:
    enabled: false
  KSEF-BUS-197:
    severity: error   # podnieść do błędu

Podsumowanie

Klasyfikacja Liczba Poziom Można wyłączyć
GOV_MANDATED 78 błąd Częściowo (28 zablokowane: Nie, 50 konfigurowalne: Tak)
BEST_PRACTICE 23 błąd (konfigurowalny) Tak
HEURISTIC 11 ostrzeżenie Tak
SECURITY 6 błąd Częściowo (3 zablokowane, 3 można wyłączyć)
BATCH_CHECK 1 błąd Częściowo
INFERRED 10 błąd Tak