Krajowy system e-Faktur

TJ
  • Rejestracja:około rok
  • Ostatnio:około rok
  • Postów:2
0

Witam walczących z KSeF.
Po świętach pojawił mi się problem błędu: 21001 "Nieczytelna treść." po wysłaniu POST-em V2_QueryCriteriaInvoiceIncrementalType na https://ksef-test.mf.gov.pl/api/online/Query/Invoice/Sync .
Błąd występuje nie za każdym razem, ale bardzo często.
Nie mogę znaleźć ani przyczyny ani reguły kiedy występuje.
Może ktoś się natknął na to już?

Zobacz pozostałe 3 komentarze
Dzyszla
Kolejny komunikat: " Od 4 stycznia 2024 r. na środowisku testowym Krajowego Systemu e-Faktur mogą występować tymczasowe utrudnienia związane z asynchronicznym pobieraniem faktur. O przywróceniu pełnej funkcjonalności środowiska poinformujemy oddzielnym komunikatem. Za utrudnienia przepraszamy. " Jednocześnie jeszcze poprzedniego nie zakomunikowali, że poprawili.
TJ
Namierzyłem chyba przyczynę błędu 21001. Wynika z tego, że biblioteka (resteasy lub jackson) czasem mi enum-y serializuje w json DUŻYMI literami zamiast małymi, a wg opisu do 2.2.0 bramka teraz to sprawdza. Jak enumy sa małymi to przechodzi.
Dzyszla
To przez Ciebie nie działało?! :D
GA
mi nadal nie działa - a też działało jeszcze do zeszłego roku - możesz podać queryCriteria jakie wysyłasz?
TJ
przykładowo: {"queryCriteria":{"type":"incremental","subjectType":"subject2","acquisitionTimestampThresholdFrom":"2023-11-07T00:00:00+01:00","acquisitionTimestampThresholdTo":"2024-01-03T14:30:15.843+01:00"}} . Dostajesz błąd 21001 ?
Tom “Tom2024Pseudonim”
  • Rejestracja:około rok
  • Ostatnio:około rok
  • Postów:1
0

[Edytowany]
Faktycznie jest awaria
https://www.gov.pl/web/kas/komunikaty
Dzięki za podpowiedź


Witam,
Czy wiadomo coś o środowisku testowym KSeF?
Dostaję tylko błąd o braku strony 404.
Pozdrawiam

edytowany 2x, ostatnio: Tom “Tom2024Pseudonim”
Dzyszla
Tak, dwa czy trzy posty wcześniej + komentarze ( Krajowy system e-Faktur ). A na takie pytania to przede wszystkim patrz na stronę komunikatów.
J0
  • Rejestracja:prawie 5 lat
  • Ostatnio:8 dni
  • Postów:65
0

Witam,
Mam sytuację, gdzie są 3 firmy, które mają zostać umieszczone na fakturze. Firma A (Gmina - jako sprzedawca), firma B (Szkoła - jako wystawca), firma C (odbiorca).
Firma B (Szkoła) wystawia w imieniu Firmy A (Gmina) fakturę i tą fakturę ma wysłać do KSeF. Szkoła jednak nie ma własnego numeru NIP więc nie zaloguje się do KSeF.
W jaki sposób zatem szkoła może wysłać fakturę gdzie sprzedawcą jest gmina? Czy szkoła musi otrzymać jakiś dostęp do KSeF od gminy?

Zobacz pozostałe 7 komentarzy
J0
Przeglądając YAML to w opcij /online/Session/AuthorisationChallenge jest tylko przykład "type": "onip","identifier": "1111111111". Natomiast mi udało się jedynie dotrzeć do pliku "gtwTypes.xsd" gdzie faktycznie można znaleźć tam parametry takie jak np. SubjectIdentifierInternalType ale ja nie wiem jak to miałbym powiązać z Challenge i InitToken. Eh...dokumentacja ksef.
Dzyszla
Po nazwach tylko :) onip (ciągle to czytam jako "on ip", nie wiem, co te nazwy mają znaczyć ;p) to wiedziałem, że NIP i widziałem, że jest tu i tu, to się domyśliłem, że jak "int" (to mi zaś bardziej kojarzy się z "integer" niż z "internal id") gdzieś tam wystąpił w zapytaniu czy odpowiedzi, to że pewnie tu też trzeba w tym kierunku :)
J0
masakra :) Można byłoby zaprojektować nową grę pt. "KSeF - zgaduj zgadula", od 01.07.2024 sprzedałoby się sporo egzemplarzy.:)
axelbest
Już kilka razy gdzies wspominałem, że ksef to powinna być osobna kategoria forum, ale zlokalizowana raczej gszies jako podkategoria działu humor.
Dzyszla
Oj tam, oj tam, po co kpić? Lepiej jako "programowanie - antyprzykłady i złe praktyki" :)
FJ
  • Rejestracja:ponad rok
  • Ostatnio:około rok
  • Postów:5
0

Hello experts, how can I know if a submitted invoice was rejected using the service online/Query/Invoice/Sync ?

Also, I'd like to know how I can force KSef rejected an invoice. I sent random amounts however KSef accepted too.

Thanks in adavance.

Dzyszla
Invoice status can be check only by SessionStatus query (or by online, or by common interface). Invoice can be rejected for example due to invalid TIN or invalid KSeF number (for type KOR or ROZ_ZAL) or missing obligatory field - system check only syntax, no semantic (except KSeF and TIN numbers).
AL
  • Rejestracja:około 3 lata
  • Ostatnio:10 miesięcy
  • Postów:38
0

Środowisko testowe nadal nie działa...

Dzyszla
Brak też komunikatu mówiącego o rozwiązaniu :) Nieźle zabalowali. A może to przez bliskość Ziemi i Słońca i największą prędkość tej pierwszej? ;p
AL
za mały budżet mieli, żeby system mógł działać bezawaryjnie - 320 mln PLN nie starczyło
S8
ale co tam nie działa? Czy po prostu raz działa raz nie ? Bo ja się normalnie łączę.
TK
  • Rejestracja:prawie 3 lata
  • Ostatnio:9 miesięcy
  • Postów:26
0

Cześć. Pytanie o wyjaśnienie tagu P_15ZK.

  1. W przypadku korekt faktur zaliczkowych, kwota zapłaty przed korektą.
  2. W przypadku korekt faktur, o których mowa w art. 106f ust. 3 ustawy, kwota pozostała do zapłaty przed korektą

Ad.1 Rozumiem że dotyczy to dokumentu KOR_ZAL i dotyczy płatności dokonanych w związku z fakturą zaliczkową ZAL (chyba że można skorygować 2 faktury zaliczki naraz 1 korektą)?
Ad.2 Rozumiem że dotyczy to dokumentu KOR_ROZ i dotyczy kwoty pozostałej do spłaty na dokumencie ROZ (faktura rozliczająca zaliczki).

