Build the Base64 TLV payload behind a ZATCA simplified e-invoice QR code from the five required fields, or paste a payload to decode it. This outputs the TLV payload, not a QR image.
A QR encoder turns this Base64 string into the printed QR code. This tool gives you the payload, not the image.
The ZATCA simplified QR payload is five Tag-Length-Value records concatenated and Base64 encoded. Each record is a tag byte, a length byte, then the value in UTF-8 bytes. The length is the byte count, which matters for Arabic text.
Tag 1 seller name, Tag 2 VAT number, Tag 3 timestamp, Tag 4 invoice total with VAT, Tag 5 VAT total. Order matters and all five are expected.
The length byte counts UTF-8 bytes. An Arabic seller name uses more bytes than characters, so the encoder measures bytes to keep the payload valid.
This tool returns the Base64 payload only. A separate QR encoder renders it into the square code printed on the invoice. Nothing is uploaded.
The TLV structure and field order follow the ZATCA e-invoicing specification. Confirm against the source below.
This encodes and decodes the TLV payload as an example aid. Confirm the exact field formats and the current QR requirement against the ZATCA specification before use. Requirements change.
Rivane builds the TLV payload and the QR for every simplified invoice, so the code is on the receipt without a manual step.
Request demo