Krajowy system e-Faktur

WJ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 47
0

Załączniki w FA(3): nie wiem, czy ktokolwiek z nas na tym forum będzie miał okazję implementować ich tworzenie, ale większość będzie musiała zmierzyć się od lutego 2026 z wizualizacją, gdy przyjdą pierwsze faktury za prąd, telefony, karty paliwowe...

Format FA(3) jest już "przyklepany" i zmienić go nie można. W takim razie może przynajmniej warto zasugerować tym "wielkim" dostawcom (np. poprzez jakąś nową wersję broszury informacyjnej MF o FA(3)) aby dodawali na końcu swoich załączników dodatkowy <BlokDanych> zawierający w metadaych pojedynczą parę:

  • o uzgodnionym kluczu - powiedzmy - "xslt"
  • wartości: url do arkusza transformacji, wizualizującej w HTML taki załącznik

To byłoby coś takiego:

Kopiuj
<BlokDanych>
  <MetaDane>
    <ZKlucz>xslt</ZKlucz>  <ZWartosc>https://something.com.pl/faktury/sprzedazy/wizualizacje/transformata-dla-tego-zalacznika.xsl</ZWartosc>
  </MetaDane>
</BlokDanych>

Jeżeli uznacie to za dobry pomysł, to wyślę go do helpdesku MF jako sugestię nowej "dobrej praktyki" związanej z KSeF
(bo chyba nie należy wpisywać go na https://github.com/CIRFMF/ksef-docs/issues, gdyż tam jest dyskusja o API, a FA(3) to inny temat?)

MC
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Część,
Próbuję użyć ksefa pierwszy raz i przechodzę na początek przez autoryzację. Używam klienta .netowego (.net 9) udostępnionego na githubie przez rząd. Zalogowałem się do środowiska testowego i wygenerowałem token. Problem jest jednak w tym że już na etapie wołania na środowisku testowym pustego challenge'a (api/v2/auth/challenge z headerem tylko accept, bez body i parametrów - tak jak jest w udostępnionym kliencie) dostaje 404 NotFound.
Na środowisku demo dostaje z kolei 400 BadRequest. Pewnie coś trywialnego przeoczyłem, będę wdzięczny za wskazówkę.

GL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

Witam,

próbuje pobrać listę faktur za pomocą /online/Query/Invoice/Sync lub asynchronicznie wywołać zapytanie /online/Query/Invoice/Async/Init . Przekazuje Body:

Kopiuj
{
  "queryCriteria": {
    "hidingDateFrom": "2025-08-12T09:13:50.159Z",
    "hidingDateTo": "2025-08-12T09:13:50.159Z",
    "isHidden": true,
    "subjectType": "subject1"
  }
}

ale w odpowiedzi dostaje :

Kopiuj
"exceptionDetailList": [
    {
        "exceptionCode": 21001,
        "exceptionDescription": "Nieczytelna treść."
    }
]

coś nie tak z moim request? sessionToken wysłany w nagłówku

JR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 25
0

Ktoś ma pomysł jak ogarnąć temAT Algorytm szyfrowania: RSA-OAEP (z użyciem SHA-256 jako funkcji skrótu), bez zakupu komercyjnych komponentów.?

WJ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 47
2

Wczoraj opublikowano RC3 API 2.0 - tu jest changelog.
Podoba mi się, że teraz przy każdym z endpointów, który wymaga nagłówka z tokenem, podają to wyraźnie (taki mały paragraf "AUTHORIZATION").
Nie widziałem tego poprzednio - dodano metodę listującą obecne uprawnienia wszystkich w kontekście,
Przy pobieraniu metadanych faktur można precyzyjnie określić, czy np. zakres dat dotyczy otrzymania faktury przez KSeF, jej zarejestrowania (nadania numeru) czy "zapisania w store" (to już zupełna nowość). Przypuszczam, ze odpytywanie po jednym z rodzajów tych dat ma umożliwić "ciągłość bez zaskoczeń" w codziennym pobieraniu faktur zakupu do lokalnej bazy danych...

ZB
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 66
0

Może mi ktoś wyjaśnić powód, dla którego w dokumentacji na githubie przykłady tej samej funkcji w Javie i C# mają inne parametry (liczbę ich), np. tu:

https://github.com/CIRFMF/ksef-docs/blob/main/tokeny-ksef.md

screenshot-20250813125311.png

Albo tu:
https://github.com/CIRFMF/ksef-docs/blob/main/uwierzytelnianie.md

screenshot-20250813125428.png

Btw wyżej stoi:

Ponieważ proces uwierzytelniania jest asynchroniczny, w odpowiedzi zwracany jest tymczasowy token operacyjny (authenticationToken) wraz z numerem referencyjnym (referenceNumber). Oba identyfikatory służą do:

  • sprawdzenia statusu procesu uwierzytelnienia,
  • pobrania właściwego tokena dostępowego (accessToken) w formacie JWT.

co jest także w sumie dziwne, bo niby dlaczego sam referenceNumber nie może tego ogarnąć? Jest wszak unikalny dla tego procesu.

GS
  • Rejestracja: dni
  • Ostatnio: dni
0

@JACA-RARA

Ktoś ma pomysł jak ogarnąć temAT Algorytm szyfrowania: RSA-OAEP (z użyciem SHA-256 jako funkcji skrótu), bez zakupu komercyjnych komponentów.?

Pobierz pakiet bibliotek "Chillkat Softawre" (https://www.chilkatsoft.com/delphiDll.asp). Część funkcji jest płatna (wymaga płatnej aktywacji), ale to czego potrzebujemy jest FREE :)

Kopiuj
function encryptRSAOaepHash256(aPubCert: string; aInput: string; var aOutput: string): integer;
var
  success: boolean;
  pubkey: HCkPublicKey;
  Rsa: HCkRsa;
begin
  result:=-1;
  pubkey := CkPublicKey_Create();
  success := CkPublicKey_LoadFromString(pubkey, PWideChar(aPubCert)); //
  if not success then
    exit;
  Rsa := CkRsa_Create();
  CkRsa_putPkcsPadding(Rsa, False);
  CkRsa_putOaepHash(Rsa, 'SHA-256');
  CkRsa_UsePublicKey(Rsa, pubkey);
  CkRsa_putEncodingMode(Rsa, 'base64');
  aOutput := string(CkRsa__encryptStringENC(Rsa, PWideChar(aInput), false));
  CkPublicKey_Dispose(pubkey);
  CkRsa_Dispose(Rsa);
  result:=0;
end;
VZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
0

Hello, I have a question, is it possible to somehow get the PDF file for the created XML? I saw the PDF in the UI of the app, is it possible to get it from there? or is there some other way? Thank you all in advance.

Dzyszla
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 184
T4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

Po opublikowaniu wersji v2 z początkiem lipca zacząłem mieć problemy z uzyskaniem statusu sesji (/online/Session/Status/).
Na nipie 1111111111 cały czas dostaję 429 (ToManyRequest)

Wydawało mi się że limity są per token a nie per nip, czy coś się zmieniło? Przedtem nie miałem takich problemów.

Dzyszla
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 184
2

Ma być oficjalnie dostępny algorytm liczenia sumy kontrolnej! 😀
https://github.com/CIRFMF/ksef-docs/issues/32#issuecomment-3209667160
A tak przy poprzedniej wersji się wzbraniali.

JS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 22
0

Hej,
Jak wysyłacie faktury w paczce, to w jaki sposób identyfikujcie je po odpytaniu API o status przetwarzania wysłanych dokumentów?
https://ksef-test.mf.gov.pl/docs/v2/index.html#tag/Status-wysylki-i-UPO/paths/~1api~1v2~1sessions~1%7BreferenceNumber%7D~1invoices/get

Po invoiceNumber, referenceNumber, invoiceHash? Potrzebuję zidentyfikować u siebie FV i przypisać do niej numer Ksef...

WJ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 47
0

Porównanie url kodów QR certyfikatu (tzw. "kod QR II") generowanych za pomocą certyfikatu z kluczem RSA i kluczem ECDsa:
RSA:

Kopiuj
https://ksef-test.mf.gov.pl/client-app/certificate/Nip/1234567890/5251469286/627122B31D1E18F8/Ud771AQuFnocLx1ZpW8lGdtVy7cpynzfmzsA_uNMK6w/aphEiwp1llrgRo55QJJ6yoayvCxlI__-fWBZZtxpEGolCI1Atc8PkPEVHKP2j9512f2pKljdIB49RaAfX8CKJ1OXE7cpbabrR6JIsIc1RVjyGI8IevkTgfazdtee-w2D7NQbUHOEthjGugemufRsG2JqnPNFLeQYTKJabEF4aibPgZI5Zger7xrrV8zqR0yIiuS6birBAl9I2_AWSCfNUBgjZaNgW_koW2XkCAofgVfCL82PewaK2Hg_yWVaw9PjQ6CDY6dzIEDgp6eRKt7W7P0ZHRa7t75YPUIq0bcaF8rlKbC4x5PJHRhVCBs4xdh9DZyOXv_yaRxnK7kXSXVB3A

ECDsa:

Kopiuj
https://ksef-test.mf.gov.pl/client-app/certificate/Nip/1234567890/5251469286/2B10A313FDA65344/Ud771AQuFnocLx1ZpW8lGdtVy7cpynzfmzsA_uNMK6w/D_gWzGXCysWRDGmG1_y1rxd5t7jkom0hBLABeWbppsmLZ-qY2eEmaJ-eDA0im05-C26-Do0U4bBDNOo5f3Jvmw

Jak widać, ten "eliptyczny" jest dwa razy krótszy. Załączam przykładową (self-signed) pieczęć firmową z kluczem ECDsa, której użyłem w tym teście (w formacie *.pem i *.pfx), oraz odpowiadające im kody QR:

RSA: CertificateQR-RSA.png i ECDsa: CertificateQR-ECDsa.png oraz wizualizację testowej faktury z kodami OFFLINE (ECDsa) FA_3_Przykład_11.pdf
Aby zachować ten sam rozmiar elementarnego "kwadracika" w kodach QR I (faktury) i QR II (certyfikatu), długość boku kodu QR II certyfikatu ECDsa = 4/3 długości boku kodu QR faktury. W przypadku kodu QR certyfikatu RSA ten współczynnik jest zbliżony do 2.

M4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 58
0

Mam pytanie, mam napisać system pobierania faktur które są w ksef do mojej firmy. Czy dobrze rozumie że aby połączyć się z ksef moja firma musi otrzymać certyfikat, na podstawie tego certyfikatu uzyskuje komunikację z ksef i pobieram wszystkie faktury jakie są i że środowisko testowe czyli faktycznie czy działa sprawdzę 30 września, co jeszcze potrzebuje i kto zarządza certyfikatami w kwestii bezpieczeństwa?

M4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 58
0
mores4 napisał(a):

Mam pytanie, mam napisać system pobierania faktur które są w ksef do mojej firmy. Czy dobrze rozumie że aby połączyć się z ksef moja firma musi otrzymać certyfikat, na podstawie tego certyfikatu uzyskuje komunikację z ksef i pobieram wszystkie faktury jakie są i że środowisko testowe czyli faktycznie czy działa sprawdzę 30 września, co jeszcze potrzebuje i kto zarządza certyfikatami w kwestii bezpieczeństwa?

a jakie jest bezpieczeństwo, gdy np ktoś wykradnie certyfikat ?

Dzyszla
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 184
0

Taka ciekawostka - ustawa o KSeF wciąż nie ma podpisu prezydenta :) Ciekawe, czy można by pisać do KP o to, by nie podpisywał, a przesunąć termin, bo to co będzie (do 30 września wciąż nie znamy pełnej i ostatecznej specyfikacji i coś czuję, że nawet po 30 września dalej tak będzie mimo uruchomienia testów), to znów wszystko pisane na łapu-capu bez porządnych testów. Te będą w momencie, jak ludzie stworzą i poprawią, dopracują swoje rozwiązania. Wtedy dopiero zaczną wychodzić (jak w poprzednim systemie, gdzie umieszczając polską literę w numerze telefonu zawieszałem cały system).
https://www.pit.pl/aktualnosci/los-ksef-niepewny-czy-prezydent-podpisal-ustawe-o-krajowym-systemie-e-faktur-1011567

WJ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 47
0

A po stronie KSeF API mamy RC 4:
https://github.com/CIRFMF/ksef-docs/blob/main/api-changelog.md

Jak się okazuje, certyfikat do tworzenia QR II w trybie offline to będzie rodzaj całkiem odrębny, stworzony wyłącznie do tego celu. W sumie może i lepiej - zrobi się jeden "bezosobowy" (? - pytałem o to na ksef-docs, na razie nikt mojego pytania nie ruszył), dla całej firmy. Siłą rzeczy taki "awaryjny" certyfikat i musi być do wykorzystania przez każdego z fakturujących, więc lepiej, że nie można się nim logować.

M4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 58
0

Mam pytanie jak przechowywać w swoim systemie faktury pobrane z ksef, ksef odsyła xml z fakturą, należy prze mapować scheme FA(3) na encje i w nich trzymać poszczególne dane z xml ?

M4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 58
0

później takie faktury mam odsyłać po api do poszczególnych naszych systemów w zależxności od nip

MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10
1

https://ksef.podatki.gov.pl/wyjasnienia/we-wrzesniu-zamiana-srodowisk-testowych-z-ksef-10-na-ksef-20/

Cudnie:

1 września zostanie wyłączone środowisko testowe obecnej wersji KSeF 1.0. To kolejny krok do wprowadzenia obligatoryjnego Krajowego Systemu e-Faktur.
30 września obecną wersję środowiska testowego KSeF 1.0 zastąpi nowe środowisko testowe KSeF 2.0.
• Dotychczasowi użytkownicy wersji produkcyjnej KSeF 1.0 nadal mogą z niej korzystać, aż do 26 stycznia 2026.
1 września 2025 r. zostanie wyłączona wersja testowa Krajowego Systemu e-Faktur, czyli KSeF 1.0. W praktyce oznacza to, że aby zostać nowym użytkownikiem KSeF należy poczekać na nowe środowisko testowe KSeF 2.0. Użytkownicy obecnego systemu produkcyjnego KSeF 1.0 nadal mogą z niego korzystać, aż do przerwy technicznej, która nastąpi między 26 a 31 stycznia 2026 r. Od 1 lutego 2026 r. resort finansów uruchomi docelową wersję systemu, czyli KSeF2.0.

Od 3 listopada 2025 r. użytkownicy będą mogli rozpocząć testowanie Aplikacji Podatnika KSeF 2.0 w środowisku testowym. Następnie, 15 listopada, Ministerstwo Finansów udostępni aplikację w środowisku przedprodukcyjnym.

Edit:
screenshot-20250901082632.png

RA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 58
0

Ma ktoś może przykład wizualizacji UPO (najlepiej takiego dla kilku faktur)?

JK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 37
0

Chyba były tu głosy, że nie można zwalidować numeru KSeF bo nie jest znany algorytm
No to już jest https://github.com/CIRFMF/ksef-docs/blob/main/faktury/numer-ksef.md

BS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 34
0

wysyłka wsadowa w api 2. jest tylko otwarcie i zamknięcie, tzn że samo wysłanie po staremu?

WJ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 47
0

Wyjaśniło się trochę, co dokładnie będą certyfikować certyfikaty KSeF (por https://github.com/CIRFMF/ksef-docs/issues/33).

Wniosek: jeżeli chcecie mieć certyfikaty bez PESEL-i widocznych w polach Subject, to występujcie zawczasu o pieczęcie firmowe!

M0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 12
0

Kodzicie już drugą wersje ksefa czy czekacie do 30 września na nowe środowisko?

LI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Czołem!
Mam pytanie totalnie dla laika. Jak się zabrać za implementację z ksefem? Gdy chcę wysłać fakturę w schemacie FA(3) to muszę wpierw się uwierzytelnić. Chodzi mi o rozwiązanie wystawienia faktury poprzez firmę. Jak dokładnie tego dokonać i na jakim certyfikacie należałoby się skupić? Rozumiem, że trzeba wywołać 1 sesję na wysłanie jednej faktury. Potem sprawdzić potwierdzenie w UPO. Po takim procesie uznajemy, że w aplikacji, która jest zintegrowana z ksefem oznaczamy taką fakturę, że dotarła. W momencie, gdy coś się nie powiedzie w komunikacji z ksefem to wtedy taką fakturę przerzucamy w tryb offline? Rozmyślam nad flow takiego wystawienia faktury - jak zrobić to w pełni poprawnie.

WJ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 47
1

Okazuje się, że udostępniony algorytm liczenia sumy kontrolnej numerów KSeF nie działa poprawnie dla numerów KSeF faktur wystawionych w API 1.x
Szczegóły w tym zgłoszeniu: https://github.com/CIRFMF/ksef-client-csharp/issues/26.
Może dopisać to samo jeszcze w https://github.com/CIRFMF/ksef-docs/issues? (Tam jakby szybciej odpowiadają...)
Jakbyście mieli jakiś "świeższy" numer z aktualnej wersji KSeF niż moje faktury z połowy 2023, to chętnie sprawdzę....

EDIT: Jakiś czas na tym forum ktoś wrzucił JS sprawdzajacy checksumy w numerach KSeF API 1.x. Towarzyszy mu taka poręczna stronka html, która pozwala je interaktywnie sprawdzać (załączam w zipie) SprawdźNumerKSeF.zip. Tam te numery (moje i @Dzyszla) są raportowane jako poprawne. Wniosek - zmiana algorytmu pomiędzy API 1.x i 2.0. Niedobrze.

EDIT2: no i mamy odpowiedź - "to efekt zamierzony".

ZB
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 66
0

Kwestia sesji. W dokumentacji widzę, że wysłanie faktury interaktywnie ma taki endpoint:

Kopiuj
https://ksef-test.mf.gov.pl/api/v2/sessions/online/{referenceNumber}/invoices

czyli w linku jest numer sesji. To oznacza, że można mieć równolegle wiele sesji. Czy ktoś mi powie czy wiele sesji ma praktyczne zastosowanie i jakie?

M4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 58
0

Kojarzycie może jakiś automat który mi wygeneruje tabele i słowniki ze schema.xsd (używam php i symfony)

M4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 58
0
mores4 napisał(a):

Kojarzycie może jakiś automat który mi wygeneruje tabele i słowniki ze schema.xsd (używam php i symfony)

Chodzi mi oto żebym mógł po odczytaniu faktury rozparsować xml i zapisać w bazie danych

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.