WHT-02 · FlowCount WHT

Treaty & TRC lifecycle manager

Never apply a treaty rate on an expired certificate again.

شهادات الإقامة الضريبية تحت السيطرة، قبل كل دفعة

Design partners wantedFor: Head of Tax · AP manager

1.03M

of 1.20M line exposure in the sample traced to missing or expired TRCs

Basis: illustrative sample engagement (fictional data)

The problem

Treaty relief is only as good as the tax residency certificate behind it. Certificates expire annually, sit in inboxes, and are never matched to payment dates. In the sample, treaty relief applied without a valid TRC is 1.03M of the 1.20M line-level exposure. The root cause is not tax knowledge; nobody tracks certificates against payment dates.

“Most treaty exposure is not a tax question. It is a filing question.”

What FlowCount does

A register of TRCs by vendor and year, expiry alerts, DTA application packs and five-year refund window tracking.

AI and rules used
Document AI on TRCs (issuer, period, country); rules
Builds on
WHT Health Check rulebook

How it works

Who does each step

  1. 01AI

    Read every certificate

    FlowCount Document AI extracts issuer, residence country, tax year and validity from TRC PDFs in any format.

  2. 02Rules

    Match to payments

    Treaty in force? TRC valid on the payment date? DTA application on file? PE days counted?

  3. 03Rules

    Alert and block

    Renewal alerts at 60/30/7 days; a pre-payment block list for treaty codes without cover.

What you send

  • Vendor master
  • TRC PDFs
  • Payment schedule
  • ZATCA DTA application references

What you receive

  • TRC register with source links
  • Expiry dashboard
  • Pre-payment block list
  • DTA application packs

Controls built in

  • A TRC counts only for the period it states
  • No-DTA countries hard-blocked (e.g. US)
  • Low-confidence extractions reviewed by a person
  • The pre-payment block is advisory until the client ERP enforces it

KPIs we report

  • Share of treaty-relieved spend with a valid TRC (target 100%)
  • Certificates expiring without a renewal request (target 0)

Sample input → expected output

What the result looks like

Basis: illustrative sample engagement (fictional data)

Sample input: fields the AI returns for one certificate
{
  "vendor_id": "V2004",
  "issuer": "State Taxation Administration (PRC)",
  "residence_country": "CN",
  "taxpayer_name": "Machinery Supplier Co Ltd",
  "tax_year": "2024",
  "valid_to": "2024-12-31",
  "evidence": ["...is a resident of the People's Republic of China for the year 2024..."],
  "confidence": 0.94
}
Expected output: TRC register (top of the list, sorted by spend)
VendorCountryDTA in forceTRC statusSpend in periodLine exposureNext action
Asia Holdco Pte LtdSGYesValid13,000,000.004,000.00Renew before next dividend; relief not needed (treaty 5% = domestic)
Parent Holdco LtdAEYesMissing4,500,000.001,008,000.00Obtain 2025-26 TRCs; **block treaty code** until received
Lender Bank plcGBYesValid2,525,000.000.00Claim refund for Q1 2025 (WHT-03); renew for 2026
Machinery SupplierCNYesExpired 31-Dec-241,248,000.0033,169.50Request 2025 TRC
SaaS Vendor IncUSNon/a675,000.0075,600.00Remove treaty flag: no DTA
IT Services VendorPKYesValid675,000.0036,787.50PE watch: 210 days on site
Telecom Carrier IncUSNon/a56,250.003,206.25Remove treaty flag: no DTA

Portfolio scorecard

Where it sits on the roadmap

Value

3.80 / 5

Feasibility

4.75 / 5

Priority index

9.03 · rank 3 of 27

Quadrant

Quick win

Delivery

Wave 1 (0-3 m)

T-shirt size S: 2 to 4 weeks with 1-2 engineers + 0.5 tax SME, indicative build 50k to 120k. New rule set on the existing data model, one new input. How we score and sequence →

Never apply a treaty rate on an expired certificate again.

Design partners shape the rulebook and review console, and get first access on pilot terms.