Krajowy system e-Faktur

0

Cześć, mam kolejne pytanie. Idę zgodnie z logiką webinara wykonując następujące kroki:

  1. https://ksef-test.mf.gov.pl/api/online/Session/AuthorisationChallenge - korzystając z NIP1 jako kontekstu.
  2. https://ksef-test.mf.gov.pl/api/online/Session/InitSigned - podpisuję pieczęcią NIP1.
  3. https://ksef-test.mf.gov.pl/api/online/Credentials/Grant - nadaję poświadczenia do wysyłania i odczytywania faktur, podmiotowi NIP2.
  4. https://ksef-test.mf.gov.pl/api/online/Credentials/Status/elementReferenceNumber - sprawdzam status nadania poświadczeń, jak jest 200 to idę dalej.
  5. https://ksef-test.mf.gov.pl/api/online/Session/AuthorisationChallenge - ponownie robię challenge korzystając z NIP1 jako kontekstu.
  6. https://ksef-test.mf.gov.pl/api/online/Session/InitSigned - podpisuję jako podmiot NIP2
  7. https://ksef-test.mf.gov.pl/api/online/Credentials/GenerateToken - generuję token autoryzacyjny korzystając z tokena sesyjnego otrzymanego w kroku 6 (czyli jako NIP2)
  8. https://ksef-test.mf.gov.pl/api/online/Credentials/Status/elementReferenceNumber -sprawdzam status tokena.

W kroku 8 za każdym razem dostaje błąd: "processingCode":410,"processingDescription":"21301:Brak autoryzacji."

Przeglądając forum natrafiłem na informację, że tworzenie tokenu ma sens jedynie w sesji z pieczęcią. Faktycznie wtedy token działa jednak mam jakiś błąd przy szyfrowaniu. Poniżej załączę kod, którym szyfruję token. Gdyby ktoś mógł mi wskazać błąd to byłbym wdzięczny.

SZYFROWANIE TOKENU:

import java.security.KeyFactory
import java.security.spec.X509EncodedKeySpec
import javax.crypto.Cipher
import java.util.Base64
import java.text.SimpleDateFormat
import java.util.Date

timestamp = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX").parse(${challengeTime})

byte[] message = (${token}+"|"+timestamp.getTime()).getBytes()

def publicKeyPEM = """MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuWosgHSpiRLadA0fQbzshi5TluliZfDsJujPlyYqp6A3qnzS3WmHxtwgO58uTbemQ1HCC2qwrMwuJqR6l8tgA4ilBMDbEEtkzgbjkJ6xoEqBptgxivP/ovOFYYoAnY6brZhXytCamSvjY9KI0g0McRk24pOueXT0cbb0tlwEEjVZ8NveQNKT2c1EEE2cjmW0XB3UlIBqNqiY2rWF86DcuFDTUy+KzSmTJTFvU/ENNyLTh5kkDOmB1SY1Zaw9/Q6+a4VJ0urKZPw+61jtzWmucp4CO2cfXg9qtF6cxFIrgfbtvLofGQg09Bh7Y6ZA5VfMRDVDYLjvHwDYUHg2dPIk0wIDAQAB"""


def keyFactory = KeyFactory.getInstance("RSA")
def publicKeyBytes = Base64.getDecoder().decode(publicKeyPEM.replaceAll("\\n", "").getBytes())
def publicKeySpec = new X509EncodedKeySpec(publicKeyBytes)
def publicKey = keyFactory.generatePublic(publicKeySpec)

def cipher = Cipher.getInstance("RSA/ECB/OAEPWithSHA1AndMGF1Padding")
cipher.init(Cipher.ENCRYPT_MODE, publicKey)
def encryptedData = cipher.doFinal(message)

def base64EncodedData = Base64.getEncoder().encodeToString(encryptedData)

Nadal jednak nie rozumiem jaki jest sens nadawania poświadczeń podmiotowi NIP2 skoro i tak token autoryzacyjny działa dla NIP1 i nie uwzględnia żadnej informacji o tym NIP2. W webinarze token autoryzacyjny został wygenerowany przy użyciu tokena sesyjnego uzyskanego w procesie uwierzytelniania podpisem, a nie pieczęcią.

0

