Krajowy system e-Faktur

AL
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 21
0

Odnosnie zmian zapowiedzianych w KSeF w zakresie faktur wystawianych w obcej walucie. Jest informacja ze ma to dzialac wg kursu z dnia daty P_1, ale jak to sie ma do:

"Data dokonania lub zakończenia dostawy towarów lub wykonania usługi lub data otrzymania zapłaty, o której mowa w art. 106b ust. 1 pkt 4 ustawy, o ile taka data jest określona i różni się od daty wystawienia faktury. Pole wypełnia się dla przypadku, gdy dla poszczególnych pozycji faktury występują różne daty.".

W przykladach faktur z KSeF jest taka wlasnie ze kazdy wiersz nba fakturze ma inna date kursu waluty.

Znowu jakis wyjątek czy to bedzie jakos ustandaryzowane? Wie ktos moze jak do tego podejsc?

Przyklad z KSeF

Kopiuj
  <Fa>
    <KodWaluty>EUR</KodWaluty>
    <P_1>2022-02-15</P_1>
    <P_1M>Warszawa</P_1M>
    <P_2>FV2022/02/150</P_2>
    <P_13_1>13560.0</P_13_1>
    <P_14_1>3118.8</P_14_1>
    <P_14_1W>13768.14</P_14_1W>
    <P_15>16678.8</P_15>
    <Adnotacje>
      <P_16>2</P_16>
      <P_17>2</P_17>
      <P_18>2</P_18>
      <P_18A>2</P_18A>
      <P_19>2</P_19>
      <P_22>2</P_22>
      <P_23>2</P_23>
      <P_PMarzy>2</P_PMarzy>
    </Adnotacje>
    <RodzajFaktury>VAT</RodzajFaktury>
    <FaWiersze>
      <LiczbaWierszyFaktury>3</LiczbaWierszyFaktury>
      <WartoscWierszyFaktury1>13560.0</WartoscWierszyFaktury1>
      <FaWiersz>
        <NrWierszaFa>1</NrWierszaFa>
        <UU_ID>aaaa111133339990</UU_ID>
        <P_6A>2022-02-05</P_6A>
        <P_7>lodówka Zimnotech mk1</P_7>
        <CN>8418 21 91</CN>
        <P_8A>szt.</P_8A>
        <P_8B>10.0</P_8B>
        <P_9A>406.0</P_9A>
        <P_11>4060.0</P_11>
        <P_12>23</P_12>
        <P_12_Procedura>7</P_12_Procedura>
        <KursWaluty>4.408</KursWaluty>
      </FaWiersz>
      <FaWiersz>
        <NrWierszaFa>2</NrWierszaFa>
        <UU_ID>aaaa111133339991</UU_ID>
        <P_6A>2022-02-10</P_6A>
        <P_7>zamrażarka Zimnotech mk2</P_7>
        <CN>8418 40 20</CN>
        <P_8A>szt.</P_8A>
        <P_8B>20.0</P_8B>
        <P_9A>250.0</P_9A>
        <P_11>5000.0</P_11>
        <P_12>23</P_12>
        <P_12_Procedura>7</P_12_Procedura>
        <KursWaluty>4.5005</KursWaluty>
      </FaWiersz>
      <FaWiersz>
        <NrWierszaFa>3</NrWierszaFa>
        <UU_ID>aaaa111133339992</UU_ID>
        <P_6A>2022-02-20</P_6A>
        <P_7>zmywarka Bryza 100</P_7>
        <CN>8422 11 00</CN>
        <P_8A>szt.</P_8A>
        <P_8B>15.0</P_8B>
        <P_9A>300.0</P_9A>
        <P_11>4500.0</P_11>
        <P_12>23</P_12>
        <P_12_Procedura>7</P_12_Procedura>
        <KursWaluty>4.325</KursWaluty>
      </FaWiersz>
    </FaWiersze>
Macieyo
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 13
0

Hej,
Czy ktoś wie czy nadawanie uprawnień do wyświetlania faktur innemu podmiotowi działa w obrębie aplikacji testowej?
Nadałem innemu NIP uprawnienia do wyświetlania i wystawiania swoich faktur, ale gdy się loguję na ten NIP nadal nic nie widzę ani nie mam widocznych nadanych tych uprawnień.
Jeśli to nie działa, to jak można to przetestować?

J0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 83
0

Cześć
Mam taki problem z KSeF, że gdy wysyłam sesją interaktywną np. 10 faktur (lub więcej) to po wysyłce jak odpytuję o status sesji (online/Session/Status) otrzymuję w odpowiedzi nie pełną listę wysłanych faktur. Z wysłanych 10 faktur w odpowiedzi przychodzi mi lista z 9 fakturami. Co ciekawe gdy pobieram UPO to tutaj zwraca mi listę ze wszystkimi 10 fakturami. Gdy zaloguję się przez przeglądarkę do KSeF to w historii sesji mam wszystkie 10 faktur przyjętych.

Czy ktoś zetknął się z takim problemem?

