Pomiń do treści głównej
DOCS · KSEF PRIVATE · ARCHITEKTURA

KSeF Private:
jak BezChmury rozwiązuje 30 typowych błędów

Architektura lokalnego asystenta KSeF dla biur rachunkowych i firm. Harmonogram etapowy 2026, schemat FA(3), kody błędów 410/440/450 w interpretacji MF, audit trail RODO/AI Act, probe metrics.

~3 600 słów · czas czytania ~16 min · ostatnia aktualizacja: 01.05.2026

Umów demo (15 min) Zobacz cennik
SEKCJA 1 / 8

KSeF - co to + obowiązki etapowe 2026

KSeF (Krajowy System e-Faktur) to centralny rejestr faktur ustrukturyzowanych prowadzony przez MF. W ramach KSeF każda faktura jest opakowana w schemat XML zgodny z aktualną strukturą logiczną, opatrzona numerem KSeF i przechowywana centralnie. Dla podatnika oznacza to dwie rzeczy: nie wystawia już faktury w PDF/papierze do kontrahenta, tylko przesyła ją do KSeF, a po zaakceptowaniu otrzymuje numer KSeF, który identyfikuje dokument w pełnym łańcuchu rozliczeń.

Charakter prawny obowiązku KSeF reguluje ustawa o VAT z 11.03.2004 r., w brzmieniu po nowelizacji z 5 sierpnia 2025 r. - opublikowanej w Dz.U. 2025 poz. 1203. To właśnie ta ustawa rozciągnęła wdrożenie obligatoryjnego KSeF na trzy fale, zamiast jednej daty wejścia w życie.

Harmonogram etapowy - trzy daty graniczne

01.02.2026
Duzi podatnicy + odbiór dla wszystkich. Obowiązkowe wystawianie faktur w KSeF dla podmiotów, których sprzedaż brutto w 2024 r. przekroczyła 200 mln zł. Jednocześnie od tej daty otrzymywanie faktur w KSeF stało się obowiązkowe dla wszystkich podatników co do zasady - nawet jeśli sami zaczęli wystawiać dopiero później.
01.04.2026
Pozostali przedsiębiorcy. Obowiązek wystawiania w KSeF objął drugą falę - wszystkich pozostałych przedsiębiorców z wyjątkiem najmniejszych. Dla biur rachunkowych to data, kiedy 95%+ klientów wpadło w pełen tryb produkcyjny KSeF.
01.01.2027
Najmniejsi + pełne sankcje. Mikropodmioty z miesięczną sprzedażą fakturowaną do 10 000 zł były zwolnione z obowiązku do 31.12.2026 - od stycznia 2027 wchodzą obowiązkowo. Dopiero od tej daty MF wprowadza pełen reżim sankcji za błędy w korzystaniu z KSeF.

Cytat dosłowny - Art. 106ga ust. 1 ustawy o VAT

„Podatnicy są obowiązani wystawiać faktury ustrukturyzowane przy użyciu Krajowego Systemu e-Faktur."

Art. 106ga ust. 1 ustawy z 11.03.2004 r. o podatku od towarów i usług, w brzmieniu obowiązującym od 01.02.2026 r. - źródło: Lex SIP

2026 jako rok „ulgowy" - co to oznacza w praktyce

MF komunikuje 2026 r. jako okres przejściowy - bez pełnego nakładania sankcji za błędy wynikające z procesu wdrożeniowego. Pełne sankcje za niewypełnienie obowiązków KSeF zaczynają obowiązywać dopiero od 01.01.2027 r. Dla biur rachunkowych ważne jest jednak, że „bez sankcji KAS" nie oznacza „bez ryzyka operacyjnego". Każdy błąd w referenceNumber, każda duplikacja, każda zła autoryzacja oznacza zatrzymany proces rozliczeniowy, korektę po stronie ERP i opóźnione płatności od kontrahenta.

Dla typowego biura rachunkowego z 30–80 klientami JDG/MŚP (mediana polskiego rynku według publicznych proxy bazowych dla PKD 69.20.A) rok 2026 to skok wolumenu dokumentów obsługiwanych w KSeF od kilkunastu do kilkuset miesięcznie. To dlatego pierwszy realny problem nie nazywa się „AI", tylko predictability of process: przewidywalność czasu, kosztu i poziomu błędów na fakturę.

Co istotne dla księgowych: od 01.02.2026 wszyscy klienci muszą mieć infrastrukturę do odbioru faktur KSeF, nawet ci, którzy sami sprzedaży nie fakturują (zwolnieni podmiotowo, drobni rolnicy, niektóre fundacje). Anna z biura rachunkowego nie może powiedzieć klientowi „masz czas do kwietnia" - odbiór wszedł obowiązkowo wcześniej niż większość obowiązków wystawiania.

SEKCJA 2 / 8

FA(3) - kluczowe pola i pułapki

Wzór FA(3) obowiązuje od 01.02.2026 r. i zastąpił wcześniejszy FA(2). Co istotne dla integracji ERP - FA(3) dotyczy także wszystkich korekt wystawianych po tej dacie, nawet jeśli korygowana jest faktura wystawiona kiedyś na FA(1) lub FA(2). Nie ma więc możliwości „dożywania" starszej schemy: po lutym 2026 produkcja idzie wyłącznie na FA(3), a stare numery referenceNumber służą jedynie do wskazania referencji do oryginału.

Kluczowe pola FA(3) - gdzie biuro rachunkowe traci najwięcej czasu

