CBDT issues compulsory scrutiny guidelines each year specifying which ITRs get flagged for mandatory audit. For FY 2026-27, the criteria are broader than previous years. If you are building compliance tools or processing ITR data, you need these rules encoded.
The FY 2026-27 Compulsory Scrutiny Criteria
CBDT mandates scrutiny when any of the following are present:
AIR/SFT mismatch: Cash deposits above Rs 10 lakh in savings accounts not matching declared income
Capital gains underreporting: LTCG/STCG in AIS not matching Schedule CG in ITR
International transactions: Transfer pricing cases with turnover above Rs 50 crore
Treaty claims: Non-residents claiming DTAA exemptions above threshold
Non-filers with high-value transactions: Persons with SFT-reported transactions who did not file an ITR
Returns selected by system-based risk parameters: INSIGHT portal flags based on behavioural analytics
Building a Risk Scorer in Python
```python from dataclasses import dataclass from typing import Optional
@dataclass class AISData:
cash_deposits
float
reported_income
float
stcg_in_ais
float
stcg_in_itr
float
ltcg_in_ais
float
ltcg_in_itr
float
has_international_txn
bool
intl_txn_turnover
float
is_non_resident
bool
filed_itr
bool
sft_high_value
bool
def scrutiny_risk_score(ais: AISData) -> dict: flags = []
if ais.cash_deposits > 1_000_000 and ais.cash_deposits > ais.reported_income * 0.3: flags.append("CASH_DEPOSIT_MISMATCH")
if abs(ais.stcg_in_ais - ais.stcg_in_itr) > 10_000: flags.append("STCG_MISMATCH")
if abs(ais.ltcg_in_ais - ais.ltcg_in_itr) > 10_000: flags.append("LTCG_MISMATCH")
if ais.has_international_txn and ais.intl_txn_turnover > 50_000_000: flags.append("TRANSFER_PRICING_RISK")
if ais.sft_high_value and not ais.filed_itr: flags.append("NON_FILER_HIGH_VALUE")
return { "risk_level": "HIGH" if len(flags) >= 2 else "MEDIUM" if flags else "LOW", "flags": flags, "recommend_review": bool(flags) } ```
Integrating with AIS JSON Export
The AIS is downloadable from the income tax portal as a JSON. Parse partB.generalInfo for SFT transactions and partB.capitalGains for AIS capital gains data. Cross-reference against the ITR XML export (ITR-2 / ITR-3 Schedule CG).
Why This Matters for Compliance Platforms
If you are building ITR validation or pre-filing checks, encoding the CBDT scrutiny criteria as a rule engine flags high-risk returns before submission. The taxpayer can either correct the return or prepare a paper trail in advance.
Full CBDT scrutiny guidelines FY 2026-27 with case examples: CBDT compulsory scrutiny criteria FY 2026-27
Top comments (0)