JN
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
0

Hej
Wysyłka wsadowa: Czy ktoś może się domyśla, czemu wysyłając ten sam zestaw testowych danych (1000 faktur na serwer test), za pierwszym razem działa wszystko super, wysyłka trwa bardzo krótko, zamykam sesję i jest ok, a po kilkunastu minutach próbując wysłać zestaw o takiej samej wielkości, request batch/Upload działa bardzo długo? Mam Timeout ustawiony na 30 min, ale nie wiem, czy trzeba jeszcze to wydłużyć, czy z serwerem jest coś nie tak.

Może chodzi o to, że sesja jest pokazana jako "Zainicjalizowana" a nie "W trakcie"?

Macieyo
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 13
0

Hej
Czy ktoś wie czym różni się incremental type od range type?

AR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 13
0

Witam,
w jakich krokach w praktyce używacie interfejsów sesyjnych, chodzi mi o to w jakich krokach. Wiadomo na początku: 1. wyzwanie autoryzacyjne 2. token sesyjny 3. wysłanie faktury - czy przed wysyłką za każdym razem sprawdzacie Status sesji ? Po wysyłce faktury robicie Session Terminate ażeby następnie sprawdzić jej status /Invoice/Status/ ? Chodzi mi o scenariusz ażeby czegoś nie pominąć.

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

Pytanie o wysyłkę wsadową.
Paczkę należy podpisać kluczem prywatnym czy mmożna autoryzować tokenem.?
Przykład poproszę jesli można.

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

Hej,
Pytanie o błąd: "Nieprawidłowy czas tokena."
Piszę kod w PHP i wywala mi powyższy błąd, usuwam ze znaku czasowego milisekundy i z przykładowego: "2023-03-10T12:00:58Z" otrzymuję: "1678449658".
Do przekształcenia znaku czasowego używam poniższego kodu:
$datetomil = new \DateTime($dateWithoutMs, new \DateTimeZone('UTC'));
$mil_date = (int)$datetomil->format('Uv');
Token otrzymuję 344 znakowy, kończący się na: "==" więc powinien by w porządku.
Próbuję się połączyc z środowiskiem testowym.
Ma ktoś jakiś pomysł co może byc nie tak?
Z góry dziękuję za pomoc.

Macieyo
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 13
0

Hej,
Wie ktoś dokładnie jak wygląda autoryzacja poprzez API w kontekście innej firmy?

To co zrobiłem do tej pory:

  1. Nadałem uprawnienia firmie B do przeglądania faktur.
  2. Zrobiłem AuthChallenge jako firma A.
  3. Następnie signTokenem podpisałem to firmą B.

Niestety, dostaje cały czas: "exceptionCode":21111,"exceptionDescription":"Nieprawidłowe wyzwanie autoryzacyjne.
Przykładowy format - Nie wiem też co trzeba wpisywać w Identifier (Nip firmy A czy B, ale próbowałem w obie strony)

Kopiuj
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ns3:InitSessionTokenRequest xmlns:ns3="http://ksef.mf.gov.pl/schema/gtw/svc/online/auth/request/2021/10/01/0001" 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">
  <ns3:Context>
    <Challenge>20230313-CR-01A100D729-6C09058D94-89</Challenge>
    <Identifier xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:SubjectIdentifierByCompanyType">
      <ns2:Identifier>5512462717</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>NFN3CgbQk+ottv86OmUgY8veJ+4qpl42E1/s5wcY3PwAR97bkGwAwA8cVKnjhehcVTBy5uwqY9kpm3U3+2juQb/tZ7VIN7q5BoWFX4ptiXMjHV2V/q4Raq18flycoimDo9kNEWnF6Oqvnflw9CAF+rg8idiYl38CiGN64a7q55EcmjXzQArfqqo0wnTwnhZ7Dfu3Vxx7F2fWmZXqqj//tzYVxypIcfsXGgQA+mdY4P7+Q6s1c41BuqW2AcT2tQdFghbuFAyJnusHhXhcE33apuNYk7uX65t8dOXQUJQDMf/KSsp10BHItvO82xOjP5E9tFHOa8VgUhXWfyw==</Token>
  </ns3:Context>
</ns3:InitSessionTokenRequest>
S8
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 106
0

Czy jak wysyłacie np jedna fakturę i za sekundę kolejną to nie dostajecie czasami błędu o limicie żądań dla online.invoice.send ale faktura i tak zostaje wysłana ?

AR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 13
0

Dostajecie UPO na systemie testowym ? Mam cały czas komunikat: "processingDescription": "Zakończenie etapu weryfikacji stanu procesu", ale nie ma stringu z UPO ?

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

Hej,

Mam problem z pytaniem o faktury, mianowicie:
Autoryzuje się tokenem, następnie przy pomocy Invoice/async/init dostaję: { ["timestamp"]=> string(24) "2023-03-16T10:01:12.279Z" ["referenceNumber"]=> string(36) "20230316-SE-6DAC36336D-83112B1A1A-A2" ["processingCode"]=> int(100) ["processingDescription"]=> string(30) "Proces został zarejestrowany." ["elementReferenceNumber"]=> string(36) "20230316-EH-460664E2F6-6B05BED6E0-8D" }