Pole Co znaczy Najczęstszy błąd
P_2 Numer faktury Duplikat w obrębie 10 lat → kod 440
P_18A Mechanizm Podzielonej Płatności (MPP) Brakuje, gdy faktura > 15 000 zł brutto z poz. z zał. 15
P_22 Nowy środek transportu (z subfields) Ustawione bez wymaganych pól podrzędnych → semantyka 450
NrVatUE Zagraniczny VAT UE nabywcy Wpisany polski NIP → KSeF nie udostępni faktury nabywcy
NIP Polski NIP nabywcy Mylony z NrVatUE → klasyk error 450
DataWystawienia / DataSprzedazy Dwie różne daty DataSprzedazy > DataWystawienia +30 dni → odrzucenie

Z perspektywy implementacyjnej najbardziej bolesne jest pole NrVatUE. Broszura informacyjna MF wprost pisze, że „polskiego NIP nabywcy nie należy tu wpisywać" - polski NIP powinien być w polu NIP. Ale w realnych ERP mapowanie przelatuje przez wspólny obiekt VatNumber, który dla polskich klientów dostaje wartość, a flaga „kraj" się gubi. Efekt: faktura przeszła walidację schemy (XSD się nie wywala - pole istnieje, jest typu string), ale odbita semantycznie przez KSeF z kodem 450.

Diagram 1 - pipeline FA(3) → KSeF (lokalna walidacja przed wysyłką)
Pipeline FA(3): ERP → Walidator XSD → Walidator semantyczny → KSeF API → Audit log ERP XML FA(3) Walidator XSD schemat FA(3) lokalny Walidator semantyczny 30 wzorców 410/440/450 offline cache białej listy KSeF API numer KSeF + UPO Audit log JSONL - każdy krok + hash + timestamp Pipeline lokalny - wysyłka do KSeF dopiero po lokalnej walidacji

Pain point case - Marek, błąd NrVatUE

Marek prowadzi biuro rachunkowe w Krakowie, 12 osób, 80 klientów. W marcu 2026 jeden z klientów (sklep z elektroniką) zmigrował z FA(2) na FA(3) i stracił 30 minut na każdej fakturze, którą KSeF odbijał z kodem 450. Biuro przeszło przez wszystko po kolei: czy zła stawka VAT, czy brak P_18A, czy kraj nabywcy się rozjechał. Po dwóch dniach Marek znalazł przyczynę: ERP automatycznie kopiował polski NIP nabywcy do pola NrVatUE, bo kontrahent miał ustawiony „export = false" ale flaga „uesie = true" - domyślnie z czasów FA(2), kiedy to pole było ignorowane.

BezChmury dla Marka znaczy jedno konkretne usprawnienie: walidator semantyczny FA(3) przed wysyłką do KSeF. 30 reguł obejmujących m.in. NrVatUE z polskim NIP, P_18A przy progu 15 000 zł brutto, P_22 bez subfields, niezgodność DataWystawienia / DataSprzedazy. Marek nie czeka na odpowiedź KSeF - diagnoza pojawia się lokalnie, z dokładnym wskazaniem pola i sugerowanym fixem.

<!-- przykład: walidator BezChmury wykrywa polski NIP w NrVatUE -->
<Faktura>
  <Naglowek>
    <KodFormularza wersjaSchemy="1-0E">FA</KodFormularza>
    <WariantFormularza>3</WariantFormularza>
  </Naglowek>
  <Podmiot2>
    <DaneIdentyfikacyjne>
      <NIP>5252344078</NIP>
      <NrVatUE>5252344078</NrVatUE>  <!-- BLAD: polski NIP! -->
    </DaneIdentyfikacyjne>
    <Adres>
      <KodKraju>PL</KodKraju>  <!-- konflikt z NrVatUE -->
    </Adres>
  </Podmiot2>
</Faktura>

[BezChmury validator output]
ERROR semantic.nrvatue_polish_nip
  field: Faktura.Podmiot2.DaneIdentyfikacyjne.NrVatUE
  found: 5252344078 (polski NIP, KodKraju=PL)
  fix:   usun NrVatUE (polski NIP juz w polu NIP)
  fact_id: ksef_fa3_nrvatue_polish_nip_anti
  source: broszura MF FA(3) - pkt 7.3
  confidence: HIGH
SEKCJA 3 / 8

BezChmury KSeF Private - architektura

BezChmury KSeF Private to lokalny pipeline 5-warstwowy. Klient instaluje aplikację Electron (DMG dla macOS, EXE dla Windows), aplikacja uruchamia lokalnie polski model BezChmury 11B v3 (open-source, Apache 2.0, 11 mld parametrów, tokenizer APT4 zoptymalizowany pod polski) i 5-warstwowy router pytań. Bez domyślnego call-home produktu i bez automatycznej telemetrii; dokumenty robocze są projektowane do pozostania w środowisku klienta.

„Bielik-PL-11B-v3.0-Instruct is a generative text model featuring 11 billion parameters [...] after replacing its tokenizer to the APT4 tokenizer optimized specifically for the Polish language."

Model card SpeakLeash, Hugging Face - huggingface.co/speakleash/Bielik-PL-11B-v3.0-Instruct
Diagram 2 - architektura BezChmury KSeF Private (pipeline lokalny)
Pipeline BezChmury KSeF Private - Input → Walidator FA(3) → Critical resolver → Error resolver → BezChmury 11B + RAG → Output z cytatem + audit log Input XML FA(3) lub pytanie tekstowe Walidator FA(3) XSD + 30 reguł semantycznych Critical resolver (13 routes) sankcje, B2C, QR, cert, JPK Error resolver (30 entries) 20 kodów + 10 wzorców logicznych BezChmury 11B + RAG fallback dla pytań poza skill Lokalna SSoT ~130 KSeF facts 218 ZUS records ~95 inne (VAT/JPK/PIT) offline-only Audit log JSONL timestamp, fact_ids model_version + hash RODO + AI Act compliant retencja 5 lat

