25+ Years Experience | Fellow Chartered Accountant (FCA) | GST Compliance & Notice Resolution | India & East Africa
GST Scrutiny · Section 61 CGST Act · ASMT-10 & DRC-01

How to Respond to a GST
ASMT-10 Scrutiny Notice
ITC Mismatch & GSTR-2A/2B Reconciliation

An ASMT-10 is issued when the GST officer finds discrepancies between your filed GSTR-3B and system-generated GSTR-2A/2B data. You have 30 days to reply with a reconciled explanation. Without one, a DRC-01 demand follows automatically — with interest and potential penalty.

₹0Penalty paid — Trading Co., Mumbai
21Days to close the notice
43Supplier-gap invoices identified
100%Python-reconciled data mapping
Why it was issued

What Triggers a GST ASMT-10 Notice?

Under Section 61 of the CGST Act, 2017, a GST officer may scrutinise any filed return for correctness. When the system flags a discrepancy between your GSTR-3B and supplier-reflected GSTR-2A/2B, an ASMT-10 is issued asking for your explanation — within 30 days.

Trigger 01
Excess ITC in GSTR-3B
ITC claimed in your 3B exceeds what is reflected in GSTR-2A/2B from supplier filings. The most common trigger by far.
Trigger 02
Turnover Mismatch
Outward supply declared in GSTR-3B differs from GSTR-1 — often a timing difference or an amendment not captured in time.
Trigger 03
Tax Liability Gap
Tax paid in 3B appears lower than liability due based on declared supplies or the applicable GST rate for that category.
Trigger 04
Supplier Non-Filing
Your supplier hasn't filed their GSTR-1, so legitimate ITC you claimed doesn't appear in your 2A/2B — and looks like a mismatch.

In the majority of ASMT-10 cases handled, the root cause is Trigger 01 or 04 — either a genuine data mismatch or a supplier filing gap. Both are resolvable with the right reconciliation. The documentation must be precise, stratified by category, and tied directly to portal data the officer can verify independently.

43Supplier-gap invoices identifiedIn one Trading Company engagement — all defended with invoice copies
21 daysNotice closedFrom first response to clean closure — zero penalty, zero demand order
Know the difference

ASMT-10 vs DRC-01 — What Changes and When

These two notices sit at different stages of the scrutiny process. Missing the ASMT-10 reply window — or treating a DRC-01 like an ASMT-10 — significantly limits your options and increases penalty exposure.

Dimension ASMT-10 DRC-01
Legal basisSection 61, CGST Act, 2017Section 73 / 74, CGST Act, 2017
What it isScrutiny notice — officer asks for explanationShow Cause Notice — officer proposes a formal tax demand
StageBefore demand. You can explain and close cleanly.After ASMT-10 is unanswered or reply is insufficient.
Reply window30 days from notice date30 days (Sec. 73) or as stated in notice
Penalty riskNone if reconciled and adequately explainedTax + interest (Sec. 50) + penalty under Sec. 73/74
Best responsePython-reconciled GSTR-2A/2B statement + written explanation stratified by categoryFull legal reply + reconciliation + payment or dispute evidence
Outcome if resolvedNotice dropped — no demand, no demand order on recordDemand reduced or dropped — SCN still remains on compliance record
The ASMT-10 stage is your cleanest exit. A well-prepared reply here — before DRC-01 is issued — means no penalty, no demand order, and no impact on your compliance track record.

How to Reply to ASMT-10

Step-by-step · GST portal · 30-day window

The portal navigation is straightforward. The quality and completeness of what you submit determines whether the notice is closed or escalated to DRC-01.

01
Log in and locate the notice
Sign in at gst.gov.in with your GSTIN credentials. Navigate to the notice. Note the notice date — the 30-day clock starts here.Services → User Services → View Additional Notices / Orders
02
Download and analyse the discrepancy
The notice specifies the return period and the exact nature of each gap — ITC mismatch amount, turnover difference, or tax shortfall. Map every flagged item before drafting anything.
03
Run a full GSTR-2A/2B reconciliation
Export your GSTR-3B ITC data and GSTR-2A/2B data from the portal. Match every invoice by GSTIN and invoice number. Stratify by type: supplier not filed (defensible with invoices) vs genuine over-claim (accept, reverse, pay interest). Each category needs a separate response track.
04
Draft the written explanation
State the discrepancy factually, then address each line-item category. Never dispute everything — partial acceptance with interest payment is often faster and cheaper than contesting the full amount and triggering a complete DRC-01.
05
Attach supporting documents
Reconciliation statement (Excel or PDF), tax invoices for disputed ITC, supplier GSTR-1 filing screenshots, and payment challans if partially accepting with interest.
06
Submit via portal and track
Click Reply on the ASMT-10 notice. Upload explanation and attachments. Submit before day 30 — not on day 29. Save the acknowledgement reference number.Services → User Services → My Applications → track status
Compliance domains covered