Teraz chcę się wysłac invoice/async/status. W linku daję elementReferenceNUmber z wyżej otrzymanej odpowiedzi i wygląda to tak: https://ksef-test.mf.gov.pl/api/online/Query/Invoice/Async/Status/20230316-EH-460664E2F6-6B05BED6E0-8D

Co do tokenu w nagłówku to jest dodany analogicznie jak w requeście wyżej więc nie powinno by z tym problemu.

I tu pojawia się błąd, w odpowiedzi dostaję: "Sesja interaktywna zakończona."

Co robię źle? Z góry dziękuję za odpowiedź.

Piotr Józefowski
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Hej :) środowisko testowe - wysyłka faktury poprzez (online/Invoice/Send)

Za każdym razem dostaję Dokument nie jest zgodny ze schemą (json).

W hashSHA - value to treść faktury xml -> SHA 256 -> Base64 ?
fileSize - w jaki sposób jest liczone ?
InvoiceBody - treść faktury xml w Base64 (w yamlu jest enkryptowana - na webinarze mówili, że nie jest to konieczne w przypadku interfejsów interkatywnych)

PUT na
https://ksef-test.mf.gov.pl/api/online/Invoice/Send

{
"invoiceHash":
{
"hashSHA":
{
"algorithm":"SHA-256",
"encoding":"Base64",
"value":"ZyWxVNZG8DNrotP6nejrv24R/NDTLBLG7AsjNDshX2E"
},
"fileSize":1698
},
"invoicePayload":
{
"type":"plain",
"invoiceBody":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48RmFrdHVyYSB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxucz0iaHR0cDovL2NyZC5nb3YucGwvd3pvci8yMDIxLzExLzI5LzExMDg5LyI+PE5hZ2xvd2VrPjxLb2RGb3JtdWxhcnphIGtvZFN5c3RlbW93eT0iRkEgKDEpIiB3ZXJzamFTY2hlbXk9IjEtMEUiPkZBPC9Lb2RGb3JtdWxhcnphPjxXYXJpYW50Rm9ybXVsYXJ6YT4xPC9XYXJpYW50Rm9ybXVsYXJ6YT48RGF0YVd5dHdvcnplbmlhRmE+MjAyMy0wMy0yMVQxMDoxNjozNVo8L0RhdGFXeXR3b3J6ZW5pYUZhPjxTeXN0ZW1JbmZvPkFwbGlrYWNqYSBQb2RhdG5pa2EgS1NlRjwvU3lzdGVtSW5mbz48L05hZ2xvd2VrPjxQb2RtaW90MT48RGFuZUlkZW50eWZpa2FjeWpuZT48TklQPjUyNDI3NzU1MjM8L05JUD48SW1pZVBpZXJ3c3plPlBpb3RyPC9JbWllUGllcndzemU+PE5hendpc2tvPkrDs3plZm93c2tpPC9OYXp3aXNrbz48L0RhbmVJZGVudHlmaWthY3lqbmU+PEFkcmVzPjxBZHJlc1BvbD48S29kS3JhanU+UEw8L0tvZEtyYWp1PjxVbGljYT5BTEVKQSBQUllNQVNBIFRZU0nEhENMRUNJQTwvVWxpY2E+PE5yRG9tdT44M0E8L05yRG9tdT48TWllanNjb3dvc2M+V2Fyc3phd2E8L01pZWpzY293b3NjPjxLb2RQb2N6dG93eT4wMS0yMzQ8L0tvZFBvY3p0b3d5PjwvQWRyZXNQb2w+PC9BZHJlcz48L1BvZG1pb3QxPjxQb2RtaW90Mj48RGFuZUlkZW50eWZpa2FjeWpuZT48TklQPjk1ODA5NzIwODM8L05JUD48UGVsbmFOYXp3YT5Ta2lwcGVyPC9QZWxuYU5hendhPjwvRGFuZUlkZW50eWZpa2FjeWpuZT48QWRyZXM+PEFkcmVzUG9sPjxLb2RLcmFqdT5QTDwvS29kS3JhanU+PFVsaWNhPsW7dWJhcmR6azwvVWxpY2E+PE5yRG9tdT4zPC9OckRvbXU+PE1pZWpzY293b3NjPsWBw7Nkxbo8L01pZWpzY293b3NjPjxLb2RQb2N6dG93eT45MS0wMjI8L0tvZFBvY3p0b3d5PjwvQWRyZXNQb2w+PC9BZHJlcz48L1BvZG1pb3QyPjxGYT48S29kV2FsdXR5PlBMTjwvS29kV2FsdXR5PjxQXzE+MjAyMy0wMy0yMTwvUF8xPjxQXzFNPldhcnN6YXdhPC9QXzFNPjxQXzI+RlMvMjAyMy9URVNULzAwMTwvUF8yPjxQXzY+MjAyMy0wMy0yMTwvUF82PjxQXzEzXzE+MjA8L1BfMTNfMT48UF8xNF8xPjQuNjwvUF8xNF8xPjxQXzE1PjI0LjY8L1BfMTU+PEFkbm90YWNqZT48UF8xNj4yPC9QXzE2PjxQXzE3PjI8L1BfMTc+PFBfMTg+MjwvUF8xOD48UF8xOEE+MjwvUF8xOEE+PFBfMTk+MjwvUF8xOT48UF8yMj4yPC9QXzIyPjxQXzIzPjI8L1BfMjM+PFBfUE1hcnp5PjI8L1BfUE1hcnp5PjwvQWRub3RhY2plPjxSb2R6YWpGYWt0dXJ5PlZBVDwvUm9kemFqRmFrdHVyeT48RmFXaWVyc3plPjxMaWN6YmFXaWVyc3p5RmFrdHVyeT4xPC9MaWN6YmFXaWVyc3p5RmFrdHVyeT48V2FydG9zY1dpZXJzenlGYWt0dXJ5MT4yMDwvV2FydG9zY1dpZXJzenlGYWt0dXJ5MT48RmFXaWVyc3o+PE5yV2llcnN6YUZhPjE8L05yV2llcnN6YUZhPjxQXzc+WWR5IDN4MS41PC9QXzc+PFBfOEE+bWV0cjwvUF84QT48UF84Qj4yPC9QXzhCPjxQXzlBPjEwPC9QXzlBPjxQXzExPjIwPC9QXzExPjxQXzEyPjIzPC9QXzEyPjwvRmFXaWVyc3o+PC9GYVdpZXJzemU+PC9GYT48L0Zha3R1cmE+"
}
}

