SIGNET ·
Signet / Guides / Fatoora QR anatomy

The 9 TLV tags inside every Fatoora QR, explained

Every QR on a Saudi e-invoice is the same thing underneath: a Base64 string wrapping a TLV structure. Read the tags and the invoice explains itself.

TLV in one minute

TLV means Tag–Length–Value: each field is stored as a tag number, the byte-length of its content, and the content itself, one after another. ZATCA packs the invoice's key fields this way and encodes the result as Base64 — which is why the raw QR payload looks like random text until it's decoded.

The nine tags

Phase-1 basics · tags 1–5

TAG 1Seller name — the registered name of the business issuing the invoice.
TAG 2VAT registration number — the seller's 15-digit Saudi VAT number.
TAG 3Timestamp — the invoice's date and time of issue.
TAG 4Invoice total (with VAT) — the full amount payable.
TAG 5VAT amount — the VAT portion of that total.

Phase-2 cryptographic fields · tags 6–9

TAG 6Invoice hash — a fingerprint of the signed XML invoice the QR belongs to.
TAG 7Digital signature — the cryptographic signature over the invoice.
TAG 8Public key — the key material used to check that signature.
TAG 9Stamp signature — additional cryptographic-stamp material used for simplified invoices.

The practical meaning: a QR carrying only tags 1–5 is a Phase-1 code. The presence of the cryptographic tags is what marks an invoice as Phase-2 — tied to a signed XML document, not just a printed summary.

Why decoding beats guessing

When an invoice is questioned — by a customer, an auditor, or a rejection from ZATCA's systems — the QR is the fastest diagnostic there is. Decode it and you immediately see which fields are present, whether the VAT number and timestamp are well-formed, and whether the code carries Phase-2 material at all. That's usually enough to locate the problem without opening the XML.

Decode any Fatoora QR — free, no signup

Paste the Base64 payload from any Saudi e-invoice. Signet explains all 9 tags in plain language and flags Phase-1 vs Phase-2. Nothing is stored. (Structure check only — cryptographic signatures are not verified.)

Open the free QR decoder →

Common questions

What is TLV?

Tag–Length–Value: each field stored as its tag number, content length, and content — the compact encoding ZATCA uses inside the Base64 QR payload.

What separates a Phase-1 QR from a Phase-2 QR?

Tags 6–9. Phase-1 codes carry the five invoice basics; Phase-2 codes add the invoice hash and digital-signature material tying the QR to a signed XML invoice.

Can I verify a signature with the free decoder?

No — and it says so plainly: the free tool checks QR structure only. Cryptographic verification happens in the full Phase-2 bridge, in early access.

Technical reference based on the ZATCA e-invoicing specifications. This is practical guidance, not tax advice — confirm your obligations with ZATCA or your tax advisor.