Areas CA Ryan Vaz handles

GST: ASMT-10, DRC-01, GSTR-2A/2B reconciliation, ITC mismatch response

Forensic: Transaction anomaly detection, vendor fraud, duplicate payment analysis

Statutory: IFRS, Ind AS, direct tax, ROC compliance, audit readiness

IT Notices: Scrutiny under Income-tax Act, 2025 — Sec. 270/280/263/268 responses

NGO / CSR: 80G, 12A registration, CSR policy design, statutory filing

Certified Forensic Auditor · ICAI 2015

"A well-prepared data reconciliation is worth more than any legal argument. The numbers either match or they don't."

— CA Ryan Vaz · FCA · Mumbai

The data-first method

Python-Driven GSTR-2A/2B Reconciliation — Why Data Wins the Notice

The most common reason an ASMT-10 escalates to DRC-01 is not the discrepancy itself — it is a poorly documented reply. An officer reviewing your response wants every invoice accounted for, by category, with numbers that tie back to portal data they can verify.

GST Compliance Trading Company · Mumbai

GSTR-2A/2B reconciliation using Python identified 43 invoices where the supplier had filed late — after the GSTR-3B was submitted — and 7 invoices with a genuine ITC over-claim the client had not noticed. The reply stratified these cleanly: 43 supplier-filing-gap items with invoice copies attached, and 7 items where the client accepted, reversed, and paid interest of ₹12,400. Notice closed in 21 days. Zero penalty. Zero demand order on record.

43Supplier-gap invoices defended
7Genuine mismatches accepted
₹0Penalty paid
21 daysNotice closed
Python · Pandas GSTR-3B vs GSTR-2A/2B reconciliation engine — for ASMT-10 reply preparation
import pandas as pd

def reconcile_gstr(gstr3b_path: str, gstr2a_path: str) -> pd.DataFrame:
    """
    Reconcile ITC claimed in GSTR-3B vs available in GSTR-2A/2B.
    Stratifies mismatches by type for ASMT-10 reply preparation.
    Required columns: GSTIN, Invoice_No, ITC_Amount
    """
    df_3b = pd.read_excel(gstr3b_path)   # Your 3B ITC claims
    df_2a = pd.read_excel(gstr2a_path)   # Supplier-reflected data from portal

    merged = pd.merge(
        df_3b, df_2a,
        on=["GSTIN", "Invoice_No"],
        how="left",
        suffixes=("_3B", "_2A")
    )

    merged["ITC_2A"].fillna(0, inplace=True)
    merged["Mismatch"] = merged["ITC_3B"] - merged["ITC_2A"]

    def classify(row):
        if   row["ITC_2A"]   == 0:  return "Supplier Not Filed"
        elif row["Mismatch"] >  0:  return "Excess ITC Claimed"
        elif row["Mismatch"] <  0:  return "Under-Claim (No Risk)"
        else:                         return "Matched"

    merged["Status"] = merged.apply(classify, axis=1)

    # Interest estimate @ 18% p.a. — adjust for exact days in your case
    merged["Interest_Est"] = merged["Mismatch"].clip(lower=0) * 0.18

    mismatches = merged[merged["Status"] != "Matched"].copy()

    return mismatches[[
        "GSTIN", "Invoice_No", "ITC_3B",
        "ITC_2A", "Mismatch", "Status", "Interest_Est"
    ]]

if __name__ == "__main__":
    result = reconcile_gstr("gstr3b.xlsx", "gstr2a.xlsx")
    result.to_excel("asmt10_reconciliation_output.xlsx", index=False)
    print(f"Total mismatches: {len(result)}")
    print(result.groupby("Status")["Mismatch"].sum())

The output Excel becomes the reconciliation statement you attach to your ASMT-10 reply. Every invoice is accounted for, every category is stratified, and the numbers tie directly to portal data the officer can verify. The reply is self-evidencing — it does not ask the officer to trust a narrative.

Common Mistakes

What turns ASMT-10 into DRC-01