Prośba o wyjaśnienie czy ja to dobrze rozumiem.

TK
  • Rejestracja:prawie 3 lata
  • Ostatnio:9 miesięcy
  • Postów:26
0

Czy używaliście w schemie tagu: "ZaliczkaCzesciowa". Z opisu tego bloku wynika że dotyczy to faktur zaliczkowych ale nigdzie nie ma przykładów w dokumentacji.
Documentation: "Dane dla przypadków faktur dokumentujących otrzymanie więcej niż jednej płatności, o której mowa w art. 106b ust. 1 pkt 4 ustawy. W przypadku, gdy faktura, o której mowa w art. 106f ust. 3 ustawy dokumentuje jednocześnie otrzymanie części zapłaty przed dokonaniem czynności, różnica kwoty w polu P_15 i sumy poszczególnych pól P_15Z stanowi kwotę pozostałą ponad płatności otrzymane przed wykonaniem czynności udokumentowanej fakturą".
Jak ogarniacie ten tag ? Czy go w ogóle używacie?
Próbowaliśmy wczoraj wygenerować zestaw dokumentów (zaliczki, korekta, rozliczająca faktura, korekta do niej) i niestety nie udało się tego tagu wygenerować w xml-u.

Zobacz pozostały 1 komentarz
TK
Tak, w Aplikacji Podatnika.
WJ
Mimo wielu kontrolek, Aplikacja Podatnika "nie umie" stworzyć wszystkich możliwych (dopuszczalnych) wariacji faktur KSeF. Pierwszym z brzegu przykładem jest chociażby korekta z pojedynczymi liniami (np. z ilościami ujemnymi): dopuszczalna wg schematu i broszury. Aplikacja Podatnika potrafi tylko tworzyć korekty "dwuliniowe" (ze stanem "przed i po"), a przy próbie wczytania korekty jednoliniowej wyświetli informację, że plik jest błędny (nie jest). Myślę, że należy ją traktować jako "pierwsze przybliżenie", a nie wyrocznię.
TK
A masz jakieś doświadczenia z tym tagiem "ZaliczkaCzesciowa" i elementami podrzędnymi?
WJ
Nie ćwiczyłem tego - jedyne, co mi przychodzi do głowy to: 1. w plikach przykładowych (https://www.podatki.gov.pl/media/9538/przyk%C5%82adowe-pliki-dla-struktury-logicznej-e-faktury-fa-2.zip) ciągną przez ileś faktur temat zaliczki, może coś znajdziesz, 2. Może coć napisali o tym w broszurze informacyjnej (https://www.podatki.gov.pl/media/9512/broszura-informacyjna-struktury-logicznej-fa-2.pdf)? Czasami umieszczają tam przykłady...
TK
@Witold Jaworski: Ooo dziękuję za tą broszurę, faktycznie jest tam wyjaśnione trochę dokładniej. Powinno wystarczyć :). P.S. w przykładach tego nie ma.
  • Rejestracja:około rok
  • Ostatnio:5 miesięcy
  • Postów:3
0

Jaki jest najlepszy sposób na pobranie wszystkich faktur danego podmiotu?

Udało mi się zautoryzować, i ogarniam już pobieranie pojedynczych faktur za pomocą numeru KSeF, ale co jeśli bym chciał pobrać wszystkie, żeby zsynchronizować je z moim systemem?

Nie rozumie dokończa różnicy pomiędzy "range" i "incremental", i jak na razie to obydwie te opcje wydają się sub-optymalne do tego. Jeśli faktury (headery), są zwracane od najnowszej, to jak w trakcie dłuższej "synchronizacji" by jakieś nowe doszły, mogło by to cały proces popsuć beż (sporej ilości) dodatkowej logiki. Gdzie dodanie funkcji zwrócenia wszystkich faktur od najstarszej by praktycznie wszystkie problemy rozwiązało.

Próbowałem też użyć wersji asynchronicznej, ale jak na razie dostaje kod/błąd 325, i mam nadzieje że nie długo się to rozwiąże (zakładam że jest to powiązane z obecnym "Utrudnieniem w funkcjonowaniu"). Ale jeśli dobrze myślę (bo dokumentacja jest praktycznie nie-istniejąca/bez-użyteczna) to ma to te same problemy co pobieranie Synchroniczne. Więc jakie benefity ma Invoice/Async nad Invoice/Sync?

Nie chcę mi się wierzyć że zdobycie wszystkich ID'ków, i potem pobieranie ich po kolei jest najlepszym rozwiązaniem tego problemu. Co z na przykład limitem requestów? Mogę napisać to asynchronicznie, tak żeby (potencjalnie) parę tysięcy requestów się wysłało w jednej sekundzie, ale wątpię że KSeF'owi się to spodoba. Proszę powiedzcie że Invoice/Async to jakoś rozwiązuje, albo że coś ominąłem...

Marcin Drążek
Kody od 300 do 399 oznaczają że coś jest w trakcie przetwarzania, ponieważ jest operacją asynchroniczną. Nie jest to błąd. Trzeba odpytywać kolejny raz aż będzie rezultat czyli (chyba) 200-299 w przypadku poprawnego wyniku, lub 400-499 w przypadku błędów. Pytanie czy potrzebujesz synchronizować faktury, ja w moim systemie też to rozważałem i zrezygnowałem.
ZI
Też będę musiał w swoim systemie pobierać wszystkie faktury które pojawiły się dla danej firmy (danego numeru NIP), właśnie próbuję wymyślić jak to robić żeby nie pominąć żadnego dokumentu :D Pobierać pewnie będę 1-2 razy na dobę.
@Marcin Drążek: Faktycznie, teoretycznie tak powinno być, ale w praktyce wychodzi na to że ten system ledwo działa. Zrobiłem zapytanie na tylko jeden dzień gdzie znajdują się zaledwie 3 faktury. Jeśli to się nie chcę przetworzyć przez 15 minut, to nie potrzebuje mieć kodu >= 400 żeby wiedzieć że coś nie działa.
Update: W końcu dostałem zwrot 200 z Async, i wygląda to zdecydowanie lepiej niż Sync dla tego use-casu. Async też ma swoje (inne) wady, ale największe (np. limit 100 faktur x 100 stron, o którym zapomniałem wspomnieć) dotyczą tylko Synca. Moim zdaniem jeśli chodzi o pobieranie b. dużej ilości faktur w zakresie od do, Async jest zdecydowanie lepszy do tego (jeśli się będzie procesować w rozsądnym czasie). Natomiast jeśli chodzi o weryfikacje czy wszystkie fakturą są "zsynchronizowane", Sync wydaje się sensowniejszy.
BS
  • Rejestracja:około 3 lata
  • Ostatnio:16 dni
  • Postów:20