PB
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0

Hej,
Czy ktoś miał może przy wyszukiwaniu faktur problem z błędem:

{"exception":{"serviceCtx":"srvTRMFA","serviceCode":"20230322-EX-E5E744E449-D07CE1AA56-74","serviceName":"online.query.query.invoice","timestamp":"2023-03-22T14:02:52.482Z","referenceNumber":"20230322-SE-C77E83CF0E-FD82F34978-E7","exceptionDetailList":[{"exceptionCode":21304,"exceptionDescription":"Brak uwierzytelnienia."}]}}

w środowisku przedprodukcyjnym?

zaobserwowałem że powtarzał się od wtedy, jak podmiot nie miał wystawionej przynajmniej po jednej fakturze po stronie nadawczej i odbiorczej.
Od momentu gdy faktury są, błąd się nie powtórzył.

Jednorazowa sytuacja? Błąd w api po stronie serwera? Ktoś coś?

[Edit] rano działało a teraz znowu wywala ten sam błąd więc zbieżność z ilością faktur raczej przypadkowa bo teraz już są...

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

Cześc,

Mam problem z wysłaniem kilka razy /online/Query/Invoice/Async/Status/... na teście, jeśli łączny czas przerw między requestami wynosi więcej niż 10s wywala mi błąd:

["exceptionCode"]=>
int(21154)
["exceptionDescription"]=>
string(31) "Sesja interaktywna zakończona."

Poniżej tego czasu dostaje zawsze status 310.
Jak inaczej moge poczekac na status odpowiedzi 200?

DO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
0

Witam

Próbuję odzyskać z systemu kilka faktur.

Prośba:

Kopiuj
https://ksef-test.mf.gov.pl/api/online/Query/Invoice/Sync?PageSize=100&PageOffset=0
{"Accept": "application/json", "content-type": "application/json",
"SessionToken": "20b92e662fdafdb72953bb3d3407d0d3dfb79393feb156a4d5244ec8e9bd4db3"}
{ "queryCriteria": { "subjectType": "subject1", "type": "string" } }

Odpowiedź:

Kopiuj
400
{"exception":{"serviceCtx":"srvTEMFC","serviceCode":"20230324-EX-2A3D6880BF-6293A87334-3C",
"serviceName":"online.query.query.invoice","timestamp":"2023-03-24T15:56:18. 159Z",
"referenceNumber":"20230324-SE-901BA41B33-66661795AF-DB",
"exceptionDetailList":[{"exceptionCode":21404,
"exceptionDescription":"Nieprawidłowy format dokumentu (json)."}]}}

Co robię źle ?

Dziękuję

Dzyszla
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 264
0
dorakeen napisał(a):

Witam

Próbuję odzyskać z systemu kilka faktur.

Prośba:

Kopiuj
https://ksef-test.mf.gov.pl/api/online/Query/Invoice/Sync?PageSize=100&PageOffset=0
{"Accept": "application/json", "content-type": "application/json",
"SessionToken": "20b92e662fdafdb72953bb3d3407d0d3dfb79393feb156a4d5244ec8e9bd4db3"}
{ "queryCriteria": { "subjectType": "subject1", "type": "string" } }

Odpowiedź:

