VAT-02 · FlowCount VAT
VAT return ↔ GL ↔ e-invoice reconciliation
Rebuild every VAT return line from the ledger and from e-invoices.
إقرار ضريبة القيمة المضافة مطابق للدفاتر والفواتير
90,605
VAT at risk across 12 exceptions in a 30-line, three-entity sample
Basis: illustrative sample engagement (fictional data)
The problem
A VAT return is a set of boxes that should each rebuild from the ledger and from the e-invoice population. Today that check lives in a quarterly working file: output and input listings pasted from the ERP, a tab for customer advances, a tab for non-Saudi customers, a sample tab, and formulas that break when the extract changes. When the boxes don't rebuild, nobody knows whether the return, the ledger or the e-invoice data is wrong until an audit asks.
“If your VAT return can't be rebuilt from your ledger, it can't be defended.”
What FlowCount does
A three-way reconciliation of the ERP ledger, the e-invoice population and the VAT return, run before filing. Every difference is classified as timing, mapping, data quality, missing document, duplicate or a true tax exception, quantified, and routed to a reviewer. Material unresolved differences block "ready to file".
- AI and rules used
- Rules first; LLM VAT-treatment proposals for untagged lines; anomaly detection
- Builds on
- FlowCount data contract and client mapping memory
How it works
Who does each step
- 01Rules
Standardise the data
Map client columns to the FlowCount data contract; normalise dates, tax codes and sign conventions, keeping the raw values beside them.
- 02Rules
Reconcile three ways
ERP invoices missing from the e-invoice population and the reverse; period, taxable value and VAT differences; duplicates, orphan credit notes and cancelled invoices still posted.
- 03AI
Read what rules cannot
Propose a VAT treatment for descriptions and manual journals with no tax code, quoting the words relied on, for reviewer confirmation.
- 04Reviewer
Clear or correct
Confirm timing items and manual adjustments; correct the rest. The client mapping is stored and reused next period.
What you send
- GL detail with VAT codes, journal source and posting user
- Sales and purchase registers
- E-invoice extract (UUID, clearance status)
- Filed or draft VAT return
- Customs declarations for exports and imports (optional)
What you receive
- Three-way reconciliation by return box
- Exception register with cause, VAT effect and owner
- Excel working paper in the tab structure your team already uses
- Correction schedule and reviewer sign-off
Controls built in
- Material unresolved differences block "ready to file"
- Manual journals to VAT control accounts flagged when they match no invoice
- AI-coded journals always reviewed
- Over-declared VAT reported apart from VAT at risk, never netted
KPIs we report
- Unexplained variance per period (target 0)
- Exceptions cleared before the filing deadline
- Time to close the VAT file
Sample input → expected output
What the result looks like
Basis: illustrative sample engagement (fictional data)
| Measure | Amount |
|---|---|
| Output VAT under-declared (wrong rate, wrong VAT amount) | 22,100.00 |
| Input VAT at risk (zero-rated purchase claimed; invoice without the buyer VAT number) | 24,180.00 |
| Reverse charge not self-assessed (imported cloud services booked as domestic) | 19,200.00 |
| Zero-rated export with no export evidence on file | 25,125.00 |
| Total VAT at risk | 90,605.00 |
| Over-declared: VAT charged on an exempt supply, and a credit note with the wrong sign (reported separately, never netted) | 12,600.00 |
| Declared in the wrong period (a June invoice in Q3) | 13,500.00 |
| Line | Entity | Document | What the check found | Cause | VAT effect | Status |
|---|---|---|---|---|---|---|
| 6 | Electronics distributor | Tax invoice, domestic sale | 5% rate on a standard-rated supply; expected 15% | True exception | 15,600.00 | FAIL |
| 16 | IT services company | Tax invoice, software milestone | VAT 25,000.00 on 210,000.00; expected 31,500.00 | True exception | 6,500.00 | FAIL |
| 24 | Food manufacturer | Tax invoice, residential rent | VAT charged on an exempt supply | True exception | (11,250.00) | FAIL |
| 26 | Food manufacturer | Purchase, basic food ingredient | Zero-rated invoice mapped as standard-rated; input VAT claimed | Mapping | 13,500.00 | FAIL |
| 18 | IT services company | Imported cloud services | Booked as a domestic purchase; reverse charge not self-assessed | Mapping | 19,200.00 | FAIL |
| 4 | Electronics distributor | Export sale | Zero-rated on the e-invoice, standard-rated in the ERP mapping: wrong return box | Mapping | 0.00 | FAIL |
| 12 | Electronics distributor | Credit note | Credit note entered with positive amounts: output VAT overstated | Data quality | (1,350.00) | FAIL |
| 23 | Food manufacturer | Tax invoice dated 28-Jun-2025 | Prior-period invoice included in Q3 | Timing | 13,500.00 | FAIL |
| 7 | Electronics distributor | Tax invoice | Invoice number already used on line 1, with a different customer and UUID | Duplicate | 0.00 | FAIL |
| 9 | Electronics distributor | Purchase invoice | Buyer VAT number missing; input VAT claimed | Missing document | 10,680.00 | INDETERMINATE |
| 5 | Electronics distributor | Export sale | Zero-rated, with no export declaration on file | Missing document | 25,125.00 | INDETERMINATE |
| 29 | Electronics distributor | Tax invoice | Remark says a discount was applied; the discount field is nil | Data quality | 0.00 | INDETERMINATE |
Bracketed amounts are over-declared and reported apart from VAT at risk. Line 23 is a timing item: the VAT is due, but in Q2, so the question is whether Q2 needs a correction. The other 18 lines passed, including three reverse-charge purchases, two imports with VAT paid at customs, three credit notes, two zero-rated exports with evidence on file and a business-to-government sale.
| Cause | What it means | Who clears it |
|---|---|---|
| Timing | Right amount, wrong period: invoice date, posting date and tax point disagree | Reviewer confirms; corrected in the right period |
| Mapping | The tax code or return box does not match the substance of the supply | Reviewer; the corrected mapping is remembered for next period |
| Data quality | Sign errors, missing fields, values that do not reconcile | Finance team fixes at source |
| Missing document | A tax invoice, export declaration or buyer VAT number is not on file | Request raised; INDETERMINATE until received |
| Duplicate | The same invoice number, UUID or amount appears more than once | Finance team cancels or reissues |
| True tax exception | The VAT treatment is wrong and the return is misstated | Corrected before filing, or by voluntary disclosure |
| Return line | Filed | GL rebuild | E-invoice rebuild | Filed − GL | Cause | Status |
|---|---|---|---|---|---|---|
| Standard-rated sales | 4,820,000.00 | 4,820,000.00 | 4,795,000.00 | 0.00 | 1 credit note in GL not reported to FATOORA | FAIL |
| Zero-rated / exports | 610,000.00 | 610,000.00 | 610,000.00 | 0.00 | PASS | |
| Reverse-charge imports | 0.00 | 225,000.00 | n/a | (225,000.00) | Management fee RCM not declared (see reverse-charge VAT) | FAIL |
| Standard-rated purchases | 2,140,000.00 | 2,152,300.00 | n/a | (12,300.00) | Manual journal JV-0412 with no VAT code: AI proposal, then review | INDETERMINATE |
Portfolio scorecard
Where it sits on the roadmap
Value
4.90 / 5
Feasibility
4.00 / 5
Priority index
6.53 · rank 11 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 preparation
A draft VAT return and its exception pack, built from transaction data.
VAT return review checks
An independent review of a prepared return, 30 to 50 checks deep.
Rebuild every VAT return line from the ledger and from e-invoices.
A pilot runs on your own data, under the full G0 to G7 gate model, with a partner signature on every conclusion.