Faktury FEU i FEU-28b - gdzie wrzucać w Fa łączną kwotę? Z tego co się dowiedziałem, to takie faktury to są zawsze faktury typu "Odwrotne obciążenie", więc łączną kwotę wrzucam do pola P_13_10 które jest opisane w https://www.podatki.gov.pl/media/9512/broszura-informacyjna-struktury-logicznej-fa-2.pdf (str. 48) jako

Suma wartości sprzedaży w procedurze odwrotnego obciążenia...

Ale w jednym z programów łączna kwota poszła w jednej fakturze do pola P_13_8 a w drugie do P_13_9

Która wersja jest poprawna?

0

Witam.
Próbuję pobrać listę faktur przy pomocy:


curl_setopt_array($curl, array(
            CURLOPT_URL => "https://ksef-test.mf.gov.pl/api/online/Query/Invoice/Sync?PageSize=10&PageOffset=0",
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_POST => true,
            CURLOPT_POSTFIELDS => $searchQuery,
            CURLOPT_HTTPHEADER => array(
                "Content-Type: application/json",
                "Accept: application/json",
                "SessionToken: $session_token",       ),
        ));
 $response = curl_exec($curl);

Dostaję następującą zwrotkę:

                (
                    [serviceCtx] => srvTEMFB
                    [serviceCode] => 20240207-EX-622B5B71E1-1D930729CF-46
                    [serviceName] => online.query.query.invoice
                    [timestamp] => 2024-02-07T07:07:51.021Z
                    [referenceNumber] => 20240207-SE-B3741C945E-C4EA2D9FA7-E2
                    [exceptionDetailList] => Array
                        (
                            [0] => Array
                                (
                                    [exceptionCode] => 21304
                                    [exceptionDescription] => Brak uwierzytelnienia.
                                )
       )       )

Udało mi się dojść, że przyczyną jest opóźnione działanie SessionToken. Po dodaniu kilkusekundowego sleep pomiędzy uzyskaniem tokena, a Invoice/Sync, wszystko działa poprawnie.
Tak powinno być, czy to jest oznaka wadliwego działania ksef-test?

Wynik po sleep(5):

