ROWFA

KSeF QR code: how the verification link is built

An invoice passed on outside KSeF (for example as a PDF) carries a QR code. The code is simply a link, called KOD I, that lets anyone check that the invoice exists in KSeF.

Link format

https://qr.ksef.mf.gov.pl/invoice/{NIP}/{DD-MM-YYYY}/{hash}

PartWhat it is
{NIP}Seller's NIP (10 digits)
{DD-MM-YYYY}Issue date, field P_1 of the invoice, written day-month-year
{hash}SHA-256 hash of the invoice XML file, encoded as Base64URL

Official example: https://qr-test.ksef.mf.gov.pl/invoice/1111111111/01-02-2026/UtQp9Gpc51y-u3xApZjIjgkpZ01js-J8KflSPW8WzIE

Environments

EnvironmentAddress
Productionhttps://qr.ksef.mf.gov.pl
Pre-production (demo)https://qr-demo.ksef.mf.gov.pl
Testhttps://qr-test.ksef.mf.gov.pl

Label under the code

In the converter

The workbook has a "KSeF verification link" column built this way for every invoice. The hash is taken from the file you dropped, so the link resolves only if that file is byte-for-byte the one KSeF holds. A file that was opened and re-saved by another program will produce a different hash. The PDF shows the QR code only when the KSeF number is known, because the number belongs under the code.

Have a ZIP of KSeF XML invoices?
Turn it into an Excel workbook and PDFs. Free up to 5 files, nothing uploaded.

Open the converter

Source: Kody weryfikujÄ…ce QR (KSeF documentation, dated 21.08.2025). Read 2026-11-10.