0

przy wysyłce wsadowej komunikat przy przetwarzaniu 21401:Dokument nie jest zgodny ze schemą (xsd). oznacza że coś jest nie tak z xml-em InitRequest czy z samą fakturą?
wysyłam tą samą fakturę sesyjnie i przetwarza się prawidłowo.

Dzyszla
Fakturą, Bo rozumiem, że to przy sprawdzaniu statusu, a nie wprost w odpowiedzi na którąś z metod wsadowego?
BS
tak, przy sprawdzaniu statusu
Dzyszla
Zobacz status z interaktywnego, to powinno wyraźnie przy fakturze się pojawić.
BS
dzieki, wyjasniło mi się. niby faktura była dla obu procesów generowana tak samo, ale w przypadku wsadowej dochodziło mi do konwersji pliku xml na ansi1250 🙄
BS
  • Rejestracja:około 3 lata
  • Ostatnio:16 dni
  • Postów:20
0

pytanko o link weryfikacyjny. rozumiem, ze jego wygenerowanie jest mozliwe dopiero po uzyskaniu upo? bo wtedy dostaniemy numerek ksef

Zobacz pozostałe 3 komentarze
BS
piszesz o /online/Session/Status?
J0
Tak, dokładnie.
BS
ale to nie trzeba zamknąć sesji by się rozpoczeło przetwarzanie?
PM
@bsi: Nie, zamknięcie sesji jest potrzebne tylko żeby uzyskać UPO.
BS
tą funkcją mozna tez bylo pobrac upo, teraz nie mam tego pola. zmienili cos w tym temacie? w specyfikacji niby jest
J3
  • Rejestracja:ponad rok
  • Ostatnio:około rok
  • Postów:6
0

Wysyłanie faktur nie działa? Dostaję problem podczas wyzwania autoryzacyjnego :
Could not extract response: no suitable HttpMessageConverter found for response type [class pl.jitsolutions.storm.ksef.ResponseModel.AuthorisationChallengeResponse] and content type [application/octet-stream]

Dzyszla
Nie. Cały czas trwa awaria niezaplanowana. Nie zdziwię się, że będzie trwać aż do czasu zaplanowanej awarii, czyli może podziałamy coś w na koniec stycznia. Notabene - dalej tłumoki nie potrafią zwrócić odpowiedzi w formacie JSON, tylko wypluwają HTMLa.
R6
  • Rejestracja:około rok
  • Ostatnio:około rok
  • Postów:1
0

Witam wszystkich mordujących się z KSeF,

Czy udało się komuś jako osobie fizycznej prowadzącej działalność gospodarczą zalogować się albo przez API albo przez aplikację KSeF do systemu przy pomocy podpisu kwalifikowanego ?
Ja próbuję się zalogować jako osoba fizyczna prowadząca działalność gospodarczą posiadająca podpis kwalifikowany z numerem PESEL oraz NIP od 3 m-cy bez sukcesu.

MG
A profilem zaufanym tez sie nie da?
woolfik
  • Rejestracja:ponad 17 lat
  • Ostatnio:39 minut
  • Postów:1595
0

Mam pytanko poprawnie udało mi się wysłać FV do testa jak i na prod. Dostałem:

Kopiuj
Poprawna odpowiedź. Timestamp: 2024-01-04T19:04:10.709Z, JSON: {'timestamp': '2024-01-04T19:04:10.709Z', 'referenceNumber': '20240104-SE-C0F285F29A-78DDCD2E61-9C', 'sessionToken': {'token': '8698edf6ab

Teraz próbuję pobrać numer KSEF tej FV poprzez:
/online/Invoice/Status/{InvoiceElementReferenceNumber}

i dostaję:

Kopiuj
Poprawna odpowiedź. Timestamp: 2024-01-04T19:04:11.149Z, JSON: {'timestamp': '2024-01-04T19:04:11.149Z', 'referenceNumber': '20240104-SE-C0F285F29A-78DDCD2E61-9C', 'processingCode': 310, 'processingDescription': 'Zakończenie etapu autoryzacji procesu', 'elementReferenceNumber': '20240104-EE-FB1331A5AA-1F9EBD2048-A2', 'invoiceStatus': {}}

ale invoiceStatus jest pusty ... jak pobrać nr ksef?

ZB
jak zwykle u Ciebie czekać na poprawny processingCode :-)
woolfik
aaaaa kumam dałem sleep na 30 sek i zadziałało :D dzięki
Dzyszla
Ale sleep to nie jest rozwiązanie, jak zwykle. Ten proces może trwać równie dobrze 3 sekundy, jak i 3 godziny. A mnie jako użytkownika by chyba trafiło, jakbym musiał czekać pół minuty po każdym wysłaniu (i to bez możliwości interakcji), podczas gdy wszyscy inni czekają 5 sekund.
woolfik
Nie nie spokojnie ja sobie to już przerobiłem na proces offline działający w tle więc jak zwróci to będzie. Sleep był tylko na etap testów
ZI
  • Rejestracja:około 17 lat
  • Ostatnio:około miesiąc
0

Hej,

Jestem raczej na początku mojej przygody z KSeFem :D

Muszę okresowo pobierać wszystkie faktury dla kilku firm i importować je do swojego systemu.

Z przebojami (i pomocą) udało się połączyć i uzyskać sessionToken. Czy aby teraz wyszukać faktury muszę pukać pod /online/Query/Invoice/Async/Init, sprawdzać status pod /online/Query/Invoice/Async/Status/{QueryElementReferenceNumber} i na końcu pobrać dane przez /online/Query/Invoice/Async/Fetch/{QueryElementReferenceNumber}/{PartElementReferenceNumber? Czy to poprawna droga?

Czy w ogóle istnieje cokolwiek lepszego niż KSeF-online.yaml i opis w poniższym stylu? Jest to dla mnie mega nieczytelne i nieintuicyjne, chyba że ja jestem problemem :D Piszę w PHP, używam Guzzla i czuję się jak junior pierwszy raz próbujący coś zrobić :D

Kopiuj

  /online/Query/Invoice/Async/Init:
    post:
      description: Inicjalizacja zapytania o faktury
      externalDocs:
        description: |-
          Obsługiwany nagłówek 'ksef-number-variant'
          Obsługiwane wartości:
          'v35'
          'v36'
          Brak nagłówka daje domyślną 35 znakową długość zwracanego numeru KSeF dla faktur/faktury w usłudze.
      operationId: online.query.query.invoice.init
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueryInvoiceRequest'
          application/vnd.v2+json:
            schema:
              $ref: '#/components/schemas/V2_QueryInvoiceRequest'
        required: true
      responses:
        "202":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryInvoiceAsyncInitResponse'
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponse'
          description: Nieprawidłowe wywołanie
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponse'
          description: Nieautoryzowany dostęp
      security:
      - SessionToken: []
      summary: Inicjalizacja zapytania o faktury
      tags:
      - Interfejsy interaktywne - zapytania
Dzyszla
Tak, to poprawna droga, ale istnieje inna - możesz zapytać o nagłówki faktur w sposób synchroniczny, a następnie pobierać pojedynczo te faktury, które Cię interesują (bądź wszystkie). Niestety, YAMLe nie zostały pomyślane z zamiarem "ludzkiego" czytania, niemniej można się nauczyć to czytać. Trochę może ułatwić wrzucenie pliku pod editor.swagger.io, ale typy i tak trzeba będzie samemu wnioskować, które mają zastosowanie. Niestety, poza tym i plikiem PDF to nie ma lepszej dokumentacji.
woolfik
chodziło mi tylko o to, że ja też się motam z tym yamlem
Dzyszla
To konstrukcja dwuznacznie zabrzmiała :) Ok, nie ma tematu w takim razie :)
MA
  • Rejestracja:prawie 3 lata
  • Ostatnio:11 miesięcy
  • Postów:12
