VAT-03 · FlowCount VAT
E-invoice (Phase 2) purchase-invoice validation
Check every supplier e-invoice before you claim its input VAT.
تحقق من فواتير الموردين الإلكترونية وحماية ضريبة المدخلات
375k
Phase 2 integration now reaches taxpayers above the mandatory VAT threshold (Wave 24)
Basis: published ZATCA rule
The problem
Input VAT is only as good as the tax invoice behind it. Under e-invoicing Phase 2, supplier invoices carry structured data (XML) and a QR code. With Phase 2 now reaching taxpayers above the mandatory VAT threshold, non-compliant supplier invoices put recoverable VAT at risk, and nobody checks them at volume.
“A non-compliant supplier invoice is input VAT you may not recover.”
What FlowCount does
Validate supplier e-invoices: QR and XML fields, VAT number, UUID and hash; flag input VAT at risk on non-compliant invoices.
- AI and rules used
- Document AI; QR/XML parsing; rules
- Builds on
- FlowCount Document AI (OCR)
How it works
Who does each step
- 01AI
Read the invoice
Triage and extract fields from PDF, PDF/A-3 or scan; decode the QR TLV and parse the XML.
- 02Rules
Validate
VAT number format and vendor match, required fields, QR totals = invoice totals = register, invoice type, UUID uniqueness, Phase 2 cryptographic elements.
- 03Reviewer
Act on failures
Request corrected invoices before claiming; unreadable is INDETERMINATE, never PASS.
What you send
- Purchase invoices (PDF/A-3 with XML, or image)
- Purchase register
- Vendor master
What you receive
- Input-VAT-at-risk register
- Supplier compliance scorecard
- Correction requests
Controls built in
- Never infer a VAT number from a similar vendor
- Unreadable = INDETERMINATE, never PASS
KPIs we report
- Input VAT at risk ÷ total input VAT
- Supplier compliance rate
Sample input → expected output
What the result looks like
Basis: published ZATCA rule
{
"invoice_no": "INV-2026-00417",
"seller_vat": "300123456700003",
"buyer_vat": "310987654300003",
"issue_date": "2026-03-14",
"total_excl_vat": "10000.00", "vat": "1500.00", "total_incl_vat": "11500.00",
"qr": { "seller_name": "Najd Supplies Co", "vat_no": "300123456700003",
"timestamp": "2026-03-14T10:22:05Z", "total": "11500.00", "vat": "1500.00",
"hash_present": true, "signature_present": true },
"uuid": "6f1c…", "invoice_type": "standard"
}| Invoice | Supplier | Input VAT | Check failed | Status | Action |
|---|---|---|---|---|---|
| INV-2026-00417 | Najd Supplies Co | 1,500.00 | PASS | ||
| 8812 | Office Supplies Vendor | 3,450.00 | QR VAT (3,000.00) ≠ invoice VAT (3,450.00) | FAIL | Request corrected invoice before claiming |
| A-771 | Al-Safa Maintenance | 975.00 | Simplified invoice used for a B2B supply | FAIL | Request a standard tax invoice |
| 2026/118 | Logistics Vendor | 2,100.00 | Scan too poor; QR unreadable | INDETERMINATE | Request the XML/PDF-A3 original |
Portfolio scorecard
Where it sits on the roadmap
Value
4.00 / 5
Feasibility
4.25 / 5
Priority index
5.67 · rank 13 of 27
Quadrant
Quick win
Delivery
Wave 1 (0-3 m)
T-shirt size M: 4 to 8 weeks with 2 engineers + 1 tax SME + 0.25 QA, indicative build 120k to 275k. New data source or document type + rules + review-UI changes. How we score and sequence →
Related solutions
Reverse-charge VAT on imported services
Every imported service, reverse-charged in the right period.
VAT return ↔ GL ↔ e-invoice reconciliation
Rebuild every VAT return line from the ledger and from e-invoices.
VAT return preparation
A draft VAT return and its exception pack, built from transaction data.
Check every supplier e-invoice before you claim its input VAT.
Design partners shape the rulebook and review console, and get first access on pilot terms.