Komponenty pipeline'u

  • Walidator FA(3) - schemat XSD + 30 reguł biznesowych per pole (np. P_22 wymaga subfields jeśli set; NrVatUE z polskim NIP = warning; DataSprzedazy > DataWystawienia +30 dni = error).
  • Error resolver - 30 wpisów: 20 numerycznych kodów błędów + 10 wzorców logicznych (np. „pomóż z MPP", „NIP w NrVatUE zamiast", „bez P_18A"). Latency 0 s - deterministyczna lookup, bez wywołania LLM.
  • Critical resolver - 13 hard-coded routes z priorytetem (sankcje 2026/2027, B2C obowiązki, QR code, certyfikat KSeF, JPK_V7M timing, offline24 procedury). Routing zwraca odpowiedź w < 100 ms, zanim BezChmury 11B się rozgrzeje.
  • Lokalna SSoT - 218 rekordów ZUS (111 fact + 42 anti-fact + 17 edge case + 15 routing rule + 30 source manifest) + ~130 faktów KSeF + ~95 faktów innych (VAT, JPK, PIT, RODO). Każdy rekord ma source_quote, legal_basis, as_of_date, confidence.
  • BezChmury 11B v3 + RAG - fallback dla pytań poza znane wzorce. Q4_K_M kwantyzacja (~6,4 GB peak memory na Apple Silicon), GGUF dla llama.cpp / Ollama, FP8-Dynamic dla NVIDIA z architekturą Hopper / Ada Lovelace.
  • Audit log - JSONL append-only, każde pytanie + źródło + timestamp + hash IP + fact_ids użyte. Retencja 5 lat (zgodnie z ustawą o rachunkowości); możliwość rozszerzenia do 50 lat dla klientów medycznych.

Architekturalny kontrast vs cloud SaaS jest jasny: nic nie wychodzi z urządzenia klienta. Po pierwszej instalacji aplikacja może działać bez sieci. Update Pack (kwartalny) jest pobierany jako podpisana paczka SSoT - klient sam decyduje, kiedy zaktualizować.

SEKCJA 4 / 8

Kody błędów API KSeF - POPRAWNIE

Krytyczna korekta vs publicystyka 2024. W internecie krąży tabelka, w której kod 410 = walidacja NIP-26, 440 = MPP, 450 = biała lista. To jest błąd. Po weryfikacji materiałów oficjalnych MF i dokumentacji API (api.ksef.mf.gov.pl/docs/v2 oraz Podręcznik KSeF 2.0) interpretacje są inne niż w tej publicystyce. Poniżej trzymamy się oficjalnego brzmienia z dokumentów MF.

Kod 410 - błąd uprawnień

Definicja oficjalna MF: niewłaściwy zakres uprawnień użytkownika uwierzytelnionego do KSeF. To NIE jest walidacja merytoryczna treści faktury. Najczęstsze przyczyny: brak roli „Wystawianie faktur" przypisanej do użytkownika, NIP autoryzowany nie ma jeszcze tokena KSeF, zmiana uprawnień zrobiona w panelu MF, ale nie zaaplikowana po stronie klienta API.

HTTP/1.1 410 Gone
Content-Type: application/json

{
  "status": 410,
  "code": "ERR_AUTHORIZATION",
  "message": "Niewlasciwy zakres uprawnien dla operacji",
  "details": {
    "user_nip": "5252344078",
    "operation": "send-invoice",
    "required_roles": ["Wystawianie", "Dostep"]
  }
}

[BezChmury fix suggestion]
1. Sprawdz panel KSeF: api.ksef.mf.gov.pl/web/uprawnienia
2. Czy uzytkownik ma role "Wystawianie" przypisana?
3. Po zmianie uprawnien - odswiez token sesji (TTL 60 min)
4. Lokalna baza polityk uprawnien BezChmury wykryje brak roli przed wyslaniem
fact_id: ksef_410_authorization
confidence: HIGH (zrodlo: Podrecznik KSeF 2.0, cz. II)

Kod 440 - duplikat faktury

„W tym przypadku jest to kod błędu 440 'Duplikat faktury'."

Podręcznik KSeF 2.0, cz. II - wystawianie i otrzymywanie faktur, MF - źródło

Logika deduplikacji KSeF: system bada tuple (NIP sprzedawcy + P_2 numer faktury + rodzaj faktury), szukając wystąpienia tego samego klucza w bazie KSeF 10 lat wstecz. Najczęstsze realne przyczyny:

  • Retry po timeout - klient ERP nie zarejestrował numeru KSeF zwróconego przez API z pierwszego sukcesu, retryje z tym samym P_2.
  • Manual restart pipeline - operator zresetował kolejkę po awarii i wysłał ponownie te same XML-e.
  • Migracja z FA(2) → FA(3): „wczytanie" historycznych numerów do nowego rejestru.
  • Korekta jednej faktury wystawiana dwa razy z tym samym numerem korekty.
Diagram 3 - kod 440: deduplikacja KSeF na bazie NIP + P_2 + rodzaj (10 lat wstecz)
Diagram kodu 440: KSeF tworzy klucz dedup z NIP sprzedawcy + P_2 + rodzaj faktury, sprawdza 10 lat wstecz, zwraca 440 jeśli istnieje Faktura wpływa NIP sprzedawcy P_2 numer Klucz dedup sha256(NIP+P_2+rodzaj) + hash XML idempot. key Sprawdzenie w bazie KSeF 10 lat wstecz window: 2016 → 2026 deterministic 200 OK numer KSeF 440 duplikat BezChmury idempotency key + 10-letni cache offline → unik retry race

BezChmury rozwiązanie: idempotency key liczony lokalnie przed wysyłką jako sha256(NIP + P_2 + rodzaj + hash_XML). Jeśli klucz istnieje w lokalnym cache (bez wywołania KSeF) - zwracamy cached numer KSeF z pierwszego sukcesu, NIE retry z nowym P_2. Cache offline rośnie przyrostowo do 10-letniego okna; pierwszy rok wdrożenia 2026 = ~kilka tysięcy wpisów na średnie biuro, czyli < 50 MB lokalnie.

Kod 450 - błąd weryfikacji semantyki dokumentu

Definicja oficjalna MF: „Błąd weryfikacji semantyki dokumentu faktury" - szeroka klasa błędów semantycznych. To NIE jest dedykowany kod „biała lista" ani „MPP" - biała lista nie jest wbudowana w KSeF (patrz Sekcja 5), a MPP ma własną logikę walidacyjną. Kod 450 obejmuje praktycznie wszystko, co przeszło XSD (schemat się zgadza), ale wewnątrz dokumentu jest niespójność biznesowa.

Top 8 typowych przyczyn 450 widzianych przez BezChmury w probe v0.4:

  1. NrVatUE z polskim NIP zamiast zagranicznego VAT UE.
  2. DataSprzedazy > DataWystawienia +30 dni (poza dopuszczalnym oknem).
  3. Suma kwot brutto ≠ suma podatkowa + netto (zaokrąglenia per pozycja).
  4. Niezgodność kraju dostawcy/nabywcy z numerem VAT (PL kontrahent, nieobecny KodKraju=PL).
  5. Brak P_18A przy fakturze > 15 000 zł brutto z poz. z załącznika 15.
  6. Pole P_22 ustawione, ale brakuje wymaganych subfields (rok produkcji, VIN, przebieg).
  7. Korekta bez referencji do oryginalnej faktury (puste NrFaKorygowanej).
  8. Zwolnienie podmiotowe VAT bez prawidłowej stawki ZW i podstawy prawnej.

Walidator BezChmury łapie wszystkie 8 przed wysyłką. Średnia oszczędność: 1 retry round-trip + 30 minut diagnozy per faktura odbita. Dla biura z 80 klientami × 5 faktur/dzień z błędem przedwdrożeniowym = ~6 godzin pracy księgowej dziennie zaoszczędzone.

Top 10 błędów merytorycznych - pełna lista BezChmury

# Błąd fact_id BezChmury
1P_18A missing przy > 15 000 zł brutto z zał. 15mpp_p18a_missing
2NIP w niewłaściwym polu (NrVatUE zamiast NIP)polski_nip_in_nrvatue
3P_22 bez wymaganych subfieldsp22_subfields_missing
4Korekta bez referencji do oryginalnej fakturykorekta_no_ref
5Zwolnienie podmiotowe bez stawki „ZW"zw_no_basis
6DataSprzedazy > DataWystawienia +30 dnidata_diff_30
7Brak nazwy kontrahenta P_3Ap3a_missing
8Niezgodność kwot brutto/netto/VATamount_mismatch
9Polski NIP w polu zagranicznypolski_nip_foreign_field
10Waluta niezgodna z krajem nabywcycurrency_mismatch
Diagram 4 - kod 410: flow autoryzacji + lokalny preflight BezChmury
BezChmury preflight uprawnień: zanim ERP wyśle fakturę do KSeF, lokalna polityka sprawdza role i przewiduje 410 z 0 round-tripem ERP user_nip + role BezChmury preflight lokalna baza polityk user → roles map offline check Brak roli - STOP lokalnie błędu 410 nie wysyłamy do KSeF OK - wyślij do KSeF numer KSeF + UPO Walidator preflight = 0 round-tripów do KSeF dla błędów uprawnień
SEKCJA 5 / 8

Biała lista VAT - osobny krok kontrolny

Krytyczna teza: KSeF nie sprawdza automatycznie statusu kontrahenta w Wykazie Podatników VAT. Biała lista pozostaje osobnym krokiem kontrolnym po stronie ERP / middleware / asystenta - i to jest bardzo mocny argument za lokalnym asystentem on-prem działającym obok KSeF.

„Aktualnie nie jest planowane wprowadzenie takiej funkcjonalności."

FAQ KSeF 2.0, odpowiedź MF na pytanie o weryfikację Wykazu Podatników VAT - ksef.podatki.gov.pl/jdg-i-msp/

Biała lista VAT (oficjalnie: Wykaz Podatników VAT) to centralna lista podatników VAT aktywnych, prowadzona przez MF. Jej znaczenie prawne wynika z art. 96b ustawy o VAT: przy płatnościach > 15 000 zł brutto na rachunek niewskazany w wykazie podatnik nie ma prawa do zaliczenia takiej kwoty do kosztów uzyskania przychodu (CIT/PIT) ani do prawa do odliczenia VAT bez dodatkowych zastrzeżeń.

Architektura obsługi białej listy w BezChmury

  • Plik płaski codziennie od 00:01. MF publikuje codziennie zrzut wykazu jako plik płaski (CSV / JSON), ~50 MB. BezChmury cron'uje pobieranie raz dziennie (lub na żądanie operatora przed wsadową weryfikacją).
  • Lokalny cache offline. Po pobraniu plik jest indeksowany lokalnie (NIP → status, data wpisu, rachunki). Kolejne zapytania weryfikacyjne to lookup w pamięci, zero ruchu sieciowego. Dla biura z 200 NIP-ami klientów = mniej niż 1 sekunda na cały batch.
  • Walidator dwustopniowy: FA(3) → biała lista → KSeF. Jeśli kontrahent jest „nieaktywny VAT" lub „skreślony", walidator zwraca warning przed wysłaniem do KSeF - pozwalając operatorowi zdecydować świadomie (mimo że KSeF sam tego nie sprawdzi).
  • Audit log każdego sprawdzenia. Każdy NIP, status w momencie sprawdzenia, timestamp, data ostatniego pobrania pliku. To krytyczne, bo art. 96b nakłada obowiązek weryfikacji, nie tylko „dobrej wiary" - audytor patrzy w log.

Ten model architektoniczny - gdzie BezChmury jest lokalnym, dziennie odświeżanym lustrem rządowych źródeł danych - jest naturalnym uzupełnieniem KSeF. KSeF reguluje dokumenty; biała lista reguluje kontrahentów; BezChmury przechwytuje oba kroki w jednym pipeline lokalnym.

SEKCJA 6 / 8

Audit trail - Art. 22 GDPR + AI Act

Audit log nie jest w BezChmury kosmetycznym dodatkiem ani logiem debugu. Jest to wymóg twardy, wynikający z trzech porządków prawnych równolegle: RODO (art. 22), AI Act (Annex IV - dokumentacja techniczna), i ustawy o rachunkowości (retencja dokumentacji).

Art. 22 RODO - prawo do interwencji człowieka

„The data subject shall have the right not to be subject to a decision based solely on automated processing, including profiling, which produces legal effects concerning him or her or similarly significantly affects him or her. [...] the data controller shall implement suitable measures to safeguard the data subject's rights and freedoms and legitimate interests, at least the right to obtain human intervention on the part of the controller, to express his or her point of view and to contest the decision."

Art. 22 ust. 1 i ust. 3 RODO (Rozporządzenie 2016/679) - oficjalny tekst EUR-Lex

Co to znaczy w praktyce dla BezChmury? Każda odpowiedź AI musi być replicable (możliwa do odtworzenia z tych samych danych) i interpretowalna (operator-człowiek może wskazać, na jakim fakcie SSoT była oparta i kto może ją zakwestionować). Bez audit log to niemożliwe.

AI Act Annex IV - dokumentacja techniczna

AI Act (rozporządzenie 2024/1689, opublikowane 12.07.2024, weszło w życie 01.08.2024) dla systemów high-risk wymaga prowadzenia dokumentacji technicznej zgodnej z Annex IV (architektura, zbiór danych, metryki, oceny ryzyka). BezChmury nie jest systemem high-risk per Annex III (asystent dokumentowy nie kwalifikuje się tam automatycznie), ale audit log na poziomie produkcyjnym to dobre praktyki, które: (a) ułatwiają obronę przy potencjalnym sporze z UODO, (b) są standardem rynkowym dla AI w finansach/prawie, (c) wymagane są przez większość polityk wewnętrznych biur i kancelarii.

Format audit log BezChmury - JSONL

{
  "ts": "2026-05-01T10:23:15.347Z",
  "session_id": "anna-biuro-2026-05-01-10-22",
  "ip_hash": "sha256:9c4f2a...",
  "user_email_hash": "sha256:8b1d3f...",
  "question": "Co to jest blad KSeF 440?",
  "question_lang": "pl",
  "router_decision": "critical_resolver",
  "fact_ids": ["ksef_440_dedup", "fa3_p2_field"],
  "answer_hash": "sha256:5a7e1c...",
  "answer_word_count": 87,
  "model_version": "Bielik-PL-11B-v3.0-Instruct + ssot v34",
  "ssot_snapshot_hash": "sha256:e2a8b4...",
  "latency_ms": 124,
  "confidence": "HIGH"
}

Format JSONL (jeden JSON na linię, append-only) jest świadomym wyborem zamiast bazy SQL: plik rośnie liniowo, łatwo go archiwizować, łatwo eksportować dla audytora, a immutability gwarantuje samo systemowe write-only flag (chmod 0444 dla plików zamkniętych).

Replay capability

Każde pytanie z audit log można odtworzyć: (a) ssot_snapshot_hash wskazuje konkretną wersję bazy SSoT (immutable), (b) fact_ids wskazuje, które rekordy SSoT zostały użyte, (c) model_version wskazuje konkretny tag modelu BezChmury 11B. Operator z drugą instancją BezChmury może powtórzyć dokładnie tę samą odpowiedź, przeanalizować inny tor decyzji, lub porównać wersje SSoT po Update Pack.

Retencja

Domyślna retencja: 5 lat (zgodnie z ustawą o rachunkowości art. 71-74 oraz Ordynacją podatkową - okres przedawnienia zobowiązań podatkowych 5 lat od końca roku, w którym minął termin płatności). Dla klientów medycznych konfigurowalna do 50 lat (zgodnie z ustawą o prawach pacjenta - dokumentacja medyczna). Po wygaśnięciu retencji plik jest automatycznie kasowany lub archiwizowany na zewnętrzny nośnik (decyzja klienta).

SEKCJA 7 / 8

Probe metrics - honest framing

Disclaimer: metryka „147/150 PASS" w naszej komunikacji to wskaźnik vendorowy - wynik z własnego probe BezChmury na 150 parach testowych, NIE oficjalny benchmark MF. Państwowy benchmark dla AI w KSeF nie istnieje - MF nie wystawia certyfikatu zgodności AI z systemem KSeF.

Methodology probe v0.4 (150 par)

  • Liczba par: 150 par Q&A tworzonych ręcznie przez zespół BezChmury.
  • Distribution kategorii: 40 kwoty / 30 edge case / 20 anti-stale (wykrywanie nieaktualnych liczb) / 10 chitchat-mixed (smalltalk + KSeF question) / 50 critical (kody błędów + sankcje + B2C).
  • Format pary: question + expected_answer + acceptable_variants (lista 1-5 alternatywnych poprawnych odpowiedzi).
  • Scoring: auditor ręczny + auto scoring (semantic match z keyword boost dla deterministycznych kwot/kodów).
  • Confidence distribution: 80% par „kwoty/dates/error codes" (HIGH confidence - odpowiedź deterministyczna), 20% „edge cases" (MEDIUM confidence - wymaga interpretacji).

Wyniki - ostatnie 3 wersje resolverów

Resolver Probe PASS Komentarz
KSeF Critical Resolver v0.4150 par147/150 (98,0%)3 fails: 1 stale, 1 critical FAIL, 1 ABSTAIN
KSeF Error Resolver v0.1150 par90,7% (136/150)30 entries; 1 stale leak (S040 edge case)
ZUS Co-Pilot v0.4100 par100,0% (100/100)40 kwoty / 30 edge / 20 anti-stale / 10 mixed

Czego „147/150" NIE oznacza

  • Nie jest to benchmark akademicki typu MT-Bench PL czy Polish LLM Eval. BezChmury 11B v3 ma takie benchmarki publicznie (HF leaderboards), ale to inna skala problemu - uniwersalna jakość modelu, nie celne odpowiadanie na pytania KSeF.
  • Nie jest to oficjalny test MF. Państwowy benchmark dla AI w KSeF nie istnieje. Aktualnie MF nie certyfikuje narzędzi AI pod kątem zgodności z systemem.
  • Nie jest to test reprezentatywny dla wszystkich klientów. Probe 150 par to mała próbka vs realne życie biura rachunkowego z 1000+ pytaniami dziennie. Realne deploymenty obserwujemy w trybie production telemetry-free (operator opcjonalnie przesyła feedback negatywny - bez automatycznego call-home).

Honest framing w komunikacji

Polityka produktowa BezChmury jest celowo wąska: ograniczanie ryzyka halucynacji przez SSoT, cytaty i metadane źródłowe - nie „100% accuracy open Q&A". Goodhart's law mówi nam, że gdy przekraczasz 95% na celowanym zakresie, kolejne punkty procentowe oznaczają overfit do probe, nie realnej jakości. Dlatego trzymamy granicę „147/150 PASS na probe" zamiast obiecywać „100%".

Każdy klient enterprise dostaje też dostęp do raportu probe per release (kwartalnie, razem z Update Pack). Pełna lista 150 par + odpowiedzi + diff vs poprzedni release - żeby IT director mógł zobaczyć, gdzie konkretnie BezChmury się poprawia, a gdzie regresuje.

SEKCJA 8 / 8

Roadmap Q2-Q4 2026

  • Q2 2026 - FA(3) v2 monitoring. Jeśli MF wypuszcza minor schema update do FA(3) (historycznie zdarzało się dla FA(2) - kilka korekt rozwojowych), BezChmury wydaje patch SSoT w ciągu 14 dni roboczych od publikacji broszury MF. Bez ruszania pipeline - tylko warstwa fact_ids.
  • Q2 2026 - Critical resolver expansion. Z 13 routes do 20-25, focus na sankcje za niewystawienie, ROZ-zwroty, korekty multi-line (więcej niż jedna pozycja korygowana w tym samym numerze korekty), JPK_V7M timing edge cases.
  • Q3 2026 - BezChmury Mobile (Bielik-PL-Minitron-7B-v3.0). Wariant 7,35B parametrów - kompresja BezChmury 11B przez Minitron technique (33,4% redukcja). Dla starszych laptopów (16 GB RAM bez problemu, przy Q4_K_M wymagane ~5 GB peak memory). Ten sam pipeline, mniejszy fallback model.
  • Q3 2026 - Error resolver expansion z 30 do 50 entries. Focus na JPK_V7M edge cases (różnice JPK_V7M vs JPK_V7K, kwartały vs miesiące), VAT zero-rate vs zwolnienie (różne skutki dla prawa do odliczenia), kasy online edge cases.
  • Q4 2026 - BezChmury Pro 11B v3.1. Aktualizacja modelu BezChmury 11B, jeśli SpeakLeash wypuści następną wersję (release cadence v1 → v2 → v3 wskazuje ~12-miesięczne okno; ETA na podstawie speakleash GitHub roadmap). Ten sam SSoT, nowsze weights, lepsze understanding kontekstu polskiego.
POWIĄZANE

Czytaj dalej

CO DALEJ

Gotowy na test BezChmury KSeF Private?

15-minutowe demo - pokazujemy walidator FA(3), diagnozę kodów 410/440/450 i audit log na konkretnych przykładach z Twojej branży. Bez prezentacji marketingowej, bez podpisywania NDA - od razu konkrety.

Umów demo (15 min) Zobacz cennik

O autorze

Dominik Witanowski - założyciel BezChmury. Architekt pipeline'u KSeF Private + ZUS Co-Pilot. Polski model BezChmury 11B fine-tuned + 630-faktowy SSoT. Goal: prywatne AI dla biur rachunkowych, kancelarii prawnych i firm z tajemnicą zawodową. Stage 3 orchestrator (audit gate + merge), kontakt: dominik@bezchmury.app.

FAQ

FAQ KSeF Private: dwanaście pytań i odpowiedzi

Kiedy KSeF jest obowiązkowy?
Etapowo wg ustawy 05.08.2025 (Dz.U. 2025 poz. 1203): 01.02.2026 dla podmiotów >200 mln zł obrotu 2024 + obowiązek odbioru dla wszystkich; 01.04.2026 pozostali przedsiębiorcy (wystawianie); 01.01.2027 mikro (sprzedaż <10 000 zł/mc). Sankcje pełne od 01.01.2027 (2026 = przejściowo bez sankcji). Pełen harmonogram etapowy.
Co to jest FA(3)?
Schemat XSD faktury ustrukturyzowanej KSeF, obowiązuje od 01.02.2026. Zastępuje FA(1)/FA(2). Korekty do FA(1)/FA(2) wystawiane po 01.02.2026 → też wymagają FA(3) schema. Kluczowe pola: P_2 (numer), P_18A (MPP), P_22 (nowy środek transportu), NrVatUE (zagraniczny VAT UE). Pełna analiza pól FA(3).
Co oznacza błąd KSeF kod 410?
Niewłaściwy zakres uprawnień użytkownika (NIE jest to walidacja merytoryczna treści faktury). Przyczyny: brak roli "Wystawianie faktur", NIP autoryzowany nie ma KSeF token, zmiana uprawnień nie zaaplikowana. Fix: sprawdź uprawnienia w panelu KSeF (api.ksef.mf.gov.pl/web/uprawnienia). Pełen HowTo dla 410.
Co oznacza błąd KSeF kod 440?
Duplikat faktury wykryty przez KSeF na podstawie NIP sprzedawcy + numeru P_2 + rodzaju. Sprawdzanie 10 lat wstecz w bazie KSeF. Typowe przyczyny: retry po timeout, manual restart pipeline. Fix: lokalny idempotency key sha256(NIP+P_2+rodzaj+hash_XML). HowTo: Jak naprawić 440 w 4 krokach.
Co oznacza błąd KSeF kod 450?
Błąd weryfikacji semantyki dokumentu faktury - szeroka klasa błędów semantycznych (NIE biała lista, NIE MPP). Typowe przyczyny: NrVatUE z polskim NIP (zamiast zagranicznym VAT UE), DataSprzedazy > DataWystawienia +30 dni, niezgodność kwot. Fix: walidator FA(3) lokalny przed wysłaniem do KSeF. Pełen kontekst: sekcja kody błędów.
Czy KSeF sprawdza białą listę VAT?
NIE. Cytat MF: "Aktualnie nie jest planowane wprowadzenie takiej funkcjonalności". Biała lista = osobny endpoint API MF (https://wykaz-podatnikow.mf.gov.pl), plik płaski codziennie od 00:01. BezChmury rozwiązanie: lokalny cache pliku płaskiego + walidator dwustopniowy (FA(3) → biała lista → KSeF). Pełen kontekst: biała lista jako osobny krok.
Jak wpisać polski NIP nabywcy w FA(3)?
Polski NIP nabywcy w polu NIP (NIE w NrVatUE!). NrVatUE jest TYLKO dla zagranicznego VAT UE nabywcy. Wpisanie polskiego NIP w NrVatUE = kod 450 (semantyka). To jeden z najczęstszych błędów księgowych biur w Q1 2026. Pełna analiza pól FA(3) z anti-patterns.
Co to jest UPO w KSeF?
Urzędowe Poświadczenie Odbioru - oficjalny dokument KSeF potwierdzający rejestrację faktury w systemie. Pobranie UPO: panel KSeF (api.ksef.mf.gov.pl) lub API. UPO zawiera numer KSeF reference (kluczowy do dedup w przypadku kodu 440). Retencja 10 lat lokalnie zalecana. Zob. audit trail BezChmury.
Czy BezChmury KSeF Private wymaga internetu?
NIE po instalacji. BezChmury KSeF Private działa lokalnie: walidator FA(3) + silnik 11B + RAG + audit log JSONL. Internet wymagany tylko: (1) wysyłka faktury do KSeF (oczywiście - to jest ich API), (2) update SSoT (raz na kwartał), (3) update silnika (gdy nowa wersja). Więcej w architektura on-premise.
Ile kosztuje BezChmury KSeF dla biura rachunkowego?
KSeF Private od 4 990 zł jednorazowo (3 stanowiska) lub Pro Bundle 14 900 zł (10 stanowisk z Kadry/ZUS). Update pack roczny: 990-1 490 zł / rok dla KSeF Private. Bez subskrypcji. Anna case: ROI 3-7× przy stawce 80-150 zł/h. Pełen cennik i case study Anny.
Czy mogę używać BezChmury z systemem księgowym Comarch / Symfonia?
Tak - BezChmury KSeF Private integruje się przez REST API z systemami księgowymi (Comarch ERP Optima, Symfonia, Insert, enova, Wapro). Eksport audit log JSONL kompatybilny z RODO compliance reportingiem. Walidator FA(3) działa standalone (drag&drop XML). Pełen kontekst: architektura BezChmury.
Co dalej po wygaśnięciu update pack?
Aplikacja dalej działa lokalnie na zamrożonej bazie wiedzy SSoT (snapshot z momentu wygaśnięcia). Nowe error codes / harmonogram zmian / FA(3) v2 - wymaga update pack roczny 990-1 490 zł. Brak update = brak nowych funkcjonalności, ALE produkt nadal funkcjonalny dla istniejących workflow. Zob. cennik update packs.

LISTA BETA · ZNIŻKA 30% PRZED LAUNCH

Bądź pierwszy gdy ruszamy w Q3 2026

Dołącz do listy beta – ekskluzywny krąg wczesnych testerów BezChmury. Co 2 tygodnie wysyłam dziennik dewelopera: co buduję, co łamie, co decyduję.

SŁOWNIK POJĘĆ

Słownik pojęć użytych w tym artykule

KSeF
Krajowy System e-Faktur - centralny rejestr faktur ustrukturyzowanych w Polsce. Obligatoryjny etapowo od 01.02.2026.
FA(3)
Schemat XSD faktury ustrukturyzowanej KSeF, obowiązuje od 01.02.2026. Zastępuje FA(1)/FA(2).
P_2
Pole numer faktury w schemacie FA(3). Klucz dedup w wykrywaniu duplikatów (kod 440).
P_18A
Pole MPP (mechanizm podzielonej płatności) w FA(3). Wymagany dla faktur >15 000 zł brutto z określoną kategorią towarów.
P_22
Pole 'nowy środek transportu' w FA(3). Z subfields wymagana dla pojazdów spełniających definicję.
NrVatUE
Pole zagraniczny VAT UE nabywcy w FA(3). UWAGA: polski NIP NIE wpisywać tutaj - polski NIP idzie w pole 'NIP'.
Kod 410
Błąd KSeF: niewłaściwy zakres uprawnień użytkownika. NIE jest walidacja merytoryczna treści faktury.
Kod 440
Błąd KSeF: duplikat faktury wykryty na podstawie NIP sprzedawcy + numeru P_2 + rodzaju. Sprawdzanie 10 lat wstecz.
Kod 450
Błąd KSeF: błąd weryfikacji semantyki dokumentu faktury. Szeroka klasa (nie tylko biała lista czy MPP).
UPO
Urzędowe Poświadczenie Odbioru - oficjalny dokument KSeF potwierdzający rejestrację faktury w systemie.
Idempotency key
Lokalny klucz deduplikacji przed wysłaniem do KSeF: sha256(NIP + P_2 + rodzaj + hash_XML). Prewencja błędów 440.
Biała lista VAT
Wykaz podatników VAT na stronie MF. KSeF NIE sprawdza białej listy automatycznie - osobny krok kontrolny przed wysłaniem.
JPK_V7
Jednolity Plik Kontrolny Vat-7 - miesięczny plik raportowy do MF. BezChmury 11B knowledge: 218 ZUS records + ~130 KSeF facts.
SSoT
Single Source of Truth - lokalna baza wiedzy BezChmury (630 rekordów: 218 ZUS + KSeF + RODO + inne). Snapshot immutable per release.
Audit log JSONL
Format audit trail BezChmury - JSON line per pytanie z timestamp, IP hash, fact_ids, model version. Retencja 5 lat default.

ŹRÓDŁA

Oficjalne źródła i odniesienia

  1. [1]
    Ustawa z 05.08.2025 zmieniająca KSeF (Dz.U. 2025 poz. 1203) - Sejm RP https://isap.sejm.gov.pl/isap.nsf/DocDetails.xsp?id=WDU20250001203 · dostęp: 2026-05-01
  2. [2]
    KSeF - strona główna i harmonogram - Ministerstwo Finansów https://ksef.podatki.gov.pl · dostęp: 2026-05-01
  3. [3]
    FAQ KSeF 2.0 (biała lista nie w KSeF) - Ministerstwo Finansów https://www.podatki.gov.pl/ksef · dostęp: 2026-05-01
  4. [4]
    Broszura informacyjna FA(3) - Ministerstwo Finansów https://www.podatki.gov.pl/ksef · dostęp: 2026-05-01
  5. [5]
    Art. 106ga ustawy o VAT (system informatyczny KSeF) - SIP LEX https://sip.lex.pl/akty-prawne/dzu-dziennik-ustaw/podatek-od-towarow-i-uslug-17086198/art-106-ga · dostęp: 2026-05-01
  6. [6]
    Bielik-PL-11B-v3.0-Instruct - Hugging Face https://huggingface.co/speakleash/Bielik-PL-11B-v3.0-Instruct · dostęp: 2026-05-01
  7. [7]
    GDPR Art. 22 (interwencja człowieka w decyzjach automatycznych) - EUR-Lex https://eur-lex.europa.eu/eli/reg/2016/679/oj · dostęp: 2026-05-01

Wszystkie cytaty dosłowne w artykule pochodzą z powyższych oficjalnych źródeł. Inline odniesienia oznaczone [N] linkują do tej listy.

Chcesz zobaczyć prywatne AI
dla swojej firmy?

Krótkie demo KSeF Private (15 min). Pokażemy lokalne działanie, pytania kontrolne, bazę źródeł i sposób, w jaki BezChmury ogranicza ryzyko halucynacji.

Zapisz się na listę betalub umów demo →