0

Hej, mam pytanie odn. Grupy VAT.
W jaki sposób otworzyć sesję komunikacyjną z Ksef jako członek Grupy VAT?
Dla jednostek wewnętrznych rozwiązano to poprzez wprowadzenie typu int (SubjectIdentifierInternalType) obok onip (SubjectIdentifierByCompanyType). Wtedy przy nawiązywaniu sesji zamiast onip wskaznywany jest int, a podawany NIP jest wtedy w formacie {NIP}-{5CyfrNrWew}.
Nie znalazłem niczego podobnego dla Grupy VAT, w której teoretycznie otwierając sesję należałoby podać NIP Grupy VAT + NIP własny, gdyż członek Grupy VAT jednocześnie może występować w imieniu całej grupy, jak i własnym.
Ktoś ma doświadczenia z Grupami VAT i mógłby pomóc?

Zobacz pozostałe 12 komentarzy
MA
OK dzięki wielkie @Dzyszla za poświęcony czas
GigaKatowice
@marcinxyz: Wg. mnie na serwerach testowych nie da się ustawić (pole wyboru jest zablokowane) wystawcy jako 7 (JST) lub 9 (GRV). Mnie za to interesuje przypadek kiedy chciałbym ustawić dodatkowego odbiorcę 8 (JST) lub 10 (GRV). W przypadku JST te podmioty nie mają NIP. To co? Muszę mieć ich ID Wewnętrzne aby dobrze im fakturę wystawić?
GigaKatowice
Czyli teraz każda jednostka zależna będzie musiała wszystkich poinformować o ID Wewnętrznym. OMG!
Dzyszla
W rzeczy samej :)
woolfik
  • Rejestracja:ponad 17 lat
  • Ostatnio:39 minut
  • Postów:1595
0

Mam pytanko wysłałem FV do KSEF i dostaję:

Poprawna odpowiedź. KSeF nr: 5340820650-20240105-128749A24196-1F

numer pobrany ale przy próbie wywołania:

Kopiuj
/common/Status/{ReferenceNumber}

dostaję:

Kopiuj
Exception: Code:400 JSON: {'exception': {'serviceCtx': 'default', 'serviceCode': '20240105-EX-6296312E80-177BF3B779-BC', 'serviceName': 'common.status', 'timestamp': '2024-01-05T12:27:33.689Z', 'referenceNumber': '20240105-EE-E68EDB7C47-E7C6C835A5-62', 'exceptionDetailList': [{'exceptionCode': 21173, 'exceptionDescription': 'Brak sesji o wskazanym numerze referencyjnym.'}]}}

co znowu zmaściłem?

edytowany 1x, ostatnio: woolfik
Zobacz pozostałe 3 komentarze
woolfik
@marcinxyz: to co napisałeś to mi właśnie działa i zwraca mi numer ksef ale nie wiem o czym piszesz @Dzyszla
MA
nie jest Ci to potrzebne do tego co chcesz zrobić, ale skoro pytasz to numer sesji dostajesz po jej otwarciu, czyli na samym początku komunikacji z ksef. @Dzyszla Ci napisał to samo co ja, używasz nie tej metody, podałem Ci wyżej właściwą. Sprawdź dokumentację tam masz opis wszystkich metod.
woolfik
ok to to mi wystarczy dzięki
Dzyszla
A co Ty właściwie chcesz więcej robić, jak juz masz numer KSeF?
woolfik
napiszę poniżej :D
woolfik
  • Rejestracja:ponad 17 lat
  • Ostatnio:39 minut
  • Postów:1595
0

Kolejne pytanie jak pobrać UPO:
/common/Upo/{ReferenceNumber}/{UpoReferenceNumber}

skąd pobrać ReferenceNumber i UpoReferenceNumber?

