Skip to content
Z
← Back to home

ZATCA Phase 1 · QR + PDF

QR & Tax Invoice Generator

Choose B2C or B2B, add lines with auto VAT math, preview live, then download PDF.

1 Invoice type
2 PDF template

Accent color

3 Seller details

PNG, JPG or WebP · max 2MB

0 / 15 digits
4 Invoice details
5 Line items (optional)

Unit price is excl. VAT. Totals auto-calculate at 15% VAT (with optional discount %).

Row 1
0.00 SAR
6 Totals

Filled automatically when line items have amounts. Clear lines to enter totals manually.

Field-by-field reference

This free ZATCA Phase 1 invoice generator produces a bilingual (Arabic + English) Tax Invoice PDF with the official TLV QR code, ready to print, email, or hand to a customer. No signup, no server-side storage — your draft auto-saves in this browser and you can download a fresh PDF, a standalone QR image, or just the Base64 QR string.

Use it for simplified B2C sales (retail, restaurants, services to consumers) where the buyer does not need to be on the invoice, or for standard B2B sales where you need the buyer name and VAT on the document. The QR code is generated using the same TLV → Base64 encoding the ZATCA mobile scanners expect, with all five mandatory tags: seller name, VAT registration number, timestamp, invoice total, and VAT amount.

The generated PDF includes the bilingual header, your logo and brand color, line items, totals, the ZATCA QR, and any notes you add. The file is yours to keep, print, email, or archive. This tool is sufficient for Phase 1 of the Saudi e-invoicing regulation. If your business is in a Phase 2 wave (typically revenue above SAR 40 million), you will eventually need a Fatoorah-integrated solution; this generator remains useful for sub-threshold subsidiaries, internal documentation, and customer-facing PDFs even after Phase 2 is required.

How to use this generator

  1. 1 Pick Simplified (B2C) for consumer sales or Standard (B2B) when the buyer is a VAT-registered business. Standard requires the buyer name.
  2. 2 Fill in your seller details: business name, 15-digit VAT registration number, commercial registration (CR), and address. The VAT number drives the QR code, so double-check it.
  3. 3 Enter the invoice number, date, and time. The number follows your own internal sequence; the timestamp is the legal invoice date used in the QR tag.
  4. 4 Add line items (description, quantity, unit price, optional discount). The form auto-calculates subtotal, 15% VAT, and grand total as you type. Leave lines empty to enter totals manually.
  5. 5 Preview the PDF live on the right. Pick a PDF template (Classic A4, Compact A4, or 80mm receipt) and an accent color. Upload a logo if you have one.
  6. 6 Click Generate Tax Invoice PDF. The download starts immediately. Use "Download QR PNG" or "QR B64" buttons if you only need the QR code for a separate system.

Field-by-field reference

What every input on the form does, and what it writes into the PDF (and the QR).

Invoice type
Simplified (B2C) for consumer sales — فاتورة ضريبية مبسطة. Standard (B2B) for business buyers — فاتورة ضريبية. Switching to Standard makes the buyer name a required field and changes the Arabic subtitle on the PDF.
PDF template
Classic A4 is the full bilingual tax invoice. Compact A4 is a tighter version for dense line items. 80mm Receipt is a thermal-printer-friendly roll for POS systems. The QR is identical across all three.
Accent color
Hex color used for the invoice title and the QR zone. Five presets are available; the brand color does not affect the QR encoding. Pick a color that matches your logo for a polished PDF.
Logo
Optional PNG, JPG, or WebP up to 2 MB. Embedded into the top-left of the PDF. The logo is not stored on our server — it is inlined into the PDF you download and discarded after.
VAT registration number
Your 15-digit Saudi VAT number, exactly as registered with ZATCA. This is the single most important field — it is encoded into QR tag 2. A typo here will make every QR scan fail.
Commercial registration (CR)
Your 10-digit Ministry of Commerce CR number. Optional on the form, but ZATCA recommends including it on every printed invoice for audit clarity.
Invoice number
Your own internal sequence, e.g. INV-2026-08-31-0042. Must be unique per device. Not encoded in the QR but printed on the PDF and recommended for your own audit trail.
Invoice date & time
Local time in Asia/Riyadh. Encoded into QR tag 3 as an ISO 8601 UTC timestamp. Changing the time here changes the QR — make sure it matches the actual moment of sale.
Buyer name (B2B only)
Required for Standard invoices. The buyer VAT number is optional but recommended for B2B. The buyer name prints on the PDF; the buyer VAT is shown beside the seller VAT for reconciliation.
Line items
Each row: description, quantity, unit price (excl. VAT), optional discount %. The form multiplies qty × price × (1 − discount) × 1.15 to give the line total including VAT. Leave all rows empty to enter totals manually.
Notes
Free text printed in a small box at the bottom of the PDF. Use for payment terms, bank details, thank-you notes, or VAT-registration references for the buyer. Not encoded in the QR.

What the QR code actually encodes

The ZATCA Phase 1 QR is not a URL — scanners decode it directly from the image using the TLV (Type-Length-Value) format defined in the ZATCA technical specification. Five tags are mandatory; tags 6 through 9 are reserved for future use. The full payload is then Base64-encoded to produce the string you see in the QR.

Tag Name Detail
1 Seller name UTF-8 string, up to 255 bytes. Must exactly match the legal name on your VAT registration.
2 VAT registration number Exactly 15 digits, no spaces, no dashes. Encoded as ASCII bytes.
3 Invoice timestamp ISO 8601 UTC, format YYYY-MM-DDTHH:MM:SSZ. Convert from Asia/Riyadh (UTC+3) before encoding.
4 Invoice total (with VAT) Decimal string, 2 places, no thousands separator, no currency symbol. E.g. 1150.00.
5 VAT amount Decimal string, 2 places. E.g. 150.00. Must be exactly 15% of the VAT-exclusive subtotal.

