Udostępnienie faktury w sposób uzgodniony. Kody weryfikujące QR - serwis

Moderatorzy: jacqueline, plazaweb

Awatar użytkownika
jevkoo
Administrator
Posty: 546
Rejestracja: 17 maja 2009, 19:28
Lokalizacja: Skoczów

Udostępnienie faktury w sposób uzgodniony. Kody weryfikujące QR - serwis

Post autor: jevkoo »

Udostępnienie faktury w sposób uzgodniony. Kody weryfikujące QR

Co do zasady faktura jest wystawiana i otrzymywana w KSeF. W określonych ustawowo sytuacjach – art. 106gb ust. 4 ustawy o podatku od towarów i usług, fakturę wystawioną w KSeF należy przekazać/udostępnić nabywcy w sposób z nim uzgodniony. Aby przekazać fakturę w sposób uzgodniony z nabywcą, poza KSeF wystawca obowiązany jest opatrzeć ją odpowiednim kodem weryfikującym.

Obowiązek przekazania nabywcy faktury w sposób uzgodniony wystąpi gdy:
  • miejscem świadczenia jest terytorium państwa członkowskiego inne niż terytorium kraju lub terytorium państwa trzeciego,
  • nabywcą jest podmiot nieposiadający siedziby działalności gospodarczej ani stałego miejsca prowadzenia działalności gospodarczej na terytorium kraju,
  • nabywcą jest podmiot nieposiadający siedziby działalności gospodarczej na terytorium kraju, który posiada stałe miejsce prowadzenia działalności
  • gospodarczej na terytorium kraju, przy czym to stałe miejsce prowadzenia działalności nie uczestniczy w nabyciu towaru lub usługi, dla którego wystawiono fakturę,
  • nabywcą jest podatnik z innego kraju UE, korzystający ze zwolnienia w ramach procedury SME,
  • nabywcą jest podmiot, który nie posługuje się numerem NIP,
  • nabywcą jest osoba fizyczna nieprowadząca działalności gospodarczej (konsument).
1. Kod QR Online
W Plaza są dwie możliwości wyświetlenia kodu QR (przykłady dotyczą faktur online):
1. Bezpośrednio z tabeli FAKTURA_KSEF
2. Zbudowania "w locie" na wzorcu

Pierwsza możliwość pozwala odczytać gotowy kod QR w postaci png z pola FAKTURA_KSEF.Faktura_KSEF_QR

Druga opcja to umieszczenie komponentu QR z linkiem
Link składa się z:
adresu URL: https://qr-test.ksef.mf.gov.pl/invoice,
daty wystawienia faktury (pole P_1) w formacie DD-MM-RRRR,
NIP-u sprzedawcy,
skrótu pliku faktury obliczonego algorytmem SHA-256 (wyróżnik pliku faktury) w formacie Base64URL.
Przykładowo dla faktury:

data wystawienia: "01-02-2026",
NIP sprzedawcy: "1111111111",
skrót SHA-256 w formacie Base64URL: "UtQp9Gpc51y-u3xApZjIjgkpZ01js-J8KflSPW8WzIE"

link wygląda tak:
https://qr-test.ksef.mf.gov.pl/invoice/ ... flSPW8WzIE

czyli w polu Expression dla komponentu to
'https://ksef.mf.gov.pl/invoice/wartość NIP/data dokumentu P_1/'+ Base64(wartość pola FAKTURA_NR_KSEF)
np. QR: https://qr-test.ksef.mf.gov.pl/invoice/ ... Sq3EKXtnxI

Można także odczytać link wprost z pola FAKTURA_KSEF.FAKTURA_KSEF_QR_LINK

Ilustracja na rysunkach niżej:

Obrazek

Wartość Expression kodu QR to domyślnie:

Kod: Zaznacz cały

<DaneKSeF."FAKTURA_KSEF_QR_LINK">
Obrazek

Można tez wykorzystać komponent TImageView i rysować na nim bezpośrednio lub po prostu pobrać pole FAKTURA_KSEF.FAKTURA_KSEF_QR z bazy.

Warto także oprogramować zdarzenie beforePrint dla naszego komponentu np.:

Kod: Zaznacz cały

procedure Barcode2D1OnBeforePrint(Sender: TfrxComponent);
begin
  Barcode2D1.Visible:=Trim(NaglowekFakturFDQuery.FieldByName('FAKTURA_NR_KSEF_FAKTURY').AsString  )<>'';
  ;tu można wstawić inne warunki wyświetlania kodu QR zgodne z ustawą
end;
a także zdarzenie AfterData:

Kod: Zaznacz cały

procedure Barcode2D1OnAfterData(Sender: TfrxComponent);
begin
   Barcode2D1.Text:=  Trim(NaglowekFakturFDQuery.FieldByName('FAKTURA_NR_KSEF_FAKTURY').AsString  )  
end;
Dla wersji offline wartość kodu będzie miała postać:

FAKTURA_NR_KSEF | FAKTURA_DATA_KSEF_PRZYJ w formacie ISO8601 | Nip Wystawcy (OBIEKT_NIP)

Przykładowy wzorzec faktury w załączeniu.

2. Kod QR Offline

Kod Offline wymaga certyfikatu prywatnego - certyfikat musi być w postaci pfx lub p12 - w konfiguracji oznaczony jest jako certyfikat offline.
Link ten jest automatycznie generowany przez system jeśli pole FAKTURA_NR_KSEF jest puste lub przyjmie wartość OFFLINE.
Jednocześnie w systemie zapisywany jest drugi link (do pola: FAKTURA_KSEF.FAKTURA_KSEF_QR_LINK2) zawierające certyfikat wystawcy. Obecnie nie przewidujemy tworzenia pliku obrazu Kodu II.

Wróć do „Podręcznik serwisanta”