MA
Aaa no to pisz, że potrzebujesz UPO :P to ta metoda była ok /common/Status/{ReferenceNumber} , tylko tu musisz podać numer ZAMKNIĘTEJ sesji ksef, wtedy ksef po akceptacji faktur generuje w odpowiedzi też UPO. ReferenceNumber to numer sesji ksef, w której wysyłałeś faktury. Numer już pisałem, dostajesz po otwarciu sesji, a także przewija się bodajże w każdym response otrzymywanym z ksef do operacji wykonywanych w obrębie sesji.
Dzyszla
W sumie do UPO są dwie metody. Obie ukryte w Common/status/{Numer sesji} - oczywiście numer sesji to tej, w której wysyłało się faktury. Jeśli wywołasz z acceptem application/json to dostaniesz UPO od razu (w base64). JEśli wywołasz z application/vnd.v3+json to dostaniesz dane do tego drugiego wywołania, które pobierze UPO wprost (niekodowane).
woolfik
Czyli wystarczy, że po odebraniu numeru ksef wywołam /online/Session/Terminate: i reszta teorytycznie powinna zadziałać tak ?
Dzyszla
Tak, musisz zamknąć, żeby rozpoczął się proces tworzenia UPO. Ale to też nie jest tak, że natychmiast po zamknięciu będzie dostępne - statusem sesji musisz sprawdzać. Jak już będzie, to - w przypadku użycia pierwszej wersji - dostaniesz od razu to UPO w odpowiedzi.
woolfik
{'timestamp': '2024-01-05T13:23:32.673Z', 'referenceNumber': '20240105-SE-413D6673D6-D1E39C5FD9-B0', 'processingCode': 200, 'processingDescription': 'Zakończenie etapu generowania UPO', 'upo': 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i... dzięki
P7
  • Rejestracja:około 9 lat
  • Ostatnio:około 3 godziny
  • Lokalizacja:Warszawa
  • Postów:89
0

Cześć pytanie o korekty - w strikturze Fa(2) jest lista Faktura.Fa.DaneFaKorygowanej - uzupełniamy tam dane faktury , której korekta dotyczy - teraz pytanie za 5 pkt. - co w przypadku kiedy korekta nie jest pierwszą wystawioną do danej faktury - czy wtedy do listy DaneFaKorygowanej dodaje też poprzednio wystawione korekty z numerem ksef itd ?

Dzyszla
Formalnie - nie. Podajesz dane tylko korygowanych dokumentów. czyli jeśli dokument A został skorygowany przez B, C i D, a Ty teraz dokonujesz korekty z dokumentu C, to tylko on się znajdzie. Ale może być też tak, że np. na A sprzedałeś 3 towary. B, C i D korygowały ceny. Ale teraz chcesz wszystko zwrócić - to faktycznie korekta będzie do B, C i D (lub 3 kolejne korekty do każdego z nich), czyli w takim przypadku B koryguje A, C - A, D - A, E - B, C i D.
P7
Czyli jeśli dobrze rozumiem przy założeniu że zawsze koryguję stan z uwzgędnieniem poprzednich korekt będzie to wyglądało tak: A (oryginał) , B (korekta) podaję A, C (korekta) podaję B itd. ?
Dzyszla
To zależy, jakie pozycje fizycznie korygujesz. Jeśli na B są wszystkie z A, to już A nie da się korygować. Ale jeśli B będzie zawierała jedną pozycję z A, to jest możliwość, że kolejna korekta będzie korygować i A i B jednocześnie (lub będzie ponownie tylko do A się odnosić). Ogólnie: wskazać powinieneś te faktury, których pozycje faktycznie korygujesz pamiętając, że nie możesz dotykać już skorygowanych.
Dzyszla
PS. My od zawsze w systemie tylko jedną korygowaną mogliśmy mieć, więc o tyle prościej, że nigdy się nie odnosimy do wielu - co najwyżej mamy dużo korekt. Ale zawsze w ten sposób bardzo jednoznacznie i w prosty sposób można wyczaić, co jest korygowane, szczególnie że KSeF nie ma pola na UU_ID korygowanego, co jest dużym niedopatrzeniem wg mnie, bo trzeba zawsze dopasowywać, szczególnie jeśli by się chciało robić nie na zasadzie 'minus i plus' tylko 'korekta'.
P7
Kurde jesteś pewien że to tak wygląda (w sensie, że nie można dotykać już skorygowanych). Wg tego https://www.podatki.biz/artykuly/sposob-wystawiania-kolejnych-korekt-do-tej-samej-faktury-pierwotnej_55_25122.htm wychodzi że powinno się podawać dane f-ry pierwotnej z uwzględnieniem zmian z poprzednich korekt czyli rozumiem to tak, że np. mogę na A miieć produkt A 3 szt za 10 zł, korekta B zmienia stan z 3szt na 2 szt. po 10 zł, a korekta C zmienia stan z 2 szt na 1 szt produktu A , ale w ksef podaję zawsze f-rę orginalną
Dzyszla
Wiesz, uzasadnić można. Tylko jeśli wysłałeś korektę -5 +4, a potem robisz drugą -5 +4, to ździebko do czego się odnosić, jak już przy tej drugiej te 5 nie istniało. I obie korekty zwracają 1 szt, prawda? To ile jest teraz? 4 czy 3? :) Dlatego nie dotyka się skorygowanych pozycji. Można nimi manipulować tylko w odniesieniu do korygowania ostatniej ich korekty. I jednocześnie korekty powinny właśnie obejmować całą pozycję, a nie tylko część pozycji. Np zmieniając cenę jednej pozycji raczej trudno zrobić -1/+1, a powinno się robić -5/+4+1. A weź np. 2 poz. z takim samym tow.
GB
Gorzej, jak nie robisz korekty metodą "było-jest". Sprzedałeś dwie linie po 10 szt, a pierwszej korekcie dajesz -8, a w drugiej -3. I co wtedy?
Dzyszla
Wg mnie to w ogóle niedźwiedzią przysługę zrobili dopuszczając różne sposoby korygowania. Powinno być raz, że jasno powiedziane, że robimy tylko było-jest lub tylko korekta, ale też dodajemy obowiązkowy wskaźnik UU_ID i UU_ID_korygowane. A tak to się męcz człowieku, o czym w zasadzie dana korekta mówi i do czego się odnosi. Lepiej namęczyć tworzenie tego XMLa, niż męczyć odczytywanie i dopasowywanie później do wcześniejszych.
GB
Na początku było tylko "było-jest". To jest najlepsze rozwiązanie, ale... chyba SAP to czegoś takiego nie umie łatwo zrobić no i się zaczęło...
Dzyszla
No, czyli jest to korekta, która w pozycjach dotyka ostatnich korekt tych pozycji - tak jak pisałem. Nie można dotykać pozycji sprzed innej korekty.
TK
  • Rejestracja:prawie 3 lata
  • Ostatnio:9 miesięcy
  • Postów:26
0

Cześć, w jaki sposób na liście faktur sprawdzić czy faktura jest ukryta? Jest pole hidden w szczegółach faktury ale po zmianie faktury kosztowej na hidden na liście faktur ta zmiana nie pojawia się.

Dzyszla
Tylko pytając o listę faktur ukrytych. Inaczej ich w ogóle nie dostajesz.
TK
Hm a jest do tego specjalny endpoint, czy jakieś kryteria nowe?
Dzyszla
Parametr w zapytaniu.
TK
Oki dzięki, już coś znalazłem w dokumentacji.
LT
  • Rejestracja:prawie 16 lat
  • Ostatnio:około rok
0

Chociaz jedna dobra wiadomość. Nie będzie obowiązkowego umieszczania numerów KSeF w ewidencji zakupów JPK, a w ewidencji sprzedaży obowiązek przesunęli na rok 2025. Nie będzie dodatkowych oznaczeń faktury OFF BFK.
https://ksiegowosc.infor.pl/podatki/vat/jpk-vat/6427446,w-2024-r-wpisywanie-numerow-ksef-w-jpk-v7-nie-bedzie-obowiazkowe.html


lta
TK
Dobre i to :). dzięki za info.
ME
  • Rejestracja:około rok
  • Ostatnio:7 miesięcy
  • Postów:5
0

Witam integruje API w PHP dostaję błąd z systemu KSeF zarówno na test oraz demo przy wysyłaniu faktury
21417:Nieobsługiwana wersja dokumentu
Loguje sie poprzez sessionInitToken ktoś się spotkał z błędem.
Dane XML zgodne z FA(2) zarówno z ich przykładu jak i stworzonych XML z danych.