Kopiuj
400
{"exception":{"serviceCtx":"srvTEMFC","serviceCode":"20230324-EX-2A3D6880BF-6293A87334-3C",
"serviceName":"online.query.query.invoice","timestamp":"2023-03-24T15:56:18. 159Z",
"referenceNumber":"20230324-SE-901BA41B33-66661795AF-DB",
"exceptionDetailList":[{"exceptionCode":21404,
"exceptionDescription":"Nieprawidłowy format dokumentu (json)."}]}}

Co robię źle ?

Dziękuję

Sprawdź sobie, czy na pewno wszystko się w wywołaniu zgadza. Bez problemu to pracuje:
screenshot-20230328122057.png

AR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 13
0

Może ktoś się dopatrzy co robię źle

screenshot-20230330105914.png

AR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 13
0

Czy MF udostępniło jakąś formatkę do wyświetlania faktur pobranych z KSeF (/api/online/Invoice/Get/) ?

S8
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 106
0

Słuchajcie , jak wg Was najlepiej zweryfikować poprawność faktury ? Czy to tylko na "słowo honoru" ma być i wg tej dokumentacji struktury FA(1) ?
Chodzi mi o różne faktury typu Vat Marże, Zaliczki, Korekty zaliczek, korekta korekty zaliczki, sytuacje kiedy jest sprzedawca i wystawca, Sprzedaż w imieniu i na rzecz. Owszem oni udostępnili kilka przykładów..ale to przecież nie wszystkie możliwości. I teraz z tego co widzę mogę oczywiście wysyłać totalne bzdury tam (tak jak twierdzili nie sprawdzaja zawartości), nawet nie do końca zachowujac poprawność zależną od typu dokumentu a i tak to przechodzi, faktura elegancko przyjęta. Prosty przykład, jak właściwie powinien wyglądać XML dla zaliczki kiedy nie ma żadnego zamówienia.. ? Takich stuacji jest bardzo dużo. Jak sobie z tym radzicie?

J0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 83
0

Witam.
Podczas próby połączenia się s KSEF'em dostaję komunikat:

Project ... raised exception class EIdOSSLUnderlyingCryptoError with message "Error connectiong with SSL.
error: 14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure.

W tamtym tygodniu jeszcze wszystko działało. Dzisiaj dostaję w/w komunikat.
Występuje on w momencie próby wysłania żądania AuthorisationChallenge. Wysyłkę robię tak:

Kopiuj
...
var
  RequestStringStream: TStringStream;
  
  // RestClient, RESTReq, RESTResp - komponenty wrzucone na forme
  
begin
  RestClient.ContentType := ContentTypeToString(ctAPPLICATION_JSON);
  RestClient.Accept := 'application/json;q=0.9,text/plain;q=0.9,text/html';

  with RESTReq do
  begin
    ClearBody;
    Method := rmPost;
    Resource := '/online/Session/AuthorisationChallenge';
    Accept := 'application/json;q=0.9,text/plain;q=0.9,text/html';

    Params.AddItem('Content-Type', RestClient.ContentType, TRESTRequestParameterKind.pkHTTPHEADER, [TRESTRequestParameterOption.poDoNotEncode],
      TRESTContentType.ctAPPLICATION_JSON);

    if AHeader <> '' then
      Params.AddItem('SessionToken', AHeader, TRESTRequestParameterKind.pkHTTPHEADER, [TRESTRequestParameterOption.poDoNotEncode],
        ctAPPLICATION_JSON);

  end;

  RequestStringStream := TStringStream.Create( '{"contextIdentifier": {"type": "onip","identifier": "' + fNIP + '"}}', TEncoding.UTF8);

  try
    try
      RESTReq.AddBody(RequestStringStream, ctAPPLICATION_JSON);
      RESTReq.Execute;  // <----- W tym momencie wyrzuca błąd z SSL.
    except
      on E: EHTTPProtocolException do
        mmo1.Lines.Add(E.ErrorMessage + ' ' + IntToStr(E.ErrorCode));
      on E: Exception do
        mmo1.Lines.Add(E.Message);
    end;
  finally
    fJSONResp := RESTResp.Content;
  end;
  RequestStringStream.Free;
 ...

Czy w komponentach REST Client trzeba dodatkowo ustawić gdzieś SSL? nigdzie w nich takiej opcji nie widzę.

WT
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
0

Witam
Startuję z tematem KSeF i mam takie pytanie na które nie znalazłem odpowiedzi (aczkolwiek ten wątek jest tak długi, że mogłem pominąć)
Czy udało się może komuś przekonwertować schemat struktury faktur czyli schemat.xsd do Object w C#
Próbuję narzędziem z developer command promt: xsd /c schemat.xsd /n:Ksef.Faktury i mam błąd
Warning: Schema could not be validated. Class generation may fail or may produce incorrect results.

Można tego xsd jakoś przekonwertować innym sposobem?

AR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 13
0

