Platform & security

A deterministic core, with AI kept at the edges.

Seven layers, one rule: the engine that produces the numbers has no model, no network and no clock inside it. AI reads, extracts and proposes around it, and every step is recorded so a conclusion can be re-performed a year later.

كل رقم قابل لإعادة الاحتساب، وكل قرار موثّق

Data to decision

One platform, not a collection of bots.

Every module uses the same ingestion, standardisation, control and approval path. Nothing is filed or posted without an accountable person approving it.
  1. 01

    Data

    GL · TB · AP · AR · invoices · credit notes · FS · tax returns · contracts · e-invoice data

  2. 02

    Standardisation

    Chart-of-accounts mapping · vendor and customer mapping · tax codes · sign conventions · currency · transaction classification

  3. 03

    Agents

    VAT · WHT · zakat · accounting · reconciliation · risk · review · filing support

  4. 04

    Controls

    Rules · materiality · confidence · historical behaviour · effective dates · exception logic

  5. 05

    Human review

    Approve · reject · send for rework · comment · override with a reason

  6. 06

    Output

    Excel working paper · dashboard · draft return · audit trail · ZATCA response pack

The biggest design decision is not the model. It is the common transaction schema that lets every module read the same fields, mappings, evidence and review history.

Minimum data contract

Every client dataset becomes one schema before any module runs.

Your columns are mapped once and the mapping is remembered, so no module re-solves the same ERP differences and next period starts where this one ended.
FieldWhy it is there
Transaction IDUnique source key
Entity / branchLegal entity or reporting unit
Posting dateGL posting date
Document dateInvoice or document date: the tax point test
Account code / nameSource account and the standardised category
Debit / credit / amountThe raw value and the normalised economic sign, both kept
Currency / FX rateSource currency and the conversion to riyals
Vendor / customerMaster-data reference
Country / residencyFor WHT, reverse charge and cross-border logic
Tax code / rateThe ERP tax set-up
Invoice / credit note referenceDocument-level matching
Journal source / type / userManual-journal detection
DescriptionInput to AI classification
E-invoice UUID / statusE-invoice reconciliation
Evidence linkInvoice, contract, declaration or working paper
Reviewer decisionApproved treatment and its rationale

Architecture

Seven layers, from ingest to the signed deliverable

Data enters at the bottom and leaves at the top as a workpaper file and a report. Layer 4 is the only place a tax number is computed.
  1. 7

    Experience

    Review console · exception queue · gate sign-off · client portal (PBC)

    Keyboard-first review UI: source document, extracted fields and AI evidence side by side.

  2. 6

    Deliverables

    Workpaper builder · report builder · PDF

    Every artefact generated from engine output, with the tie-out asserted before it is produced.

  3. 5

    Workflow

    Engagement state machine G0 → G7 · human tasks · review notes · SLA timers

    Long-running engagements with human steps; a worker can die mid-run without corrupting an engagement.

  4. 4

    Deterministic core

    VAT reconciliation engine · WHT engine · customs reconciliation · zakat engine

    Pure, decimal arithmetic, no network, no clock. PASS / FAIL / INDETERMINATE. Fed by a versioned, effective-dated, cited rulebook owned by Tax Technical.

  5. 3

    AI services

    Transcribe (T1) · Extract (T1) · Classify (T2) · Draft (T3) · Retrieve

    Swappable providers behind one interface: frontier API, open-weights models in-Kingdom, or a rules fixture. Guarded by an evaluation harness: golden sets, regression diff, calibration, drift.

  6. 2

    Data

    Standard transaction schema · client mappings · decisions · audit events · object store

    Every client dataset is converted to one data contract before any agent runs, so no module re-solves the same ERP differences. Lineage from source to engine to workpaper; source documents immutable and hashed at G1.

  7. 1

    Ingest

    ERP connectors · GL/TB loaders · sales and purchase registers · e-invoice extracts · document upload · bank files

    ZATCA portal exports are uploaded by the client, never scraped.

Engineering principles

Six design rules that make the work reproducible

Thin API, idempotent jobs

Every unit of work is a queued job keyed on engagement, stage and attempt. A worker can fail mid-run without corrupting an engagement.

Every AI capability behind an interface

The classifier interface is identical for a rules fixture and a frontier model. Moving to an in-Kingdom model is a configuration change.

The core is pure

No model, no network, no clock inside the engine. That is what makes the workpapers reproducible and the regression suite meaningful.

Append-only

Extractions, AI proposals, reviewer decisions, rulebook versions and engine runs are versioned. You can always answer: what did we conclude on 22 Sep, on which rulebook, and who decided line 688?

Normalise once, reuse everywhere

Sign conventions, tax codes, dates and currencies are normalised on the way in, with the raw value kept beside the normalised one. Client mapping decisions are stored and reused next period, and stay overridable.

Corrections are data

Every reviewer override becomes a labelled example for the next golden-set refresh. After a few engagements it becomes the most valuable asset in the system.