Sample TLV payload (Saudi seller, single line, 1,150 SAR)

Tag 1: 02  1A  'Al Noor Trading Co.'        (26 bytes)
Tag 2: 02  0F  '300012345600003'              (15 bytes)
Tag 3: 02  14  '2026-08-31T08:23:45Z'          (20 bytes)
Tag 4: 02  07  '1150.00'                       (7 bytes)
Tag 5: 02  06  '150.00'                        (6 bytes)

Concatenated TLV bytes → Base64 → encoded in the QR image.

Simplified vs Standard — when to use which

ZATCA distinguishes two invoice types. Pick the one that matches the buyer, not the seller.

Aspect Simplified (B2C) Standard (B2B)
Buyer type Consumer (end customer, no VAT registration) VAT-registered business
Buyer name on invoice Optional Required (and we enforce it in the form)
Buyer VAT number Optional Recommended for B2B reconciliation
Arabic title on PDF فاتورة ضريبية مبسطة فاتورة ضريبية
When to use Retail, restaurants, services to consumers, cash sales Wholesale, services to businesses, B2B contracts
ZATCA category code Simplified tax invoice (B2C) Standard tax invoice (B2B)

Five mistakes that break the QR scan

Most "my QR is not working" problems come from one of these. Avoid them and you will not have a single rejected scan.

  1. 1 VAT number with spaces or dashes. The QR tag expects 15 raw digits. The form strips non-digits automatically, but if you paste a number with a trailing space, double-check the counter below the field — it should read "15 / 15 digits".
  2. 2 VAT amount greater than the invoice total. The form blocks this on submit, but if you bypass validation the resulting QR has tag 5 > tag 4 and ZATCA scanners reject the document.
  3. 3 Local time instead of UTC. Riyadh is UTC+3. If you put 14:23:45 in the timestamp field without converting, the encoded QR will read 14:23:45Z (already UTC), and your invoice will appear to be 3 hours in the future. The form converts automatically; manual timestamps in your ERP may not.
  4. 4 Standard invoice with no buyer name. The form will refuse to submit, but if you POST manually with output=qr-png you will get a valid-looking QR for a non-compliant invoice. Always include the buyer name for B2B.
  5. 5 Editing the PDF after download. The QR is generated from the inputs you typed. If you open the PDF in Word and change the seller name, the QR will no longer match the printed text. ZATCA scanners compare the QR against the document and reject mismatches.

After you generate — what to do with the PDF

A ZATCA-compliant PDF is a tax document, not just a receipt. ZATCA requires that you keep every tax invoice, simplified tax invoice, credit note, and debit note for at least five years from the date of issue. Storage can be electronic (PDF on a server, in cloud storage, in a DMS) or physical (printed and filed). The retention period does not start at year-end — it starts at the invoice date. If you issue an invoice in August 2026, you must keep that PDF until at least August 2031.

Saudi tax invoices must be bilingual (Arabic + English) when issued to English-reading buyers, or Arabic-only when issued to Arabic-reading buyers. The PDF produced by this generator is bilingual by default, which is the safe choice for both audiences and the only one that satisfies a ZATCA audit if your buyer base is mixed.

Phase 1 (this generator) is sufficient for all businesses below the Phase 2 revenue threshold and remains useful for the largest set of Saudi SMEs, freelancers, and sub-threshold subsidiaries. If your business is in a Phase 2 wave, the QR alone is not enough — you also need a Fatoorah-integrated POS or ERP. We cover the full Phase 2 timeline in our ZATCA Phase 2 (Fatoorah) guide.

Frequently asked questions

Is the QR code officially compliant with ZATCA Phase 1?

Yes. The QR uses the exact TLV → Base64 encoding ZATCA published in the Phase 1 technical specification, with all five mandatory tags. Any ZATCA-accredited scanner app or device can read it. This tool is sufficient for Phase 1 of the regulation.

Do I need to create an account to use the generator?

No. The generator is fully public. Your draft auto-saves in this browser (localStorage) so you do not lose your work if the page reloads, but nothing is sent to our server until you click Generate. Logo files are not stored at all.

Can I use the generator if I am in a Phase 2 wave?

For internal documentation, sub-threshold subsidiaries, customer-facing PDFs, and backfilling — yes. For the system of record that reports to Fatoorah in real time — no. See our ZATCA Phase 2 (Fatoorah) guide for the full Phase 2 picture.

Why are there three PDF templates?

Different Saudi businesses need different layouts. Classic A4 is the full bilingual tax invoice most accountants expect. Compact A4 is for invoices with 10+ line items. 80mm Receipt is for thermal POS printers. The QR and the TLV payload are identical across all three.

What is the difference between "Download QR PNG" and "QR B64"?

Download QR PNG gives you a 280×280 PNG image of the QR you can drop into another PDF, a label, or an email signature. QR B64 gives you the raw Base64 string (the TLV payload, Base64-encoded) so you can paste it into your own POS, ERP, or label-printing system. Both contain the same five tags.

Can I add my own logo to the PDF?

Yes. Upload a PNG, JPG, or WebP up to 2 MB. The logo is embedded into the top-left corner of the PDF and the live preview on the right updates as soon as you select a file. The file is not stored on the server.

Deeper reading on the regulations behind the QR and the PDF.