ZATCA Phase 1 · QR + PDF
QR & Tax Invoice Generator
Choose B2C or B2B, add lines with auto VAT math, preview live, then download PDF.
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 Pick Simplified (B2C) for consumer sales or Standard (B2B) when the buyer is a VAT-registered business. Standard requires the buyer name.
- 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 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 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 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 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 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 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 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 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 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.
Related guides
Deeper reading on the regulations behind the QR and the PDF.
-
18 Jul 2026 · 2 min read
Saudi VAT Invoice Requirements for SMEs and Freelancers
A practical checklist of what small Saudi businesses need on a tax invoice: VAT number, amounts, Arabic title, and ZATCA...
-
10 Jul 2026 · 1 min read
ZATCA Phase 1 QR Code Guide for Saudi Tax Invoices
Learn how ZATCA Phase 1 QR codes work, why TLV Base64 encoding matters, and how SMEs can generate compliant tax invoices...
-
25 Jul 2026 · 1 min read
ZATCA Phase 1 vs Phase 2: What Changes for Your Business
Phase 1 is local generation with a 5-tag QR. Phase 2 adds Fatoora integration, XML, cryptographic stamps, and tighter de...