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).
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:

Wartość Expression kodu QR to domyślnie:
Kod: Zaznacz cały
<DaneKSeF."FAKTURA_KSEF_QR_LINK">
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;Kod: Zaznacz cały
procedure Barcode2D1OnAfterData(Sender: TfrxComponent);
begin
Barcode2D1.Text:= Trim(NaglowekFakturFDQuery.FieldByName('FAKTURA_NR_KSEF_FAKTURY').AsString )
end;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.