Czy jest sposób na pobranie metadanych faktury mając tylko numer KSeF? Jedna metoda od pobieranie daje tylko XML z fakturą. Z kolei metoda od pobierania metadanych faktur ma co prawda filtr na numer KSeF, ale jednocześnie pola subjectType i dateRange w filtrze są jako required, więc jest kłopot.
Da się pobrać metadane inaczej?
Krajowy system e-Faktur
- Rejestracja: dni
- Ostatnio: dni
- Postów: 66
- Rejestracja: dni
- Ostatnio: dni
- Postów: 14
Czy pojawiło się jakieś rozwiązanie problemu, gdzie KSeF nie akceptuje XML-a którego sam wygenerował, nie mówiąc o wygenerowanym na zewnątrz, mimo że ten przechodzi test schemy? Przy imporcie przez API faktury są odrzucane, a przy imporcie przez stronę "Plik XML zawiera błędy" - mimo że wizualizacja działa i pokazuje ładną fakturę.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 185
AI przerobiła mi biblioteki od wizualizacji na EXE i ten EXE może równie dobrze przyjmować plik jak i strumień. 40MB.
Próbuję jeszcze zrobić DLL, ale uparł się i opakowuje tego EXE tylko. Chcę, żeby była w pełni autonomiczna, ale ciężko idzie i ciągle jeśli już coś wypluje, to wymaga nodeJS runtime zainstalowanego.
Ktoś by chciał takiego exe? Nie wiem, czy będę mógł źródła opublikować - na razie jeszcze mimo wszystko męczę drugą opcję.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 27
Czołem ekipa, orientujecie sie, czy MCU juz dziala przedprodukcyjnie i mozliwe jest generowanie certyfikatow do uwierzytelniania?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 25
Trochę śmiech przez łzy, ale właśnie zorientowałem się, że w swoim kliencie od 30.09 miałem takiego babola > https://github.com/N1ebieski/ksef-php-client/blob/v0.14.2/src/Requests/Sessions/Online/Send/SendRequest.php#L20
Jeśli do tej pory nikt tego nie wyłapał to znaczy, że nikt kto z niego korzysta jeszcze nawet nie dotarł do etapu implementacji korekt technicznych dla faktur offline. I my mamy zdążyć na 01.02 xD
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1
Cześć! Czy też macie tak, że certyfikatów KSeF utworzonych przez API nie widać w aplikacji test? Analogicznie tworzone tokeny KSeF widzę.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 8
po przekonwertowaniu pliku xsl+xml na html mam GROUP SPĂ“ĹKA Z O , ktoś to robił i ma ok ? jakieś wskazówki ? ( w jpk mam taką samą metodę a jest ok)
- Rejestracja: dni
- Ostatnio: dni
- Postów: 62
Czy są jakieś estymaty czasu przetwarzania faktury przez ksef? Wiadomo, że kodu to nie interesuje za bardzo ale jak zwykle stawiam się w roli użytkownika i myślę, że wolałby on nie drukować faktur offline. Oczywiście nie ma szans ich uniknąć ale gdybyśmy wiedzieli, że to będzie ok pół minuty albo około 5 minut to można by kminić jakiś flow w guju "drukuj_prawie_natychmiast_ale_jak_się_przeciąga_trochę_to_już_pozwól_kolejną_fakturę_wystawiać". Tylko nie ma sensu pakować w to pary jeśli nie wiadomo czy ma to sens. Słyszał ktoś coś?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 8
Przeczytałem podręcznik 2.5.7. Certyfikat KSeF a zakres uprawnień oraz inne wyjaśnienia dotyczące pracy w biurze rachunkowym .
Proszę o potwierdzenie , czy dobrze rozumiem :)
- "Fizycznie" nie potrzebuje certyfikatów klientów biura rachunkowego, tylko mój certyfikat (na biuro) zawiera/odczytuje z KSEF uprawnienia nadane przez klientów ?
- I przez program komercyjny loguje się swoim certyfikatem KSEF i działam już na danych odpowiedniej firmy , która nadała mi uprawnienia ?
Z góry dziękuję !
- Rejestracja: dni
- Ostatnio: dni
- Postów: 185
Generator PDF dla WIndows (exe)
Ok, chyba nie pochrzaniłem niczego
https://github.com/Dzyszla/ksef-pdf-generator-win64/releases/tag/Win64-executable
W załącznikach można pobrać 7zip z exe. Jak ktoś chce budować, to w BUILD_EXE.md jest opis.
Przykład użycia na strumieniu:
ksef-pdf-generator.exe --stream --nrKSeF "ABC" --qrCode "http://www/" -t invoice < "fa.xml" > out.pdf
W helpie są co prawda wywołania dla node, ale to się do exe też odnosi. Moze kiedyś przerobię na spokojnie.
@v2 wołam
EDIT: I wjeżdża wersja 0.2 z obsługą parametrów w QR - myślę, że pokochacie ten fature
https://github.com/Dzyszla/ksef-pdf-generator-win64/releases/tag/Win64-exe-v.0.2
Teraz wystarczy wywołać:
ksef-pdf-generator.exe --stream --nrKSeF "ABC" --qrCode "https://ksef-test.mf.gov.pl/client-app/invoice/{nip}/{p1}/{hash}" -t invoice < "FA_3_Przykład_1.xml" > out.pdf
Nie trzeba samemu przekazywać NIP, daty czy liczyć hasha!
I przykładowy kod dla Delphi wywołujący:
procedure GenPDF(const aXML: TStream; const ANrKSeF: string; const aXMLType: TXMLType; const aOutStream: TStream);
const
C_BUFF_SIZE = 32 * 1024;
var
SI: TStartupInfo;
PI: TProcessInformation;
Sec: TSecurityAttributes;
StdInRead, StdInWrite: THandle;
StdOutRead, StdOutWrite: THandle;
Cmd: string;
BytesRead, BytesWritten: Cardinal;
Buffer: array [0 .. C_BUFF_SIZE - 1] of Byte;
res: Integer;
begin
// Rurki muszą być dziedziczone
Sec.nLength := SizeOf(Sec);
Sec.lpSecurityDescriptor := nil;
Sec.bInheritHandle := True;
// STDIN pipe
if not CreatePipe(StdInRead, StdInWrite, @Sec, 0) then
RaiseLastOSError;
if not SetHandleInformation(StdInWrite, HANDLE_FLAG_INHERIT, 0) then
RaiseLastOSError;
// STDOUT pipe
if not CreatePipe(StdOutRead, StdOutWrite, @Sec, 0) then
RaiseLastOSError;
if not SetHandleInformation(StdOutRead, HANDLE_FLAG_INHERIT, 0) then
RaiseLastOSError;
ZeroMemory(@SI, SizeOf(SI));
SI.cb := SizeOf(SI);
SI.dwFlags := STARTF_USESTDHANDLES or STARTF_USESHOWWINDOW;
SI.wShowWindow := SW_HIDE;
SI.hStdInput := StdInRead;
SI.hStdOutput := StdOutWrite;
SI.hStdError := StdOutWrite; // też przekierowujemy na wypadek błędów
ZeroMemory(@PI, SizeOf(PI));
case aXMLType of
xtUPO1, xtUPO3:
Cmd := Format('"%sKSeF-PDFGen.exe" --stream -t upo', [ExtractFilePath(ParamStr(0))]);
else
Cmd := Format('"%sKSeF-PDFGen.exe" --stream --nrKSeF "%s" --qrCode "%s" -t invoice', [ExtractFilePath(ParamStr(0)), ANrKSeF, 'https://ksef.mf.gov.pl/client-app/invoice/{nip}/{p1}/{hash}' ]);
end;
if not CreateProcess(nil, PChar(Cmd), nil, nil, True { dziedziczenie uchwytów}, CREATE_NO_WINDOW, nil, nil, SI, PI) then
RaiseLastOSError;
CloseHandle(StdInRead); StdInRead := 0;
CloseHandle(StdOutWrite); StdOutWrite := 0;
// ---- Piszemy dane do STDIN procesu ----
try
if Assigned(aXML) then
begin
aXML.Position := 0;
while True do
begin
BytesRead := aXML.Read(Buffer, SizeOf(Buffer));
if BytesRead = 0 then
Break;
if not WriteFile(StdInWrite, Buffer, BytesRead, BytesWritten, nil) then
RaiseLastOSError;
end;
end;
// Zamykamy STDIN – proces musi wiedzieć, że nie będzie więcej danych
CloseHandle(StdInWrite);
StdInWrite := 0;
// ---- Czytamy STDOUT procesu ----
if Assigned(aOutStream) then
begin
repeat
if not ReadFile(StdOutRead, Buffer, SizeOf(Buffer), BytesRead, nil) then
Break;
if BytesRead > 0 then
aOutStream.WriteBuffer(Buffer, BytesRead);
until BytesRead = 0;
end;
// Czekamy na zakończenie procesu
WaitForSingleObject(PI.hProcess, INFINITE);
GetExitCodeProcess(PI.hProcess, DWORD(res));
if res <> 0 then
raise Exception.CreateFmt('Run-time exception #%d', [res]);
finally
if StdInWrite <> 0 then
CloseHandle(StdInWrite);
if StdOutRead <> 0 then
CloseHandle(StdOutRead);
CloseHandle(PI.hThread);
CloseHandle(PI.hProcess);
end;
end;
Z takich niewiadomych to typ odróżnia, czy to jest UPO czy faktura - można uprościć sobie, ja używam bardziej złożonego na inne potrzeby też.
Oczywiście można sobie też dodać obsługę linków dla innych środowisk (wstawiłem stały tekst w przykładzie)
- Rejestracja: dni
- Ostatnio: dni
- Postów: 24
Mam obecnie zrobioną autoryzację certyfikatem oraz wysyłkę wsadową (online), czego potrzebuję jeszcze żeby moc w minimalnym stopniu wdrożyć w firmie ksef? Co tak naprawdę powinno być moim priorytetem w obecnej chwilii? Planuję brać się za wizualizację i pobieranie faktur, kody QR oraz tryb offline.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 58
Chce się upewnić, aby się uwierzytelnić z ksef powinienem od księgowej w firmie której pracuje otrzymać certyfikat, klucz prywatny oraz hasło ? Tak się uwierzytelniam na mojej JDG
- Rejestracja: dni
- Ostatnio: dni
- Postów: 6
Odnośnie faktur Online / Offline:
- Czy mogę korzystać zawsze z trybu Offline(offline24), czyli każda faktura wystawiona w flagą Offline i dosyłam je później do 24h? Czy musi być rzeczywisty powód aby móc skorzystać z trybu Offline(offline24)?
- https://ksef.podatki.gov.pl/informacje-ogolne-ksef-20/potwierdzenie-transakcji - na tej stronie www oraz w podręczniku KSEF jest podane, że gdy Nabywca jest podatnikiem krajowym z NIP to w trybie Offline(offline24) mogę mu wydać jedynie potwierdzenie transakcji (a nie fakturę z dwoma QR). Co jeśli niezależnie od Nabywcy wydawałbym zawsze fakturę Offline z dwoma kodami QR, czy jest to dopuszczalne?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 13
Po wysłaniu faktury i odpytaniu /api/v2/sessions/{sessionReferenceNumber}/invoices/{invoiceReferenceNumber} za pierwszym razem mimo tego, że faktura została już przetworzona, dostała swój numer ksef to pole permanentStorageDate jest null. Czy ktoś się z tym spotkał i ma jakiś pomysł poza odpytaniem drugi raz albo poczekaniem przed odpytaniem? Doprecyzuje, że zanim edpytam ten endpoint to czekam dopóki cała sesja się nie przetworzy
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2
Przestroga dla deployujących swoje rozwiązanie na infrastrukturze klientów: Imperva a Chiny - testujcie wcześnie...
Swoją drogą to jakiś żart, że Imperva ingeruje w poprawnie skonstruowane żądania a klient nie ma historii naruszeń...
- Rejestracja: dni
- Ostatnio: dni
- Postów: 46
"Podczas wystawiania faktury w środowisku przedprodukcyjnym (Demo) należy używać fikcyjnych danych. " czyli wystawiać faktury na losowe NIPy i nieistniejace nazwy i adresy? Czy na NIPy klientów, ale testowe faktury? Jak rozwiązać testowanie na demo?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 185
Cóż za skok w numeracji wersji - mamy 6.0!
Changelog ma ponad półtora ekranu https://github.com/CIRFMF/ksef-docs/blob/2.0.0-RC6.0/api-changelog.md
Wreszcie limity są na teście możliwe do testowania!
Zmieniono pobieranie przyrostowe.
Dodano UPO 4.3
NO to zaczynamy zabawę od nowa, wersja do wyrzucenia.
Zapowiedziano kolejne dwie nowe aktualizacje - 19 i 22.12 :) Co prawda można już testować to, co wtedy wejdzie, ale co jeszcze wejdzie...?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1
Czy ktoś spotkał się z problemem (w środowisku testowym), że dokumenty wysyłane przy pomocy biblioteki ksef-client-csharp w sesji Interaktywnej (metody SendOnlineSessionInvoiceAsync) otrzymuje tryb InvoicingMode.Offline a nie Online?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 7
Czy mogę prosić kolegów i koleżanki o wystawienie KILKU faktur na NIP 5711327442 w środowisku testowym ?
Z góry dziękuję...
- Rejestracja: dni
- Ostatnio: dni
- Postów: 46
Nowa aktualizacja repozytorium KSeFClient
https://github.com/bsdnetpl/KSeFClient
Projekt został zaktualizowany i rozbudowany o dodatkowe funkcje.
Wszystkie szczegóły, przykłady użycia i opis integracji dostępne są w repozytorium.
W sprawie integracji, wsparcia technicznego lub wdrożenia biblioteki w Twoim systemie proszę o kontakt:
adrian@bsd-net.pl
Możliwe integracje:
C++ – aplikacje desktopowe lub serwisowe
PHP – sklepy internetowe, panele administracyjne, systemy ERP
C# / .NET – aplikacje biznesowe, API REST, usługi serwerowe
Frontend (React / Angular) – integracja poprzez REST API
Istnieje możliwość uruchomienia klasy PHP na dowolnym hostingu w ramach usługi integracji.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 4
Czy udało się komuś wysłać fakturę RR? Mógłbym prosić o przykładowy XML?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 185
[Delphi] i day z czasem
Jak sobie radzicie z tym problemem precyzji zapisu czasu z dokładnością do 100ns? TDateTime na ten moment ma błąd ok 600ns, więc już dyskwalifikujący 7 miejsc po przecinku, a nawet 6 miejsc...
Co prawda zrobiłem funkcje, które zamieniają String<->TDateTime, ale co któreś trafienie i tak jest błędne. Zaczyna mnie korcić utworzenie własnego rekordu, gdzie część ułamkowa czasu byłaby na osobnym polu (choć nawet tam niewygodnie będzie trzymać femtosekundy, jak sobie ubzdurają zaraz jeszcze większą dokładność bo ktoś może zechce badania nad kwantowym aspektem istnienia faktur robić).
- Rejestracja: dni
- Ostatnio: dni
- Postów: 28
W środowisku demo złożyłem przez API, używając pieczęci firmowej, jakieś wnioski certyfikacyjne, i dostały status 200. Ale jak się loguję tą samą pieczęcią do Aplikacji podatnika, to tam żadnych certyfikatów nie widać. Wie ktoś dlaczego?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 62
No nie mogę się powstrzymać przed napisaniem posta. Widzieliście, że w AP kod qr w podglądzie html jest w rozmiarze L ale po pobraniu pdf'a jest już M?
Na szkoleniach dla księgowych, które nie mają nic lepszego do roboty niż się czepiać, powinni informować że to jeden grzyb :)
- Rejestracja: dni
- Ostatnio: dni
- Postów: 13
Walczę z wysyłką wsadową paczki faktur w Delphi Tokyo.
function TKsefObs2.Wsadowa_wysylka_paczki(accessToken,nmZb,referenceNumber,url:string):integer;
var
fs:tfileStream;
resp:string;
begin
fs:=tfilestream.Create(nmZb,fmOpenRead);
fs.Seek(0,0);
try
RRequest.Resource:='';
RRequest.Client.baseUrl:=url;
RRequest.Method:=rmPut;
RRequest.Params.clear;
RRequest.Params.AddItem('referenceNumber',referenceNumber,pkHTTPHEADER,[poDoNotEncode]);
RRequest.Params.AddItem('ordinalNumber','1',pkHTTPHEADER,[poDoNotEncode]);
RRequest.Params.AddItem('Content-Type','application/octet-stream',pkHTTPHEADER,[poDoNotEncode]);
RRequest.Params.AddItem('x-ms-blob-type','BlockBlob',pkHTTPHEADER,[poDoNotEncode]);
RRequest.AddBody(fs, ctAPPLICATION_OCTET_STREAM);
RRequest.Execute;
result:=RResponse.statusCode;
resp:=RResponse.content;
finally
fs.Free;
end;
end;
Czy ktoś życzliwy mógłby mi podpowiedzieć, czego tu brakuje,
a czego jest za dużo (w krańcowej desperacji dokładałem co się dało).
Niezmiennie dostaję komunikaty:
- Przy "RRequest.Execute" wyskakuje "Protocol field is empty"
- Przy próbie zamykania sesji -
"Nie przesłano zadeklarowanej '1' części pliku.
Pakiet nie może być pusty."
(Plik "nmZb" zawiera zaszyfrowaną paczkę spakowanych faktur.)
- Rejestracja: dni
- Ostatnio: dni
- Postów: 185
Fajna rzecz z limitami - można zablokować komuś możliwość unieważnienia certyfikatu/tokenu xD Albo wylogowania siłowego (w tym siebie samego).
- Rejestracja: dni
- Ostatnio: dni
- Postów: 24
Wysyłka wsadowa nie przyjmuje jeszcze faktur FA3?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 185
https://motoryzacja.interia.pl/wiadomosci/news-ksef-sparalizuje-rejestracje-nowych-aut-systemy-urzedow-nie,nId,22462702
Ale jak to? Urzędy nie gotowe? :P
- Rejestracja: dni
- Ostatnio: dni
- Postów: 8
jak dodać załącznik do faktury - ma ktoś link do opisu ? , i jak wygenerowac paczkę płatności ?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 13
Działają wam linki weryfikacyjne na test?

To jest mój przykład https://ksef-test.mf.gov.pl/client-app/invoice/5833414343/05-11-2025/V1hCK2p5ZjZFVndCcWxxTkpxb1VXckNsRTVGZ2RhZW1NQUQ3czBhTkRqVT0
Nip -> podmiotu 1 (sprzedawcy)
Data P_1 -> 2025-11-05 00:00:00.0000000
Hash fakury -> zwrócony przez ksef lub obliczony przez SHA256 (jest ten sam) i przerzucony przez Base64UrlEncoder.Encode
Co tu jest nie tak?