(
            [timestamp] => 2024-02-07T07:43:47.836Z
            [referenceNumber] => 20240207-SE-63E974F190-B854A82BC7-13
            [numberOfElements] => 50
            [pageSize] => 10
            [pageOffset] => 0
            [invoiceHeaderList] => Array
                (
                    [0] => Array
                        (
                            [invoiceReferenceNumber] => F 002/02/2024
                            [ksefReferenceNumber] => 6012547380-20240206-C0463386E1E8-F3
                            [invoiceHash] => Array
                                (
                                    [hashSHA] => Array
                                        (
                                            [algorithm] => SHA-256
                                            [encoding] => Base64
                                            [value] => dksz32VrkW8a4vAszvpZQvHOYwXVtqfJlamloJ1yJR8=
                                        )

                                    [fileSize] => 2565
                                )
0

Mam dosyć nietypowe pytanie. Wiecie jak do demo dodać faktury, których to nasza firma będzie odbiorcą?
Chodzi o przetestowanie procedury pobierania faktur kosztowych z KSEF.

0

Cześć, odnośnie faktur. Dobrze rozumiem, że wysyłka interaktywna dotyczy pojedynczej faktury i wtedy nie jest ona dodatkowo szyfrowana (bez sekcji Encription przy podpisie xml), natomiast wysyłka wsadowa wymaga szyfrowania? Są jeszcze jakieś inne formy/warianty wysłania faktury?

0

Czy da się uzyskać "historię sesji"?
Zawierającą dane takie dane jak na stronie: https://ksef-test.mf.gov.pl/web/sessions-history

0

czesc, w jaki sposób mogę pobrac wszystkie faktury (nie nagłówki, ale pełne faktury) za zadany okres?
/online/Query/Invoice/Async/Status/{QueryElementReferenceNumber} zwraca mi zawsze 0 elementów ;/

czy jedynym wyjściem jest pobrac nagłówki i później dopiero pobierac pojedynczo pełne faktury na podstawie KSeFRefNo?

0

Wysyłka faktury FA(2) w pobranych przykładów FA_2_Przykład_4.xml metodą SEND na testowy i otrzymuję komunikat:
Dokument nie jest zgodny ze schemą (json).
Gdzie szukać przyczynę tej niezgodności?

$url = $url0.'/online/Invoice/Send';
$ch = curl_init( $url );
   
$headers = array( 
   'Accept: application/json',
   'Content-Type: application/json',
   "SessionToken: $sessionToken");

$data = array( 
        "invoiceHash" => 
           array("hashSHA" => 
              array("algorithm" => "SHA-256",
                    "encoding" => "Base64",
                    "value" => "$hashCode"),
              "fileSize" => $fileSize),
        "invoicePayload" => 
           array("type" => "plain",
                 "invoiceBody" => "$invoiceCode")
        );

curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode($data) );
   
$resultCURL = curl_exec($ch);
curl_close($ch);

0

Po dzisiejszej aktualizacji zapewniają, że poprawili (zgłoszone 8 grudnia):

  1. Brak możliwości wysłania i sprawdzenia stanu więcej niż jednej faktury (interaktywne)
  2. Sprawdzanie płatności ma pattern niezgodny z generowanym przez metodę generowania identyfikatora płatności ? nie da się sprawdzić wygenerowanego identyfikatora zgodnie ze specyfikacją.

Nie sprawdzałem jeszcze, niemniej.

0

Cześć,

Jak na dokumencie mam więcej niż 1 płatność, np.: karta i gotówka. To jak to powinienem wysłać do ksefu?

0

Hej, no więc tak pokornie zastosowałem się do dokumentacji.

Wysyłka zaszyfrowanej faktury (schema FA(2)), w sesji interaktywnej wygląda u mnie w ten sposób:

  1. Tworzę klucz AES (256)

  2. Szyfruję go kluczem publicznym

  3. Tworzę wektor (16)

  4. Używam tego w sekcji Encryption przy uwierzytelnianiu za pomocą pieczęci

  5. Koduję fakturę (SHA-256) i wyliczam skrót

  6. Nie zakodowaną fakturę szyfruję niezaszyfrowanym kluczem AES (tym samym co w kroku 1) korzystając z wektora (punkt 3)

  7. Koduję zaszyfrowaną fakturę i wyliczam skrót

  8. Wysyłam request PUT https://ksef-test.mf.gov.pl/api/online/Invoice/Send BODY:

     {
     "invoiceHash": {
         "hashSHA": {
           "algorithm": "SHA-256",
           "encoding": "Base64",
           "value": "BlpeWXqXFsSam+NnJG6i2i5BIbP4SZ7DeH1jE16eNdo="
          },
         "fileSize": 6168
      },
     "invoicePayload": {
         "type": "encrypted",
         "encryptedInvoiceHash": {
         "hashSHA": {
           "algorithm": "SHA-256",
           "encoding": "Base64",
           "value": "XMkmCnMeAX+6nwCtz7K1IvJkF27PhoxfImdGOVMrCtE="
         },
       "fileSize": 6176
      },
     "encryptedInvoiceBody": 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
       }
     }
    

No i dostaję bardzo konkretną treść błędu:
{"exception":{"serviceCtx":"default","serviceCode":"20240209-EX-06E00E2301-17513611BF-4F","serviceName":"online.invoice.invoice.send","timestamp":"2024-02-09T13:35:28.875Z","exceptionDetailList":[{"exceptionCode":21001,"exceptionDescription":"Nieczytelna treść."}]}}

Ktoś miał podobny problem? Co robię źle?

1

Pisałem parę dni temu, że zapytałem helpdesk KseF, jak można się zapisać do grup konsultacyjnych. I dzisiaj mi przesłali linka do strony, na której można się zgłaszać!

https://www.gov.pl/web/kas/zapraszamy-na-konsultacje-w-sprawie-ksef

0

Czy w korekcie będzie dało się jednoznacznie odnaleźć pozycję korygowaną?
Na korekcie wystawiamy dwie pozycje. Sprzed korekty, z ustawieniem znacznika "StanPrzed" oraz po korekcie. Co będzie pozwalało jednoznacznie zidentyfikować w każdym przypadku, że pozycja po korekcie dotyczy pozycji sprzed korekty? NrWierszaFa? Teoretycznie NrWierszaFa obu pozycji powinien być taki sam.

0

Witam.

Mam problem z wysyłką wsadową, którą próbuję zrealizować w kilku krokach:

1.Inicjalizacja wysyłki wsadowej (/batch/Init) - otrzymuje odpowiedź z kodem 200 i adresem do upload'u
2. Sprawdzam status przetwarzania wsadowego (/common/Status/) - kod 200 oraz informacja "Sesja wsadowa rozpoczęta. Komunikacja otwarta"
3. Pod otrzymany adres do upload'u (/batch/Upload/{ReferenceNumber}/{PartName}) wysyłam zaszyfrowaną paczkę faktur - odpowiedź z kodem 200
4. Później finalizuję wysyłkę wsadową paczki faktur (/batch/Finish) - odpowiedź z kodem 200
5. Na sam koniec ponowienie sprawdzam statusu przetwarzania wsadowego - otrzymuję na początku w odpowiedzi informację "Zakończenie etapu autoryzacji procesu" a następnie błąd: "processingCode":416,"processingDescription":"21305:Brak uwierzytelnienia certyfikatu."
Sprawdziłem ten sam certyfikat np. dla sesji interaktywnej i działa. Ktoś ma jakiś pomysł czym to może być spowodowane?

Edit 1:request.zip

Edit 2:

  1. https://ksef-test.mf.gov.pl/api/batch/Init
{
    "timestamp": "2024-02-12T10:08:44.834Z",
    "referenceNumber": "20240212-SE-3A433ED969-D1C12C5FEF-91",
    "packageSignature": {
        "packageName": "invoice.zip",
        "packagePartSignatureList": [{
                "ordinalNumber": 1,
                "partFileName": "invoice.zip.part1",
                "url": "https://ksef-test.mf.gov.pl/api/batch/Upload/20240212-SE-3A433ED969-D1C12C5FEF-91/20240212-EA-3572222A27-A8EDF27874-93",
                "method": "PUT",
                "headerEntryList": [{
                        "key": "Content-SHA256",
                        "value": "aeFrVjzE7yKT8T0jGdRCCZkuuqoE3PCKhcyKmIo/Vx4="
                    }, {
                        "key": "X-TargetSrv-Name",
                        "value": "default"
                    }
                ]
            }
        ]
    }
}
  1. https://ksef-test.mf.gov.pl/api/batch/Upload/20240212-SE-3A433ED969-D1C12C5FEF-91/20240212-EA-3572222A27-A8EDF27874-93
{"timestamp":"2024-02-12T10:08:45.264Z","referenceNumber":"20240212-SE-3A433ED969-D1C12C5FEF-91"}
  1. https://ksef-test.mf.gov.pl/api/batch/Finish
{
  "referenceNumber": "20240212-SE-3A433ED969-D1C12C5FEF-91"
}
  1. https://ksef-test.mf.gov.pl/api/common/Status/20240212-SE-3A433ED969-D1C12C5FEF-91
{"timestamp":"2024-02-12T10:08:45.344Z","referenceNumber":"20240212-SE-3A433ED969-D1C12C5FEF-91","processingCode":310,"processingDescription":"Zakończenie etapu autoryzacji procesu"}
{"timestamp":"2024-02-12T10:08:50.371Z","referenceNumber":"20240212-SE-3A433ED969-D1C12C5FEF-91","processingCode":416,"processingDescription":"21305:Brak uwierzytelnienia certyfikatu."}

request.zip

0

Panowie
Serdeczna prośba
Możecie spojrzeć gdzie jest błąd
Mój kod

  $sInvoiceExample = trim($sInvoiceExample);
  $digestSHA = hash('sha256', $sInvoiceExample, true);
  $base64EncodedSHA = base64_encode($digestSHA);
  $fileSize = strlen($sInvoiceExample);
  $base64EncodedContent = base64_encode($sInvoiceExample);

$requestBody = [
    'invoiceHash' => [
        'hashSHA' => [
            'algorithm' => 'SHA-256',
            'encoding' => 'Base64',
            'value' => $base64EncodedSHA,
        ],
        'fileSize' => $fileSize
    ],
    'invoicePayload' => [
        'invoiceBody' => $base64EncodedContent,
        'type' => 'plain',

    ]
];

    $oConnectData = json_decode($this->InitToken());
    $headers = array(
        'Accept: application/json',
        'SessionToken: ' .$oConnectData->sessionToken->token,
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://ksef-demo.mf.gov.pl/api/online/Invoice/Send');
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_PUT, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($requestBody));

    $response = curl_exec($ch);

    if (curl_errno($ch)) {
        echo 'Curl error: ' . curl_error($ch);
    }

    curl_close($ch);

I teraz tak
Skrót jest prawidłowy, wielkość piku jest prawidłowa, faktura jest prawidłowa, token jest prawidłowy
Odpalając skrypt na swoim serwerze cały czas dostaje odpowiedź "Nieprawidłowe żądanie."
Ale podstawiając wszystkie zmienne i testując na stronie https://reqbin.com/ faktura idzie normalnie do KSeFu
To samo testując przez SOAPUI też idzie bez problemu do KSeFu.

0

Gdybyście mieli możliwość zadania pytania na rozpoczynających się konsultacjach w MF to co byłoby dla Was najważniejsze?
Pomijam pytanie o nowy termin obligatoryjnego KSeF :-)

0

Walidacja faktury XML.
Czy istnieje jakiś ogólnodostępny walidator dokumentów, jakie chcę przesłać do KSeF?
Otrzymuję teraz mało mówiącą odpowiedź: Dokument nie jest zgodny ze schemą (xsd).
Mogę sprawdzić dokument porównując dokładnie ze schemą, ale może są prostsze metody - co jest nie zgodne ?

2

Jakie informacje ja osobiście wyniosłem z drugiego dzisiaj spotkania:

-Każdy interpretuje sobie przepisy jak chce.
-Ale Ci programiści są okropni, czego oni nie rozumieją?

0

Dla porządku, umieszczam to, co wynotowałem z tych dzisiejszych konsultacji z MF/AK (to fragmenty, ale przynajmniej jakaś konkretna informacja, dla tych którzy nie mają sił i nerwów oglądać nagrania, o ile zostało opublikowane):

2024-02-16:
Certyfikaty:

  • specyfikacja techniczna i rozporządzenie do końca marca
  • będą obowiązywać od 1 lipca
  • przypisane do ludzi (profil zaufany) lub do pieczęci firmowej
  • będzie tryb pełnomocnika, gdzie zarządzanie certyfikatami zostanie przekazane np. do biura rachunkowego
  • pieczęć cyfrowa to dla firmy z o.o. to "must have"

Wizualizacja:

  • traktuj tę z Aplikacji Podatnika / QR code jako obowiązującą. (CRD to takie "piąte koło u wozu").

Tryb awaryjny

  • ma być oddzielny serwis, informujący czy system "żyje", czy ma awarię

Gdy otrzymasz w KSeF fakturę, której nie akceptujesz:

  • ukryj ją (Hide)
  • będzie mechanizm zgłaszania do KAS takich faktur (?)
1

W nawiązaniu do mojego komentarza pod postem @Witold Jaworski że mechanizm do zgłaszania faktur, których się nie akceptuje już jest na ksef-test to muszę się wycofać. Bo ten mechanizm był we czwartek ale już go nie ma (jakkolwiek to brzmi). W załącznikach pliki które wisiały na ksef-test we czwartek.

HistoriaZmian(51).txtKSeF-online(6).yaml

0

Cześć, chciałbym poprzez EP online/Credentials/GenerateToken wygenerować nowy token.
Dostaje błąd 21301 Brak autoryzacji.
Inne operacje typu wysyłka/odbieranie faktur przechodzą.

Działam w kontekście sesji, którą nawiązałem poprzez online/Session/InitToken.
Token, którego użyłem w InitToken został wygenerowany na https://ksef-test.mf.gov.pl/web gdzie zaznaczyłem wszystkie uprawnienia tam dostępne (dostęp do faktur, wystawianie faktur, przeglądanie uprawnień, zarządzanie uprawnieniami).

Podczas logowania do aplikacji web KSeF podawałem jedynie NIP. Nie załączałem podpisanego żądania autoryzacyjnego XML. Czy to może być przyczyna "Braku autoryzacji" - tzn. że źle zalogowałem się do aplikacji webowej KSeF?
Jeśli tak, to czym i jak podpisać takie żądanie autoryzacyjne do aplikacji KSeF? Na tym polu jestem laikiem. Działam w .NET i nie mam żadnych certyfikatów żeby taki podpis zrobić.

Dzięki za wyrozumiałość.

0

Czy oznacza się jakoś w KSeFie faktury wystawiane do paragonów? W przykładowym pliku JPK dla faktury do paragonu mam pole <tns:TypeDokumentu>FP</tns:TypDokumentu> (nie wiem dlaczego albo czy to potrzebne w JPK, taki przykładowy plik dostałem), ale w dokumentacji KSeF nic nie widzę co by miał związek z paragonami

0

Są już informacje o ofertach, jakie były złożone do audytu:
https://crn.pl/aktualnosci/mf-wybralo-firme-it-ktora-wykona-audyt-ksef/

0

Wysyłam faktury interaktywnie. Czy może się zdarzyć, że dla zakończonej sesji (status 200) nie ma jeszcze wygenerowanego UPO?

0

Jakieś wnioski po rozmowach o identyfiaktorach płatności?

Ja wyciągam:

  • w razie awarii paraliż bo nie przewidują trybu awaryjnego
  • nie zrezygnują z rozwiązania bo chcą wszystko widzieć, ale jednocześnie są świadomi, że nie zobaczą ani 50% tego, co chcą widzieć.
  • może rozważą pomysł, aby nie zgłaszać się po identyfiaktor, tylko wysłać do KSeFu własny identyfikator i listę faktur tak, aby można go generować poza systemem
  • może wreszcie poprawią YAMLa, bo to co jest obecnie, w ogóle się nie zgadza z rzeczywistością
  • nie wiadomo, kiedy będzie ten system obowiązkowym i kiedy będą ewentualne kary
  • oni sobie myślą, że jak ktoś się zaloguje do systemu, to będzie cały dzień tam siedział (a UPO gdzie?) i grzebał na nim
0

Próbuje nawiązać sesję poprzez online/Session/InitSigned
Dostaje błąd: 9105 Nieprawidłowa treść podpisu.

Zrobiłem to w ten sposób, że najpierw za poradą Dzyszla wygenerowałem certyfikat:

makecert -r -pe -h 0 -n "CN=Test KSeF, 2.5.4.97=VATPL-XXXXXXXXXX" /eku "1.3.6.1.5.5.7.3.3,1.3.6.1.4.1.311.10.3.13" -e 01/01/2025 -sky exchange -sv cert.pvk cert.cer
Pvk2Pfx /pvk cert.pvk /spc cert.cer /pfx cert.pfx

Później już z użyciem cert.pfx podpisuje w .NET wygenrowany XML i wygląda to mniej-więcej tak, co może być przyczyną? Może źle robie ten podpis?
Czego używacie w .NET do podpisów xades?

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<ns3:InitSessionSignedRequest 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>20240222-CR-XXXXXXXXXXX-F3E7AC30DF-36</Challenge>
		<Identifier xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:SubjectIdentifierByCompanyType">
			<ns2:Identifier>1111111111</ns2:Identifier>
		</Identifier>
		<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>
	</ns3:Context>
	<ds:Signature Id="Signature" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
		<ds:SignedInfo>
			<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
			<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/>
			<ds:Reference Id="Signature-ref0" URI="">
				<ds:Transforms>
					<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
				</ds:Transforms>
				<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/>
				<ds:DigestValue>lljBVeVSv7SfNfB/tJAtyhBwAnT5eHg40Ka4hG6eJ/TfiHXKM0l+Hzjwgqdjl1YoKwfbro73KsKnTKqU/cWOSw==</ds:DigestValue>
			</ds:Reference>
			<ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#SignedProperties">
				<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/>
				<ds:DigestValue>iUd0mOmJG0Wy9918SXJKKrHRWolcpFFPXRCm3Bk67/OjOKgxZ2k9gj49mobWkDtupnR3Dtcp90Qbcci07CWzuQ==</ds:DigestValue>
			</ds:Reference>
		</ds:SignedInfo>
		<ds:SignatureValue Id="Signature-sigvalue">zJ1j8O+US8WQULCLh3vrMSi/T2d36CipMPA8hi1jEUPUFilQFCz3AzYFqR4qxVqWNG32r4myMr10A5cXVFJGVBg3fLKRCGQWW56nw9ADaDTOwlPbbXbsc00RFxSMU/SbgjybDAe6GvFO1CQURn0vX82zNIFdPv6cGuirrrzS7RA=</ds:SignatureValue>
		<ds:KeyInfo>
			<ds:X509Data>
				<ds:X509Certificate>MIICczCCAeCgAwIBAgIQX3PDw1d2OaxJvWILQEPG8DAJBgUrDgMCHQUAMC8xGTAXBgNVBGETEFZBVFBMLTE0OTIyMDI4MDMxEjAQBgNVBAMTCVRlc3QgS1NlRjAeFw0yNDAyMjIwOTU1MTFaFw0yNDEyMzEyMzAwMDBaMC8xGTAXBgNVBGETEFZBVFBMLTE0OTIyMDI4MDMxEjAQBgNVBAMTCVRlc3QgS1NlRjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0/D5NsACnRsSufH3wYzQn9/m1BdcaKTAMwHrcN8zYmh5A5lF0zG9nooxboj4XjDfk29oLwosR1vL2Ni0y/KtONcUG1Ka9nhgSke9z7ziyv8WX4ax4eAyG+0FUVKh3SYH+4bu9bz2HR3CLMP/2dgDvLxtesHW/m39ESuf2pFNW0kCAwEAAaOBlzCBlDAPBgNVHRMBAf8EBTADAgEAMB8GA1UdJQQYMBYGCCsGAQUFBwMDBgorBgEEAYI3CgMNMGAGA1UdAQRZMFeAEKA4/mNyA4xiOlKYDIcSrcKhMTAvMRkwFwYDVQRhExBWQVRQTC0xNDkyMjAyODAzMRIwEAYDVQQDEwlUZXN0IEtTZUaCEF9zw8NXdjmsSb1iC0BDxvAwCQYFKw4DAh0FAAOBgQAKHd8K3cooghIxzMrF+3yMj7aH0UqhhB+Wc9YKI1Gr34UuFimiv04oE4hzSPNovRkIZAUGgX99cXjq1Xcova8MHiylgoHHlJU897MyVxafg1bO7jLjYD9loJLQENczY8LPmKwd0LId8vtTwXcNouFsBJt+QHX2zokcftMMguEw2Q==</ds:X509Certificate>
			</ds:X509Data>
		</ds:KeyInfo>
		<ds:Object>
			<xades:QualifyingProperties Target="#Signature" xmlns:xades141="http://uri.etsi.org/01903/v1.4.1#" xmlns:xades="http://uri.etsi.org/01903/v1.3.2#">
				<xades:SignedProperties Id="SignedProperties">
					<xades:SignedSignatureProperties>
						<xades:SigningTime>2024-02-22T10:23:00Z</xades:SigningTime>
						<xades:SigningCertificate>
							<xades:Cert>
								<xades:CertDigest>
									<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/>
									<ds:DigestValue>fV+etlejdjosMon7Wo2nTtJVRIc=</ds:DigestValue>
								</xades:CertDigest>
								<xades:IssuerSerial>
									<ds:X509IssuerName>CN=Test KSeF, OID.2.5.4.97=VATPL-1111111111</ds:X509IssuerName>
									<ds:X509SerialNumber>126877744284731036914635740664884872944</ds:X509SerialNumber>
								</xades:IssuerSerial>
							</xades:Cert>
						</xades:SigningCertificate>
					</xades:SignedSignatureProperties>
				</xades:SignedProperties>
			</xades:QualifyingProperties>
		</ds:Object>
	</ds:Signature>
</ns3:InitSessionSignedRequest>
0

Mam problem z wysyłką wsadową. Ze specyfikacji oraz z xml'a inicjalizującego wysyłkę wsadową wyciągnąłem wnioski, że ograniczenia dotyczące wysyłki to:

  1. Rozmiar części paczki nie może przekroczyć 50MB.
  2. Cała paczka nie może być podzielona na więcej niż 100 części.

Jednak zdarza się, że wysyłam 100 części, które mają po 30KB i KSeF się zawiesza na jednej z części, przez co nie mogę przesłać całej paczki, pomimo że nie przekraczam ani limitu cześci, ani rozmiaru. Jest coś o czym nie wiem? Jest jeszcze jakiś limit na liczbę faktur na część lub na całą paczkę?

0

Jak rozumieć "obsługę autoryzacji w standardzie eIDAS. " i czemu tylko na demo? (https://www.gov.pl/web/kas/komunikat-nr-107-aktualizacja-api-krajowego-systemu-e-faktur-na-srodowisku-przedprodukcyjnym-demo)

0

Witam

Czy ktoś ma podobny problem, kiedy wysyłam fakturę otrzymuje: Curl error: OpenSSL SSL_read: Connection reset by peer, errno 104

1 użytkowników online, w tym zalogowanych: 1, gości: 0