AI capability map

Where AI is used, and why it is used there

Each capability carries a risk tier (T1 to T3) that sets its controls. See how-it-works for the tiering rules.
CapabilityTechniqueTierUsed inWhy this approach
Page triage & document typingSmall vision model on thumbnailsT1Customs, e-invoices, PBC intakeCheap and fast; tells the user what is missing before the expensive work starts
Transcription (scans, Arabic)Vision read; text layer where it existsT1Customs, e-invoices, TRCs, noticesClassic OCR is weak on Arabic; the text layer is free where present
Field extractionSchema-constrained JSON outputT1TRCs, e-invoices, contracts, noticesStructured output removes parsing failures; arithmetic cross-checks the result
Nature-of-payment / account classificationLLM with closed label set, evidence quotes, abstentionT2VAT return, WHT, GL risk scan, zakat, TPJudgement on free text is what LLMs are good at; the gate and golden set bound the risk
Similar-decision retrievalEmbeddings over past reviewer decisionsT2 aidWHT, VATShows the reviewer how a similar line was decided before, for consistency across the firm
Entity / identifier resolutionNormalisation rules + fuzzy match + learned aliasesT1/T2Landed cost, AP anomalies, TPThe same B/L can appear four ways in one pack. Rules first, model second.
Anomaly detectionStatistical outliers, duplicate and split patternsAP anomalies, VAT reconciliationExplainable: a reviewer must be able to say why a line was flagged
Research & draftingRetrieval over a curated corpus, mandatory citations, verificationT3Research copilot, notice triage, report narrativeHighest hallucination risk; built only after the Tier-3 controls exist
Long-document clause extractionLong-context extraction with page citationsT2/T3Contract & PE analyserContracts run 20 to 200 pages; the clause location must be cited

Integrations

Works from the systems you already run

Read-only extracts from your ERP, bank and document stores. Nothing is written back, and nothing is filed on your behalf.
SourceMethodWhat we take
SAP S/4HANA / ECCCDS views / OData, or scheduled extractsAP payments, WHT items, vendor master, GL
Oracle Fusion / EBSBI Publisher reports / RESTAP invoices and payments, supplier master, GL
Microsoft Dynamics 365 F&O / BCData entities / ODataVendor transactions, GL
Odoo, Zoho Books, Qoyod, DaftraREST / XML-RPCCommon among SME clients of KSA consultancies
ZATCA portalClient-uploaded exports onlyForm Q history, acknowledgements, DTA application refs. No scraping, no credential sharing, no automated filing.
FATOORA e-invoicesXML / QR parsing; client-provided extractsSales e-invoice population (UUID, clearance status) and supplier invoices received by the client
Customs declarationsClient-provided export and import declarationsExport evidence for zero-rating; import VAT paid at the border
BanksMT940 / CAMT.053 / CSVBank reconciliation, remittance evidence (SADAD receipts)
Document managementSharePoint / Google Drive / uploadContracts, TRCs, notices
SAMA FXPublished reference rates, stored per lineRiyal conversion on the payment date

Security & data residency

Residency is agreed in writing at G0, not assumed.

Hosting & residency

Chosen at G0 and put in writing: a KSA cloud region for data and compute, and for inference either a disclosed offshore API under a DPA or open-weights models on in-Kingdom GPUs. FlowCount never markets residency it does not deliver.

NCA ECC-2:2024 / CCC

Asset inventory, IAM with MFA, logging and monitoring, vulnerability management, backup, third-party risk (the model provider is a third party), cloud controls.

PDPL

Records of processing; a DPA per client; data minimisation to models (descriptions only); cross-border transfer assessment where inference is offshore; retention per engagement.

Minimised model input

Only description fields, GL, country and service location go to a model. Bank details, amounts and personal names do not; classification does not need them. No training on client data.

Encryption & tenancy

TLS 1.2+ in transit, AES-256 at rest, per-tenant keys for the white-label platform, row-level security, no cross-tenant retrieval.

Audit trail

Append-only audit events for every view, edit, disposition, sign-off, export and model call, logged with the prompt version, input hash, output and latency.

Certification. ISO/IEC 27001:2022 and SOC 2 are on the platform roadmap. Until they are issued we share our NCA ECC control mapping and answer your security questionnaire directly.

Unit economics

The technology is cheap. The professional time is the product.

Indicative cost to run one mid-size WHT Health Check (2,000 to 5,000 lines, 3 years).
ItemCost per engagementNote
AI classification, frontier model~150About 0.03 per line
Extraction of 200 contracts / TRCs~300Measured ~1.16 per 23-page pack
Compute, storage, observability~200Shared platform, amortised
Technology cost< 1,000
Professional time (G0 to G7)8 to 15 person-daysThe real cost, and the real value

This is why our fees are set by population size and professional effort, not by the number of model calls.

Bring your security questionnaire.

We will walk your IT and risk team through hosting, data flows and the audit trail before any data moves.