Dlaczego data na fakturze z KSeF bywa myląca?
Krajowy System e-Faktur zapisuje datę w XML-u w formacie ISO RRRR-MM-DD (np. 2026-03-09), ale różne programy odczytujące ten sam plik potrafią wyświetlić ją inaczej – dzień na pierwszym miejscu albo miesiąc na pierwszym miejscu. Przy dacie takiej jak 03.09 łatwo pomylić 9 marca z 3 września. KSeF Import eksportuje tę datę zawsze w jednym, niezmiennym formacie RRRR-MM-DD, więc arkusz i tak posortuje ją poprawnie – nawet jeśli nie wyświetlisz jej wprost.
-
XML faktury KSeF (schemat FA(3)) zapisuje datę wystawienia i datę sprzedaży w formacie ISO
RRRR-MM-DD– to jedyny format, jaki system przyjmuje. - Widok w portalu, PDF-owa wizualizacja czy inny program księgowy mogą pokazać tę samą datę w odwrotnej kolejności dnia i miesiąca – ryzyko pomyłki rośnie przy datach od 1 do 12 dnia miesiąca.
-
KSeF Import eksportuje obie daty (wystawienia i sprzedaży) jako czysty tekst
RRRR-MM-DDdo Arkuszy Google, Excela i CSV – bez konwersji na format regionalny, który mógłby ukryć błąd. -
Format
RRRR-MM-DDsortuje się poprawnie alfabetycznie i liczbowo w każdym arkuszu, więc filtrowanie „od–do” i formuły dat działają bez dodatkowych sztuczek.
W tym artykule
Od problemu do efektu
PWEJeden program pokazuje 03.09 jako 3 września, inny jako 9 marca. Przy ręcznym przepisywaniu z podglądu faktury do arkusza taka pomyłka trafia prosto do rejestru kosztów i psuje zestawienie za miesiąc.
KSeF Import pobiera datę wprost z pola XML i zapisuje ją w arkuszu jako RRRR-MM-DD – dokładnie tak, jak wymaga tego sam KSeF. Nie ma etapu „tłumaczenia” na format regionalny, więc nie ma miejsca na pomyłkę.
Kolumna z datą w arkuszu zawsze czyta się jednoznacznie i sortuje poprawnie – zarówno przy ręcznej kontroli, jak i przy formule filtrującej miesiąc rozliczeniowy.
Dlaczego jedna data ma dwie różne twarze
Faktura ustrukturyzowana w KSeF ma dwie kluczowe daty: datę wystawienia (pole P_1 w strukturze FA(3)) i datę sprzedaży (pole P_6 – faktyczny dzień dostawy towaru lub wykonania usługi). Obie zapisane są w XML w formacie RRRR-MM-DD, zgodnym z normą ISO 8601 – to jedyny format, jaki KSeF akceptuje przy wysyłce faktury.
Problem zaczyna się przy odczycie. Portal KSeF, generowana z niego wizualizacja PDF, program księgowy odbiorcy i arkusz kalkulacyjny – każdy z tych systemów może zastosować własny format wyświetlania: dzień-miesiąc-rok, miesiąc-dzień-rok albo rok-miesiąc-dzień. Dla dat po 12. dniu miesiąca (np. 25.03) pomyłka jest niemożliwa, bo nie ma miesiąca nr 25. Ale dla dat od 1 do 12 – a to niemal połowa dni w miesiącu – ta sama liczba może oznaczać dwie różne daty, zależnie od tego, w jakim programie ją czytasz.
Sam KSeF wewnętrznie trzyma się formatu RRRR-MM-DD bez wyjątków. Ryzyko pojawia się dopiero na styku różnych narzędzi – gdy ten sam plik XML trafia do systemu, który renderuje daty w swoim, lokalnym formacie i nie zaznacza tego przy dacie.
Co naprawdę jest w XML-u faktury
Struktura logiczna FA(3), według której KSeF przyjmuje i przechowuje faktury, definiuje pola dat jako typ znormalizowany do formatu RRRR-MM-DD. Faktura z błędnym formatem daty (np. dniem i miesiącem zamienionymi miejscami tak, że dzień przekracza 12) może zostać odrzucona już na etapie walidacji struktury – zapis niezgodny z typem daty nie przechodzi przez bramkę wejściową KSeF.
| Pole w XML FA(3) | Co oznacza | Format zapisu |
|---|---|---|
| P_1 | Data wystawienia faktury | RRRR-MM-DD |
| P_6 | Data sprzedaży (dostawy/usługi) | RRRR-MM-DD |
| DataWytworzeniaFa (Nagłówek) | Data wytworzenia faktury, ustawiana po stronie wystawcy | znacznik czasu ISO 8601 |
To, że sam plik źródłowy jest jednoznaczny, nie oznacza, że jednoznaczny pozostaje każdy jego odczyt. Gdy program pobiera wartość z pola P_6 i renderuje ją na ekranie własną funkcją formatującą datę, może zastosować ustawienia regionalne systemu operacyjnego albo domyślne dla danego frameworka – a te bywają różne w zależności od instalacji. Sama data nadania numeru KSeF nie jest zresztą polem w pliku faktury – to metadana zwracana osobno przez API systemu przy pobieraniu dokumentu, nie zawartość XML-a.
Zobacz, jak KSeF Import pobiera faktury kosztowe i układa je w gotowy arkusz.
Gdzie realnie pojawia się ryzyko pomyłki
Trzy sytuacje, w których zamiana dnia z miesiącem najczęściej trafia do księgowości:
- Ręczne przepisywanie z podglądu faktury – osoba wpisuje datę „na oko” z ekranu do arkusza lub programu, bez sprawdzenia, w jakim formacie widzi ją akurat ten podgląd.
- Import z innego systemu do arkusza – narzędzie, które parsuje XML i wypisuje datę własnym formatem regionalnym (np. amerykańskim, gdzie miesiąc jest pierwszy), a plik trafia dalej bez adnotacji, jaki to format.
- Porównywanie dwóch źródeł tej samej faktury – np. PDF od kontrahenta i eksport z KSeF pokazują tę samą datę zapisaną inaczej, co przy uzgadnianiu rejestru kosztów wygląda jak rozbieżność, choć data jest ta sama.
Skutek jest wymierny: faktura z 3 września zaksięgowana pod marcem trafia do złego miesiąca w rejestrze kosztów, przesuwa moment ujęcia wydatku i przy uzgodnieniu z JPK_V7 wygląda jak brakująca pozycja – patrz uzgodnienie faktur KSeF z JPK_V7 w Excelu.
Jak KSeF Import eksportuje datę, żeby nie było wątpliwości
Eksport faktur z KSeF do Excela, CSV i PDF nie „tłumaczy” dat na format regionalny – zapisuje je dokładnie tak, jak przyjmuje je sam KSeF: RRRR-MM-DD, w obu kolumnach naraz (data wystawienia i data sprzedaży).
-
1
Arkusze Google (Solo i wyżej)
Komórka z datą trafia jako tekst RRRR-MM-DD – Arkusze Google rozpoznają ten format automatycznie i poprawnie go sortują, bez ustawień regionalnych po Twojej stronie.
-
2
Excel i CSV (od planu Firma)
Ta sama zasada: kolumny „Data wystawienia” i „Data sprzedaży” w pliku .xlsx/.csv zawierają wartość RRRR-MM-DD, niezależnie od domyślnego formatu daty w Twoim Windowsie czy macOS.
-
3
Sortowanie i filtrowanie
Format RRRR-MM-DD sortuje się poprawnie jako zwykły tekst – funkcje takie jak SORT, FILTER czy warunek „od–do” w tabeli przestawnej działają bez konwersji.
Jeśli w arkuszu widzisz datę jako np. 2026-09-03, pierwsze cztery cyfry to zawsze rok, kolejne dwie to miesiąc, ostatnie dwie to dzień – ten porządek się nie zmienia, więc nie trzeba zgadywać przy żadnej dacie w pliku.
Konfigurację kolumn (w tym kolejność i to, którą datę pokazać jako pierwszą) ustawiasz raz w panelu – każdy kolejny eksport wychodzi już w tym samym, sprawdzonym układzie.
Najczęstsze pytania
Krótkie, konkretne odpowiedzi na pytania, które zadają użytkownicy i wyszukiwarki.
W formacie ISO RRRR-MM-DD, np. 2026-09-03. To jedyny format, jaki system przyjmuje przy wysyłce faktury – dokument z datą w innym zapisie zostanie odrzucony na etapie walidacji.
Nie. Data trafia do arkusza dokładnie w takim formacie, w jakim zapisana jest w XML faktury – RRRR-MM-DD – bez konwersji na format regionalny, który mógłby ukryć pomyłkę dnia z miesiącem.
Każdy program, który odczytuje plik XML, może zastosować własny sposób wyświetlania daty na ekranie – dzień na pierwszym miejscu albo miesiąc na pierwszym miejscu. Sam plik źródłowy się nie zmienia, zmienia się tylko sposób jego prezentacji.
W formacie RRRR-MM-DD kolejność jest stała: rok, potem miesiąc, potem dzień. Jeśli widzisz zapis w innym programie i nie masz pewności, sprawdź datę graniczną powyżej 12 – ta pozycja może być tylko dniem, nigdy miesiącem, co pozwala ustalić kolejność dla całego pliku.
Tak, jeśli faktura trafi do złego miesiąca w rejestrze – zobacz artykuł o terminie odliczenia VAT z faktury KSeF, gdzie opisujemy, która data faktycznie liczy się dla urzędu skarbowego.
Inżynier integracji KSeF. Odpowiada za połączenia z API Krajowego Systemu e-Faktur, automatyzacje i parsowanie struktury logicznej FA(3).