Mam takie pytanie:
wysłanie faktury zwraca:
{
"timestamp": "2021-10-01T12:13:14.999Z",
"referenceNumber": "20211001-SE-FFFFFFFFFF-FFFFFFFFFF-FF",
"processingCode": 100,
"processingDescription": "Proces został zarejestrowany.",
"elementReferenceNumber": "20211001-EE-FFFFFFFFFF-FFFFFFFFFF-FF"
}
Przy wydruku UPO pole "Numer identyfikujący fakturę w Krajowym Systemie e-Faktur (KSeF)" to inna wartość niż referenceNumber, więc która wartość to dokładnie numer KSeF faktury ?

D1
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam. U mnie kłopot jest z konwersją XML do Base64. Dodaje dziwne znaki typu "\u002" i "\u003" przez co przy konwersji odwrotnej zamienia '>' na ".M" co oczywiście powoduje, że FV się rozjeżdża. Konwersję robię w C# metodą Convert.ToBase64String(). Nie mam pojęcia gdzie robię błąd. Proszę o pomoc. :) Załączam treść JSON jaka generuję.

"invoiceBody":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxGYWt0dXJhIHhtbG5zOmV0ZD0iaHR0cDovL2NyZC5nb3YucGwveG1sL3NjaGVtYXR5L2R6aWVkemlub3dlL21mLzIwMjEvMDYvMDkvZUQvRGVmaW5pY2plVHlweS8iIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiDQp4bWxucz0iaHR0cDovL2NyZC5nb3YucGwvd3pvci8yMDIxLzExLzI5LzExMDg5LyI\u002BPE5hZ2xvd2VrPjxLb2RGb3JtdWxhcnphIGtvZFN5c3RlbW93eT0iRkEgKDEpIiB3ZXJzamFTY2hlbXk9IjEtMEUiPkZBPC9Lb2RGb3JtdWxhcnphPg0KPFdhcmlhbnRGb3JtdWxhcnphPjE8L1dhcmlhbnRGb3JtdWxhcnphPg0KPERhdGFXeXR3b3J6ZW5pYUZhPjIwMjMtMDQtMDNUMDk6MzA6NDdaPC9EYXRhV3l0d29yemVuaWFGYT4NCjxTeXN0ZW1JbmZvPlNhbXBsb2Zha3R1cjwvU3lzdGVtSW5mbz4NCjwvTmFnbG93ZWs\u002BDQo8UG9kbWlvdDE\u002BDQo8RGFuZUlkZW50eWZpa2FjeWpuZT4NCjxOSVA\u002BODgxOTY0NjYxMDwvTklQPg0KPFBlbG5hTmF6d2E\u002BQUJDIEFHRCBzcC4geiBvLiBvLjwvUGVsbmFOYXp3YT4NCjwvRGFuZUlkZW50eWZpa2FjeWpuZT4NCjxBZHJlcz4NCjxBZHJlc1BvbD4NCgkJCQk8S29kS3JhanU\u002BUEw8L0tvZEtyYWp1Pg0KCQkJCTxVbGljYT5Ld2lhdG93YTwvVWxpY2E\u002BDQoJCQkJPE5yRG9tdT4xPC9OckRvbXU\u002BDQoJCQkJPE5yTG9rYWx1PjI8L05yTG9rYWx1Pg0KCQkJCTxNaWVqc2Nvd29zYz5XYXJzemF3YTwvTWllanNjb3dvc2M\u002BDQoJCQkJPEtvZFBvY3p0b3d5PjAwLTAwMTwvS29kUG9jenRvd3k\u002BDQoJCQk8L0FkcmVzUG9sPg0KCQk8L0FkcmVzPg0KCQk8RW1haWw\u002BYWJjQGFiYy5wbDwvRW1haWw\u002BDQoJCTxUZWxlZm9uPjY2NzQ0NDU1NTwvVGVsZWZvbj4JCQ0KCTwvUG9kbWlvdDE\u002BDQoJPFBvZG1pb3QyPg0KCQk8RGFuZUlkZW50eWZpa2FjeWpuZT4NCgkJCTxCcmFrSUQ\u002BMTwvQnJha0lEPg0KCQkJPEltaWVQaWVyd3N6ZT5KYW48L0ltaWVQaWVyd3N6ZT4NCgkJCTxOYXp3aXNrbz5Lb3dhbHNraTwvTmF6d2lza28\u002BDQoJCQk8L0RhbmVJZGVudHlmaWthY3lqbmU\u002BDQoJCTxBZHJlcz4NCgkJICAgCTxBZHJlc1BvbD4NCgkJCQk8S29kS3JhanU\u002BUEw8L0tvZEtyYWp1Pg0KCQkJCTxVbGljYT5Qb2xuYTwvVWxpY2E\u002BDQoJCQkJPE5yRG9tdT4xPC9OckRvbXU\u002BDQoJCQkJPE1pZWpzY293b3NjPldhcnN6YXdhPC9NaWVqc2Nvd29zYz4NCgkJCQk8S29kUG9jenRvd3k\u002BMDAtMDAxPC9Lb2RQb2N6dG93eT4NCgkJCTwvQWRyZXNQb2w\u002BDQoJCTwvQWRyZXM\u002BDQoJCTxFbWFpbD5qYW5Aa293YWxza2kucGw8L0VtYWlsPg0KCQk8VGVsZWZvbj41NTU3Nzc5OTk8L1RlbGVmb24\u002BDQoJCTxOcktsaWVudGE\u002BZmRmZDc3ODM0MzwvTnJLbGllbnRhPg0KCTwvUG9kbWlvdDI\u002BDQoJPEZhPg0KCQk8S29kV2FsdXR5PlBMTjwvS29kV2FsdXR5Pg0KCQk8UF8xPjIwMjMtMDQtMDM8L1BfMT4NCgkJPFBfMU0\u002BV2Fyc3phd2E8L1BfMU0\u002BDQoJCTxQXzI\u002BRlYyMDIyLzAyLzE1MDwvUF8yPg0KCQk8UF82PjIwMjItMDEtMjc8L1BfNj4NCgkJPFBfMTNfMT4xNjY2LjY2PC9QXzEzXzE\u002BDQoJCTxQXzE0XzE\u002BMzgzLjMzPC9QXzE0XzE\u002BDQoJCTxQXzEzXzM\u002BMC45NTwvUF8xM18zPg0KCQk8UF8xNF8zPjAuMDU8L1BfMTRfMz4NCgkJPFBfMTU\u002BMjA1MTwvUF8xNT4NCgkJPEFkbm90YWNqZT4NCgkJCTxQXzE2PjI8L1BfMTY\u002BDQoJCQk8UF8xNz4yPC9QXzE3Pg0KCQkJPFBfMTg\u002BMjwvUF8xOD4NCgkJCTxQXzE4QT4yPC9QXzE4QT4NCgkJCTxQXzE5PjI8L1BfMTk\u002BDQoJCQk8UF8yMj4yPC9QXzIyPg0KCQkJPFBfMjM\u002BMjwvUF8yMz4NCgkJCTxQX1BNYXJ6eT4yPC9QX1BNYXJ6eT4NCgkJPC9BZG5vdGFjamU\u002BDQoJCTxSb2R6YWpGYWt0dXJ5PlZBVDwvUm9kemFqRmFrdHVyeT4NCgkJPEZQPjE8L0ZQPg0KCQk8RG9kYXRrb3d5T3Bpcz4NCgkJCTxLbHVjej5wcmVmZXJvd2FuZSBnb2R6aW55IGRvd296dTwvS2x1Y3o\u002BDQoJCQk8V2FydG9zYz5kbmkgcm9ib2N6ZSAxNzowMCAtIDIwOjAwPC9XYXJ0b3NjPg0KCQk8L0RvZGF0a293eU9waXM\u002BDQoJCTxGYVdpZXJzemU\u002BDQoJCQk8TGljemJhV2llcnN6eUZha3R1cnk\u002BMzwvTGljemJhV2llcnN6eUZha3R1cnk\u002BDQoJCQk8V2FydG9zY1dpZXJzenlGYWt0dXJ5MT4xNjY3LjYxPC9XYXJ0b3NjV2llcnN6eUZha3R1cnkxPg0KCQkJPEZhV2llcnN6Pg0KCQkJCTxOcldpZXJzemFGYT4xPC9OcldpZXJzemFGYT4NCgkJCQk8VVVfSUQ\u002BYWFhYTExMTEzMzMzOTk5MDwvVVVfSUQ\u002BDQoJCQkJPFBfNz5sb2TDs3drYSBaaW1ub3RlY2ggbWsxPC9QXzc\u002BDQoJCQkJPFBfOEE\u002Bc3p0LjwvUF84QT4NCgkJCQk8UF84Qj4xPC9QXzhCPg0KCQkJCTxQXzlBPjE2MjYuMDE8L1BfOUE\u002BDQoJCQkJPFBfMTE\u002BMTYyNi4wMTwvUF8xMT4NCgkJCQk8UF8xMj4yMzwvUF8xMj4NCgkJCQk8UF8xMl9Qcm9jZWR1cmE\u002BNzwvUF8xMl9Qcm9jZWR1cmE\u002BDQoJCQk8L0ZhV2llcnN6Pg0KCQkJPEZhV2llcnN6Pg0KCQkJCTxOcldpZXJzemFGYT4yPC9OcldpZXJzemFGYT4NCgkJCQk8VVVfSUQ\u002BYWFhYTExMTEzMzMzOTk5MTwvVVVfSUQ\u002BDQoJCQkJPFBfNz53bmllc2llbmllIHNwcnrEmXR1PC9QXzc\u002BDQoJCQkJPFBfOEE\u002Bc3p0LjwvUF84QT4NCgkJCQk8UF84Qj4xPC9QXzhCPg0KCQkJCTxQXzlBPjQwLjY1PC9QXzlBPg0KCQkJCTxQXzExPjQwLjY1PC9QXzExPg0KCQkJCTxQXzEyPjIzPC9QXzEyPg0KCQkJCTxQXzEyX1Byb2NlZHVyYT43PC9QXzEyX1Byb2NlZHVyYT4NCgkJCTwvRmFXaWVyc3o\u002BDQoJCQk8RmFXaWVyc3o\u002BDQoJCQkJPE5yV2llcnN6YUZhPjM8L05yV2llcnN6YUZhPg0KCQkJCTxVVV9JRD5hYWFhMTExMTMzMzM5OTkyPC9VVV9JRD4NCgkJCQk8UF83PnByb21vY2phIGxvZMOzd2thIHBlxYJuYSBtbGVrYTwvUF83Pg0KCQkJCTxQXzhBPnN6dC48L1BfOEE\u002BDQoJCQkJPFBfOEI\u002BMTwvUF84Qj4NCgkJCQk8UF85QT4wLjk1PC9QXzlBPg0KCQkJCTxQXzExPjAuOTU8L1BfMTE\u002BDQoJCQkJPFBfMTI\u002BNTwvUF8xMj4NCgkJCQk8UF8xMl9Qcm9jZWR1cmE\u002BNzwvUF8xMl9Qcm9jZWR1cmE\u002BDQoJCQk8L0ZhV2llcnN6Pg0KCQk8L0ZhV2llcnN6ZT4NCgkJPFBsYXRub3NjPg0KCQkJPFphcGxhY29ubz4xPC9aYXBsYWNvbm8\u002BDQoJCQk8RGF0YVphcGxhdHk\u002BMjAyMi0wMS0yNzwvRGF0YVphcGxhdHk\u002BDQoJCQk8Rm9ybWFQbGF0bm9zY2k\u002BNjwvRm9ybWFQbGF0bm9zY2k\u002BDQoJCTwvUGxhdG5vc2M\u002BDQoJCTxXYXJ1bmtpVHJhbnNha2NqaT4NCgkJCTxaYW1vd2llbmlhPg0KCQkJCTxEYXRhWmFtb3dpZW5pYT4yMDIyLTAxLTI2PC9EYXRhWmFtb3dpZW5pYT4NCgkJCQk8TnJaYW1vd2llbmlhPjQzNTQzNDM8L05yWmFtb3dpZW5pYT4NCgkJCTwvWmFtb3dpZW5pYT4NCgkJPC9XYXJ1bmtpVHJhbnNha2NqaT4NCgk8L0ZhPg0KCTxTdG9wa2E\u002BDQoJCTxJbmZvcm1hY2plPg0KCQkJPFN0b3BrYUZha3R1cnk\u002BS2FwaWHFgiB6YWvFgmFkb3d5IDUgMDAwIDAwMDwvU3RvcGthRmFrdHVyeT4NCgkJPC9JbmZvcm1hY2plPg0KCQk8UmVqZXN0cnk\u002BDQoJCQk8S1JTPjAwMDAwOTk5OTk8L0tSUz4NCgkJCTxSRUdPTj45OTk5OTk5OTk8L1JFR09OPg0KCQkJPEJETz4wMDAwOTk5OTk8L0JETz4NCgkJPC9SZWplc3RyeT4NCgk8L1N0b3BrYT4NCjwvRmFrdHVyYT4NCg=="