Replying without a line-item reconciliation
A written explanation alone gives the officer nothing to verify. If the numbers aren't mapped invoice-by-invoice against 2A/2B, the reply is treated as insufficient and DRC-01 follows.
Missing invoice copies for supplier non-filing cases
If ITC is absent from GSTR-2A because the supplier hasn't filed, your defence rests entirely on the underlying tax invoice. Without it, the ITC cannot be defended regardless of the merits.
Reconciling against the wrong 2A vintage
GSTR-2A is dynamic and updates as suppliers file. Reconciling against today's 2A instead of the 2A at the time of your original 3B filing creates apparent matches that didn't exist then — undermining your case.
Disputing every item in the notice
If a small portion of ITC was genuinely over-claimed, accepting that amount and paying interest — while defending the rest — is faster and cheaper than contesting everything and risking a full DRC-01 demand.
Starting preparation on day 27 of 30
A thorough reconciliation across a full financial year takes 3–4 working days. A late start produces a rushed reply or a missed deadline — both of which make DRC-01 significantly more likely.
Quantified outcomes

Verified engagement results

₹0
Penalty paid — Trading Co., MumbaiASMT-10 notice for ITC mismatch. Python reconciliation identified 43 supplier-gap invoices. Reply stratified cleanly. Notice dropped in 21 days.
21
Days to notice closureFrom first reply submission to official closure — well within the 30-day window. No demand order raised.
80%
Payroll processing time eliminatedPython automation across 1,800+ field-force agents: from 5 working days to 4 hours.
$35M
Expansion capital structuredBank lines secured for a pan-India retail chain's 40-store expansion. Financial models built to lender specification.
Why Clients Engage

Every claim on this page is verifiable. No invented quotes. No stock-photo case studies. Just 25 years of documented financial work and the qualifications that underpin it.

Common questions

Before You Get in Touch

Answers to the practical questions most decision-makers ask about ASMT-10 notices before starting a conversation.

An ASMT-10 is a scrutiny notice issued under Section 61 of the CGST Act, 2017 when the GST officer detects discrepancies between your filed GSTR-3B and system-generated GSTR-2A/2B data — typically excess ITC claimed, a turnover mismatch, or an apparent tax underpayment. It is not a demand notice. It is a request for your explanation before any demand is raised.
Log in to gst.gov.in → Services → User Services → View Additional Notices / Orders → locate the ASMT-10 → click Reply. Submit a written explanation with a reconciliation statement and supporting invoices within 30 days of the notice date. If the officer accepts the explanation, the notice is dropped without any demand. If not, a DRC-01 Show Cause Notice is issued.
If you don't respond within 30 days — or the officer considers your reply inadequate — a DRC-01 Show Cause Notice is issued under Section 73 or 74. This formalises a tax demand and carries the risk of interest under Section 50 and penalty. The window to exit without a demand order on record closes at the ASMT-10 stage.
ASMT-10 is the scrutiny notice under Section 61 asking for your explanation of a return discrepancy. DRC-01 is the Show Cause Notice under Section 73/74 issued when the ASMT-10 reply is unsatisfactory — it proposes a formal tax demand. ASMT-10 is your opportunity to close the matter cleanly; DRC-01 is the escalation if you miss that window.
Yes. If the reconciliation demonstrates that the discrepancy arises from a supplier's failure to file their GSTR-1 (not your error), or from a timing difference, and you provide documented evidence — invoices, reconciliation statement, portal screenshots — the officer can close the notice without any demand or penalty. This is the standard outcome when the reply is properly prepared with line-item data mapping.
Both, with care. GSTR-2A is dynamic and updates whenever suppliers file — so it changes after you have already filed your 3B. GSTR-2B is a static monthly statement locked at a specific cut-off date. GST officers typically compare your 3B against GSTR-2B at the time of scrutiny. Your reconciliation should map ITC claims against both, and explicitly note any invoices that appear in 2A but not 2B due to late supplier filing — those are defensible with underlying invoice copies.
The CA Ryan Vaz Difference

Most CAs advise on notices. Ryan Vaz resolves them with data — in the same engagement.

The reconciliation strategy, the Python script, and the reply document are all designed by the same person who understands both the financial logic and the regulatory exposure. No handoff. No translation loss. No billing two firms.

Get in Touch
Get in Touch

Received an ASMT-10 Notice?

Share the notice date, the period under scrutiny, and the flagged discrepancy amount. We will have a Python-reconciled reply strategy ready well before the 30-day deadline.

CA Ryan Vaz
Fellow Chartered Accountant (FCA) · Certified Forensic Accountant, ICAI 2015 · Mumbai
25+ years of CFO-level financial leadership across India and East Africa. GST ASMT-10 and DRC-01 notice responses handled using Python-driven GSTR-2A/2B reconciliation — data first, argument second. ICAI-registered, independently verifiable at icai.org. Contact: ryan@vazassociates.com · WhatsApp +91 95384 16161
Related guides
Chat on WhatsApp · +91 95384 16161