Zobacz pozostałe 27 komentarzy
Dzyszla
Nie. To, co pokazujesz, to jest UPO już.
ME
Po wykonaniu /common/Status/{ReferenceNumber} - Tam dostaje upo - zaszyforowane base64 pytanie mam jak pobrać dane z /common/Upo/{ReferenceNumber}/{UpoReferenceNumber} - chodzi mi jaki numer podstawić z tego pierwszego enpointa do wartości UpoReferenceNumber
Dzyszla
To musisz ten pierwszy wywołać zapytaniem w wersji 3. Patrz mój komentarz z 2024-01-10 07:39. Wtedy nie dostaniesz UPO, tylko ten numer.
ME
Możesz podesłąc przykład wywolania ?
Dzyszla
Nie ma żadnego wywołania. To jest zapytanie GET. Różni się tylko tym, co jest w nagłówku na acceptcie.
KK
  • Rejestracja:około rok
  • Ostatnio:około rok
  • Postów:1
0

Hej,

czy ktoś z Was spotkał się może z odpowiedzią Nieczytelna treść przy wysyłaniu faktury? Od 2 dni próbuję znaleźć jakieś informacje i nic. Wygenerowałem sobie xml faktury po stronie KSeFu żeby mieć pewność, że jest ona prawidłowa. Fakturę próbuję wysłać z PHP'a sesją interaktywną na środowisko demo. Sesja się odpala (widzę to po stronie KSeFu), ale jak tylko próbuję wysłać fakturę poniższym kodem dostaję wspomniany błąd.

Kopiuj
$xml = file_get_contents('ksef.xml');

$response = $this->client->put('/api/online/Invoice/Send', [
    RequestOptions::HEADERS => [
        'SessionToken' => $item->getKsefSessionToken(), //Tutaj mam token sesji
    ],
    RequestOptions::JSON => [
        'invoiceHash' => [
            'hashSHA' => [
                'algorithm' => 'SHA-256',
                'encoding' => 'Base64',
                'value' => base64_encode(hash('sha256', $xml, true)),
            ],
            'filesize' => strlen($xml),
        ],
        'invoicePayload' => [
            'type' => 'plain',
            'invoiceBody' => base64_encode($xml),
        ],
    ],
]);

Tutaj pełna odpowiedź:

Kopiuj
{
 "exception":{
    "serviceCtx":"srvTRMFC",
    "serviceCode":"20240108-EX-331DEA30CC-5DE3566AB7-02",
    "serviceName":"online.invoice.invoice.send",
    "timestamp":"2024-01-08T11:15:18.198Z",
    "exceptionDetailList":[
       {
          "exceptionCode":21001,
          "exceptionDescription":"Nieczytelna treść."
       }
    ]
 }
TK
może dodaj więcej nagłówków ? 'accept: application/json', 'Content-Type: application/json' ale pewnie dalej to gdzieś jeszcze ustawiasz skoro masz request typu RequestOptions::JSON? Może jeszcze sprawdź czy masz aktualny klucz publiczny ... Bo definicja tablicy danych jest wg mnie poprawna.
Dzyszla
Pokaż wysyłaną treść wraz z nagłówkami (nie [tylko] kod).
JR
Powinno być fileSize zamiast filesize
KK
@JRN: Dzięki wielkie - chodziło o tą literówkę :) Reszcie też dziękuję i przepraszam za marnowanie Waszego czasu ;)
TK
  • Rejestracja:prawie 3 lata
  • Ostatnio:9 miesięcy
  • Postów:26
0

Cześć, w temacie trochę księgowym. Powiedzcie mi czy w dokumentacji tagu: P_15ZK -> "W przypadku korekt faktur, o których mowa w art. 106f ust. 3 ustawy, kwota pozostała do zapłaty przed korektą". Czy tutaj chodzi o dokument ROZ (Dokument rozliczający zaliczki)?

edytowany 1x, ostatnio: TomekK9
BS
  • Rejestracja:około 3 lata
  • Ostatnio:16 dni
  • Postów:20
0

pytanie o ten identyfikator wewnętrzny, na ksef test do nipu dodałem sobie identyfikator wenetrzny, dodalem sobie administratora do niego, i jak sie zaloguje na test tym administratorem to nie moge faktury wystawic, opcja nie jest widoczna. probowalem uworzyc innego uzytkownika tym adminem ktory moglby wystawiac faktury ale pojawia mi sie blad ze mam brak uprawnien.
ktos wie jak tego uzywac? jak tak to poprosze o info

Zobacz pozostałe 4 komentarze
BS
a co z wsadową? a w ogole to gdzie się podziały opisy do tych xml-i do logowania? jakoś nie moge ich znaleźć 🙄
Dzyszla
Init wsadowej jest analogiczny do InitSigned. Opisy XML? Poza PDF i samym XSD to nie przypominam sobie, aby cokolwiek kiedyś było.
BS
a masz xsd? bo nie moge znaleźć
Dzyszla
No na głównych stronach poszczególnych środowisk są w "Struktury logiczne".
BS
@Dzyszla: sory, dzis chyba jakas demencje mam, za duzo sie dzialo. wielkie dzieki
WS
  • Rejestracja:ponad 4 lata
  • Ostatnio:około rok
  • Postów:4
0

Koledzy
wiem że to banał, ale używam trochę archaicznych narzędzi i sporo dłubię ręcznie
czy ktoś zechciałby zamienić klucz publiczny środowiska testowego na b64

klucz publiczny środowiska testowego jako liczba

23406442688142992831583759844756089133712844262268877557835948537922690131301917528010472072980030525243164470704153404706424073919594735631248793604990149775500839426627798421278024993358446037655350061463757500035940998380555904273595946307684093782369149356087903235522664351435055995896215926900834823274455240788124709945700300545915276090426078078411011846599277153583946003396302217817245249811336711552038275781604699852026576581228046084296276086185170885235268125033156936166764556520982537544722946490123310277292524709687907821731708318317794956326577863648319840338909808057410474707559952504063561704659

mi wychodzi

0yTydDZ4UNgAH++4YEM1RMxX5UCmY3sY9DQIGR+6vO32gStSxJxetGoPXh9nOwKecq5pze1Y6z78ZMrq0kmFa74O/T2sZTUm1YHpDCSZh9MiNw3xU28xJZMpzYovU9NQuNyg84W12pioNmqAlNQdXLRljpxNEETN2ZPSQN7b8Fk1EgRctvS2cfR0ea6T4jYZcQwN0ojSY+MrmZrQyleYrZuOnQCKYYXzov/zijHYpoFKoLGekOMGzmRLENvABKWIA2DLl3qkJi7MrLBqC8JRQ6a3TS6fOyDcxodp3dJ8qjegpyoml8/oJuzwZWLpllMuhuy8QR8NdNoSial0gCxquQ==

albo zweryfikować mój timestamp