KU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 30
0

Komuś zadziałała metoda /online/Payment/Identifier/Request?
Ja otrzymuję odpowiedź:
1000- Błąd wewnętrzny (C).

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

Cześć, mam problem z pobraniem faktury
Metoda: https://ksef-test.mf.gov.pl/api/online/Invoice/Get/{KSEF_NUMBER}
Komunikat: "exceptionCode": 21100, "exceptionDescription": "Nieprawidłowe żądanie.".
Miał ktoś takie problemy?
Nagłówki:
SessionToken w nagłówkach ustawiony
Accept : application/octet-stream

SK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0

SessionToken w nagłówkach ustawiony
Accept : application/octet-stream

Accept : application/octet-stream - tego to ja w takim zapytaniu nie używam. I działa.

Pavel Misko
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 23
0

Witam! Czy ktoś może mi powiedzieć, gdzie mogę znaleźć dokumentację?

Lub ktoś może podzielić się przykładem realizacji?

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

Cześć, też tak macie że na środowisku testowym czas jest przesunięty o dwie godziny do tyłu? Czy tak trudno ustawić poprawny czas na serwerze :( ...
W metodzie 'online/Query/Invoice/Sync' przy ustawieniu daty dateTo z przyszłości dozwolone jest +6h.

AR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 13
0

Czy dobrze interpretuję string pattern dla numer KSeF faktury (KSEFREFERENCENUMBER):
(1-9\d{7}|M\d{9}|[A-Z]{3}\d{7})-(20[2-9][0-9]|2[1-9][0-9]{2}|[3-9][0-9]{3})(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])-([0-9A-F]{6})-([0-9A-F]{6})-([0-9A-F]{2})

czy to będzie zawsze pole o długości 36 znaków ?

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.