Trzy komunikaty, które wywołaliśmy na środowisku testowym
| Szczegół w komunikacie | Co się stało | Czyja to sprawa |
|---|---|---|
| Wykryto BOM w pliku. | Plik zaczyna się 3 bajtami EF BB BF (znacznik kolejności bajtów). KSeF wymaga UTF-8 bez BOM. | Twoja, jeśli edytowałeś plik ręcznie; inaczej programu. |
| Skrót SHA-256 faktury nie jest zgodny z zadeklarowaną wartością: '…'. | Program policzył skrót z innej treści, niż wysłał. | Programu wysyłającego. |
| Rozmiar faktury nie zgadza się z zadeklarowaną wartością: '…'. | Program podał inny rozmiar pliku, niż wysłał. | Programu wysyłającego. |
{
"status": {
"code": 430,
"description": "Błąd weryfikacji pliku faktury",
"details": ["Wykryto BOM w pliku."]
}
}Środowisko testowe MF, 11.10.2026. Numery referencyjne skróciliśmy, reszta bez zmian.
Skąd bierze się BOM i jak go usunąć
BOM dopisują niektóre edytory i eksporty w Windows, gdy plik zapisuje się jako „UTF-8 z BOM” (np. starszy Notatnik, część eksportów z Excela i programów ERP). W edytorze tego nie widać, ale KSeF odrzuca taki plik zawsze — wymaga tego dokumentacja MF.
- Otwórz plik XML w Notepad++ albo Visual Studio Code.
- Notepad++: menu Kodowanie → Koduj w UTF-8 (bez „BOM”). VS Code: kliknij „UTF-8 with BOM” na pasku stanu → Zapisz z kodowaniem → UTF-8.
- Zapisz plik i wyślij go ponownie.
Jeśli plik generuje program, a błąd się powtarza, zgłoś to dostawcy — program powinien zapisywać XML bez BOM.
Skrót i rozmiar: dlaczego plik „zmienia się” po drodze
Przy wysyłce program podaje KSeF skrót SHA-256 i rozmiar faktury, a potem przesyła zaszyfrowany plik. KSeF odszyfrowuje go i porównuje. Różnica pojawia się, gdy program policzy skrót z jednej wersji pliku, a wyśle inną — np. po zmianie końców linii albo kodowania. To zawsze błąd oprogramowania, nie danych faktury. Ponowna wysyłka czasem pomaga; jeśli nie — zgłoś problem dostawcy.
Inne znaczenia kodu 430
- Status sesji wsadowej: „Błąd dekompresji pierwotnego archiwum” — paczka ZIP jest uszkodzona albo nie jest ZIP-em.
- Operacje na uprawnieniach: „Kontekst identyfikatora nie odpowiada wymaganej roli lub uprawnieniom”.