ja z "2024-01-09T20: 16:43.257Z" wykoncypowałem 1704831403257 - nie wiem czemu muszę dodać spację w timestampie ?!

przy próbie wysyłki na https://ksef-test.mf.gov.pl/api/online/Session/InitToken
mam komunikat "nieprawidłowo zaszyfrowana treść"

wysyłam takie "cuś"


	<ns3:initsessiontokenrequest xmlns="http://ksef.mf.gov.pl/schema/gtw/svc/online/types/2021/10/01/0001" xmlns:ns2="http://ksef.mf.gov.pl/schema/gtw/svc/types/2021/10/01/0001" xmlns:ns3="http://ksef.mf.gov.pl/schema/gtw/svc/online/auth/request/2021/10/01/0001">
		<ns3:context>
			<challenge>20240109-CR-7656F11BC4-F69C63337D-33</challenge>
			<identifier xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:SubjectIdentifierByCompanyType">
				<ns2:identifier>5--------2 mój nip</ns2:identifier>
			</identifier>
			<ns:documenttype>
				<ns2:service>KSeF</ns2:service>
				<ns2:formcode>
					<ns2:systemcode>FA (2)</ns2:systemcode>
					<ns2:schemaversion>1-0E</ns2:schemaversion>
					<ns2:targetnamespace>http://crd.gov.pl/wzor/2023/06/29/12648/</ns2:targetnamespace>
					<ns2:value>FA</ns2:value>
				</ns2:formcode>
  			</documenttype><token>zVW0hQVfWrvT7HrItQ8rgYXloQ/K2f+oT0Kzr1hOS013OvgGqv1Xo9I392wnpzWfxAcPSY6JxfpvwETNrxdgKB5mR4P6HQb+O8LXav9eHFzJdGbh8RnS9wPy9XTeGoWupu1yXJTrwmW9Dppc7dBgGxEte0XGuLG28OR9uUpX9/Jb39hdQkoXSNm9FrM2eBUKjDIDrCQdOGbbsyN8TYpDGew04U6//3f2KKbkeIFCvRvy2DSpiSUzN1TWjoGtU1BTynkOzsN8XEqE1Oc680DZCvxELQpIo5dFWOFnA14WAH+i3bXNn8s8slFnedauTk8T6IHmyeV/ykYkt6/19IqnnQ==</token>
		</ns3:context>
	</ns3:initsessiontokenrequest> 
    

nie wiem czego się chwycić...

edytowany 3x, ostatnio: wspanialy
K2
Timestamp "1704831403257" wg mnie jest ok (bez spacji w stringu źródłowym: "2024-01-09T20:16:43.257Z" - brać jak dają). Wklejony XML trochę jest nieczytelny. W jakim języku piszesz?
WS
jednak b64 dla public key środowiska testowego to uWosgHSpiRLadA0fQbzshi5TluliZfDsJujPlyYqp6A3qnzS3WmHxtwgO58uTbemQ1HCC2qwrMwuJqR6l8tgA4ilBMDbEEtkzgbjkJ6xoEqBptgxivP/ovOFYYoAnY6brZhXytCamSvjY9KI0g0McRk24pOueXT0cbb0tlwEEjVZ8NveQNKT2c1EEE2cjmW0XB3UlIBqNqiY2rWF86DcuFDTUy+KzSmTJTFvU/ENNyLTh5kkDOmB1SY1Zaw9/Q6+a4VJ0urKZPw+61jtzWmucp4CO2cfXg9qtF6cxFIrgfbtvLofGQg09Bh7Y6ZA5VfMRDVDYLjvHwDYUHg2dPIk0w== może komuś się przyda, ten ciąg jest zresztą częścią pliku PublicKey.cer a piszę w NET 4.0 które ma problemy z czytaniem kluczy publicznych w prawidłowym formacie der i pem, uff...
GigaKatowice
Do obsługi certyfikatów w .net framework użyj biblioteki BouncyCastle. Coś w tym stylu: https://stackoverflow.com/questions/11346200/reading-pem-rsa-public-key-only-using-bouncy-castle
Dzyszla
  • Rejestracja:około 3 lata
  • Ostatnio:2 dni
  • Postów:108
0

Masa nowych komunikatów z wczoraj i przedwczoraj (to teraz do końca miesiąca nie będzie działać):

8 stycznia 2024 r. w godzinach od 14.00 do 16.00 na środowisku testowym oraz na środowisku przedprodukcyjnym (Demo) planowana jest aktualizacja Aplikacji Podatnika KSeF.
Aktualizacja Aplikacji Podatnika KSeF na środowisku testowym do wersji 1.5.1 oraz na środowisku przedprodukcyjnym do wersji 1.4.4, obejmuje:

  • jednostki zależne - lista jednostek - zniesienie ograniczenia liczby rekordów,
  • obsługa komunikatu błędu - usuniecie filtra daty poprzez „x” na liście faktur.

Czyli to już po tym - ogłosili na dosłownie 3 godziny przed faktem.

11 stycznia 2024 r. w godzinach od 14.00 do 16.00 planowana jest aktualizacja Aplikacji Podatnika KSeF na środowisku produkcyjnym.
Aktualizacja Aplikacji Podatnika KSeF na środowisku produkcyjnym do wersji 1.4.4, obejmuje:
jednostki zależne - lista jednostek - zniesienie ograniczenia liczby rekordów,
obsługa komunikatu błędu - usuniecie filtra daty poprzez „x” na liście faktur.

Jakie ograniczenie liczby rekordów? Nie można było więcej niż 10 jednostek utworzyć?!
BTW - zdążyliście przedprodukcyjnie przetestować zmiany? :D

11 stycznia 2024 r. w godzinach od 15.00 do 16.00 będą prowadzone prace serwisowe na środowisku testowym API Krajowego Systemu e-Faktur i Aplikacji Podatnika KSeF.

Jednoczesne zajmowanie się wszystkim - czarno to widzę.

I najpóźniejszy komuniakt z wczoraj:

Utrudnienia, występujące od 2 stycznia 2024 r. w funkcjonowaniu środowiska testowego Krajowego Systemu e-Faktur, w tym utrudnienia związane z asynchronicznym pobieraniem faktur, zostały usunięte.

@ToJaMajka możesz teraz sprawdzić :D Wystarczyło tylko tydzień poczekać. ;)

edytowany 2x, ostatnio: Dzyszla
F0
  • Rejestracja:ponad 13 lat
  • Ostatnio:około rok
  • Postów:2
0

Witam,
Próbuje się wygenerować token sesyjny.

Na podstawie

Kopiuj
{
    "timestamp": "2024-01-10T09:16:26.464Z",
    "challenge": "20240110-CR-70119507E6-939D56B35D-E7"
}

Z dokumentacji widzę że to powinien być timestamp

