How it works
The website and the Chrome extension use the same engine, so the same input gives the same result.
On the website
- Open the Invoice Checker.
- Upload or drop an image, PDF or XML — or paste a screenshot or the QR text.
- Read the verdict, the extracted data and the level of verification reached.
- Copy the data or export a report.
With the Chrome extension
- Open an invoice — WhatsApp Web, Gmail, a web page or a PDF.
- Click the extension icon and press “Scan Invoice”, or use “Select area”, or right-click an image.
- Select a number on any page and right-click it to calculate VAT.
What is checked
Structure
The QR text is Base64 TLV with tags 1–9 as specified: one-byte tag and length, UTF-8 text, plausible binary fields.
Data
The VAT number has 15 digits, the timestamp is a real date, amounts are plain decimals, and VAT is consistent with the total.
Signature
For Phase 2 QR codes, the ECDSA signature is verified against the invoice hash and the public key inside the QR.
Invoice document
If you add the signed XML (or open a PDF/A-3 invoice), the invoice hash is recomputed, the signature and certificate are verified, and every field is compared with the QR.
Official verification
Not available: only ZATCA can confirm that it received an invoice. The tool says so and points you to the official channels.
Tips for a clear scan
- Zoom in so the QR code is at least about 150 pixels wide.
- Avoid glare and heavy compression; use the original file when you can.
- For a page with several QR codes, you will be asked to pick the invoice one.
- Add the invoice XML for the strongest check.