Podpisuje kluczem taka postać.
6687803D64FB54C7FF7019201800CDC9153E9A1F8895828DA84ACB6238DC6DD1|1704878186464

Przygotowałem sobie takiego xmla.

Kopiuj
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:InitSessionTokenRequest
	xmlns="http://ksef.mf.gov.pl/schema/gtw/svc/online/types/2021/10/01/0001"
	xmlns:ns2="http://ksef.mf.gov.pl/schema/gtw/svc/types/2021/10/01/0001"
	xmlns:ns3="http://ksef.mf.gov.pl/schema/gtw/svc/online/auth/request/2021/10/01/0001">
	<ns3:Context>
		<Challenge>20240110-CR-70119507E6-939D56B35D-E7</Challenge>
		<Identifier xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:SubjectIdentifierByCompanyType">
			<ns2:Identifier>7598443628</ns2:Identifier>
		</Identifier>
		<DocumentType>
			<ns2:Service>KSeF</ns2:Service>
			<ns2:FormCode>
				<ns2:SystemCode>FA (1)</ns2:SystemCode>
				<ns2:SchemaVersion>1-0E</ns2:SchemaVersion>
				<ns2:TargetNamespace>http://crd.gov.pl/wzor/2021/11/29/11089/</ns2:TargetNamespace>
				<ns2:Value>FA</ns2:Value>
			</ns2:FormCode>
		</DocumentType>
		<Token>snwO+gROYnkuCzAMA6u+ImkhC+YdUF1N28apoky3khzwzS8zFHHxo/BPBZTpuDZEAHwcDwxpSdLoNZEFTBFBCWXxZVwmt/7YvdzNZXVOtFdSk5Z1B5Av4Buto9B2msxlCcnoaG5P7NhgeSH1iRVbg7EcgsFqX27m//rgL5zy+zurkz3CklrojpgSqZHRezppb7TjFis6J8YIwL3tjDwpjRAg5rr64CVUdZUVdFtsmkLa0OHIwI8gE6iWRUTHb+PNoAkWQVwP1b48Y8Zhwkn9gA1hTzEPMLmD1c4LuVUVJqg9Gpfl07/JCpco/YhWV3DyihNtpOf2S/jb/wWCH4QvcQ==</Token>
	</ns3:Context>
</ns3:InitSessionTokenRequest>

Zwrotkę jednak mam
Co może być nie tak ?
Podpisuje plik kluczem publicznym robię to za pomocą crypto w node.
Wszystko na test.

Kopiuj
            {
                "exceptionCode": 21111,
                "exceptionDescription": "Nieprawidłowe wyzwanie autoryzacyjne."
            }
Zobacz pozostałe 4 komentarze
F0
No widać że to rządowe materiały. Nic nie można znaleźć. Szukam po kawałkach InitSessionTokenRequest albo fragmentu z oryginalnego pliku i nic.
WS
kolego nie wiem na jakim etapie jesteś w tej chwili ale moim zdaniem 1. FA (1) jest nadal dozwolona 2. prawidłowy InitSessionTokenRequest masz dwa posty wyżej 3. Twój błąd z porannego postu może być spowodowany tym że wysyłasz swoje żądanie za późno (ileś sekund) po wykonaniu Authentication Challenge
F0
A to ciekawe. Bo w sumie jaki jest czas? Ja po wygenerowaniu tokena to sobie go ręcznie wklejam i załączam do postman. Więc więcej niż 1-2 min na pewno to nie trwa. Nieprawidłowe wyzwanie autoryzacyjne.
WS
w dokumentacji nie mogę znaleźć, ale mi zajmuje drugi request ok 20 sek i wtedy zwraca OK, też dłubię na razie ręcznie...
F0
No ja w teorii dostałem odpowiedź sessionToken ale fakt wszystko w kodzie(no takim pseudo)
P2
  • Rejestracja:około rok
  • Ostatnio:10 miesięcy
  • Postów:5
0

Witam, próbuję zautoryzować się z ksef-demo za pomocą tokena wygenerowanego z aplikacji ksef-demo. Wykonuje AuthorisationChallenge i dostaję timestamp -1 godz w porównaniu do czasu rzeczywistego. Następnie przygotowując request InitToken dostaję komunikat "Nieprawidłowy czas tokena.". Czy to jest spowodowane tym cofniętym timestamp? Próbowałem zmieniać godzinę serwera aby się zgadzała z tym ale nadal jest ten sam błąd.
Ktoś miał taki problem? Jeśli tak to jak go rozwiązał?

S8
ten timestamp musi byc do milisekund.. a pewnie masz w sekundach
P2
dzięki, jak widać myślenie nie boli bo serio zwracało mi w sekundach a nie w mili :D
S8
no ale zazwyczaj jest właśnie w sekundach, oni chcą w milisekundach ale nie kojarzę, żeby gdzieś to było napisane.. wszystkiego się trzeba tu domyślać.
Dzyszla
Na marginesie - on nie jest "cofnięty" tylko jest w UTC. W lato będziesz miał -2h.
TJ
  • Rejestracja:około rok
  • Ostatnio:około rok
  • Postów:2
0

@ToJaMajka możesz teraz sprawdzić :D Wystarczyło tylko tydzień poczekać. ;)
@Dzyszla Dzięki za info.
Ja pobierałem synchronicznie i problemem było złe serializowanie enum (SUBJECT2 zamiast subject2) w json, spowodowane niejawnym przełączaniem biblioteki do json-a przez Wildfly-a.
Jakoś to ogarnąłem i już wcześniej mi zadziałało.

Dzyszla
To może teraz przestało? ]:->
TJ
Póki co działa :)
F0
  • Rejestracja:ponad 13 lat
  • Ostatnio:około rok
  • Postów:2
0

Pytanie o yml z dokumentacji.
Jest dość fajny dokument KSeF-online.yml W którym mam opisy api.
I jest tam taka postać.

      content:
        application/json:
          schema:
            $ref: '#/components/schemas/QueryInvoiceAsyncStatusResponse'

Czy to kieruje do jakiś plik/dalszy schemat bo nie umiem tego otworzyć w przeglądarce. Może ktoś mnie nakierować jak to odczytać ?

Zobacz pozostały 1 komentarz
Grzegorz Molenda
Zobaczymy kiedy zmienisz zdanie na temat tego, czy rzeczywiście jest taki "fajny" ten dokument.
Dzyszla
To była zapewne ironia ;)
ZB
felek zdobywa teraz doświadczenie z rządowymi rozwiązaniami, prawdziwe i szczere opinie wkrótce ;-)
VL
Możesz użyć plików yaml np. w NSwagStudio i wygenerować z nich klienta c# lub typescript. Nawet jeśli nie używasz tych technologii to IMO łatwiej czytać wygenerowany kod niż treść tych plików.
F0
Tak zrobiłem dzięki
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)