GSTR-9 for FY 2024-25 is due in 24 hours — December 31, 2025. [As of today, no extension has been notified by CBIC](https://www.facebook.com/cbicindia/posts/file-your-gstr-9-before-due-date-31st-december-2025cbic-gstr9-gst-duedate/1175586128096682/) despite formal extension requests from the Bombay Chartered Accountants' Society and others. If you ran our
14-day cleanup sequence from Dec 16, your final filing window is now 90 minutes of focused work. This post is the timed checklist, the four mistakes that have cost SMBs we audited ₹1.4-7.2 lakh in notices over the last year, and the exact submission flow.
Dec 31
GSTR-9 deadline (no extension as of today)
90 min
Sprint duration if cleanup is done
₹200/day
Late fee, capped at 0.5% of turnover
₹3.4L
Median SMB cost of fixing GSTR-9 mistakes via notice
## TL;DR — the 90-minute sprint in 60 words
Open your GSTR-9 working papers from the Dec 16-29 cleanup. Validate Tables 4 (outward supplies), 6 (ITC), 7 (ITC reversed), 8 (ITC reconciliation with GSTR-2B), 9 (rate-wise tax paid), 17 (HSN summary outward), and 18 (HSN inward). Generate the JSON via the GSTN's offline utility, upload to gst.gov.in, validate, file with EVC or DSC. Save the acknowledgement.
## Why this matters now — December 30
24-hour countdown. The portal is reliably under heavy load on Dec 31 evening — historical pattern from the last 4 years. Filing on Dec 30 evening or early Dec 31 morning is the right strategy. If you cannot file by Dec 31 11:59 pm, the late fee starts ticking at ₹200/day from Jan 1.
The 4 mistakes we cover in this post are the ones that turn into [GST notices 18-30 months later](https://www.businesstoday.in/personal-finance/tax/story/nobody-talks-about-gstr-9-till-a-notice-hits-ca-flags-risks-for-overlooking-gstr-9-filing-508110-2025-12-24). The CBIC's analytics engine compares GSTR-9 across years, against your filed GSTR-3Bs, and against your suppliers' filings. Mistakes here surface as DRC-01 notices that take ₹1-7 lakh to resolve through professional fees + interest + tax.
The portal warning: The gst.gov.in portal historically slows or crashes between 7 pm and 11 pm on the deadline day. File at 8 am or 11 am if at all possible. Keep two browser sessions open (Chrome + Edge) — if one stalls, the other often completes.
## The 90-minute sprint, minute by minute
1
Minutes 0-10: Open working papers + GSTN offline utility
Open your GSTR-9 working-papers spreadsheet from the Dec 16-29 cleanup. Download the [GSTR-9 offline utility](https://www.gst.gov.in/download/returns) from gst.gov.in (latest version, Dec 2025 release). Open both side-by-side.
2
Minutes 10-25: Table 4 — Outward supplies
Auto-populated from GSTR-1 + GSTR-1A. Cross-check against your Tally annual sales report. If a difference: investigate before proceeding. Most common cause: amendments filed in GSTR-1A but not reflected in your books, or vice versa.
3
Minutes 25-40: Table 6 — ITC availed and Table 7 — ITC reversed
Table 6 sum = sum of Table 4(A) of all 12 GSTR-3Bs. Table 7 sum = your Rule 42/43 reversals + any reversed ITC during the year (e.g., for non-payment to supplier under Section 16). Cross-check against your Tally ITC ledger.
4
Minutes 40-55: Table 8 — ITC reconciliation with GSTR-2B
The high-risk table. Compare ITC claimed in 3B vs ITC available in 2B for each tax category (CGST, SGST, IGST, Cess). Differences require documentation in the working papers. With IMS hard-block now active, the 2B figure is the binding constraint.
5
Minutes 55-65: Table 9 — Rate-wise turnover and tax paid
Sum sales by GST rate (5%, 12%, 18%, 28%, exempt, zero-rated). Verify the tax paid totals match the filed GSTR-3B totals. Mismatches between Table 4 and Table 9 are auto-flagged by the portal.
6
Minutes 65-75: Tables 17 + 18 — HSN summary
Table 17 = HSN-wise outward supplies. Table 18 = HSN-wise inward (only for taxpayers above ₹5 Cr). Use 6-digit HSN codes minimum (4-digit allowed only if turnover <₹5 Cr). Quantity unit codes must match the master list — e.g., NOS for numbers, KGS for kilograms.
7
Minutes 75-85: Generate JSON, upload, validate
In the offline utility: File → Generate JSON. Upload the JSON to gst.gov.in → Returns Dashboard → GSTR-9 → Upload. Wait for validation (typically 30-90 seconds). Fix any errors flagged.
8
Minutes 85-90: File with EVC or DSC
Click "Compute Liabilities" → wait for confirmation → "File GSTR-9". Enter EVC (OTP to authorised signatory's mobile) or use DSC dongle. Save the acknowledgement (ARN). Download the filed form as PDF for records.
## The 4 mistakes that cost SMBs lakhs
These are the failures we have seen in 14 GSTR-9 audits over the last 18 months. Each one becomes a notice 6-30 months later.
### Mistake #1: HSN summary uses 4-digit codes when 6 are required
If your aggregate annual turnover crosses ₹5 crore, [Notification No. 78/2020-Central Tax](https://cbic-gst.gov.in/) requires 6-digit HSN codes on B2B and a 4-minimum on B2C (with 6-digit recommended). Many SMBs use 4-digit codes throughout because their billing software defaults to 4-digit. The GSTR-9 portal accepts the 4-digit submission silently — the validation does not block it. The notice arrives 18-24 months later from the GST department's audit team flagging "HSN classification non-compliance".
The fix today: in the offline utility's Table 17, expand any 4-digit HSN to 6-digit by reference to your invoices. If the underlying invoices have 4-digit HSN, you have a billing-software issue (we cover this in
our reconciliation post) — fix it for FY 2025-26 immediately.
### Mistake #2: ITC reversal under Rule 42/43 not computed
If you have any exempt or zero-rated sales (exports, agricultural products, services to SEZ), Rule 42/43 reversal is mandatory. Many SMBs skip this because their ratio of exempt-to-total is small (e.g., 4%). The reversal is small but mandatory; missing it causes the entire ITC pattern to be flagged as suspect at audit.
The fix today: in Table 7 of the offline utility, compute D1 + D2:
- D1 = (Exempt turnover ÷ Total turnover) × Common ITC
- D2 = 5% of common ITC
For a ₹2.4 Cr SMB with 4% exempt revenue and ₹18 lakh common ITC, the reversal is roughly: D1 = (0.04 × 18,00,000) = ₹72,000 + D2 = ₹90,000 → total ₹1,62,000. That number goes in Table 7's appropriate row.
### Mistake #3: RCM transactions under-declared
Reverse Charge Mechanism applies to specific service categories: legal services, GTA (goods transport agency), import of services, and a few others. The pattern: you pay the RCM tax in the month the service was received, then claim ITC in the next month. Many SMBs forget the second step (the ITC claim) AND forget to declare the RCM transactions in GSTR-9 Table 4(G).
The fix today: cross-check Table 4(G) against your bank-statement entries for legal-services payments, GTA bills, import-of-services invoices. Expected totals should match what you booked in the books. If books-based figure exceeds Table 4(G): under-declared, add to Table 4(G). If reverse: investigate (you may have over-paid RCM, recoverable).
### Mistake #4: Advances received not reconciled to invoice issuance
If you took an advance in December 2024 for a service delivered in January 2025, GST was payable on the advance receipt date. The invoice in January adjusts the advance. GSTR-9 Table 4(F) captures the net of (advances received during the year) - (advances adjusted to invoices during the year).
Many SMBs (especially SaaS, project-based services, real-estate brokerages) make one of two errors: (a) declare advances received but forget the adjustment, leading to double-counting, or (b) skip Table 4(F) entirely.
The fix today: pull your Tally "Advances Received" ledger for the FY. Pull your "Advances Adjusted to Invoices" ledger. The net goes in Table 4(F). For SMBs with no advance-receipts business model, this row is zero; verify and move on.
## Comparison: filing modes (online vs offline utility)
| Mode | Pros | Cons | Best for |
| Online (in-portal form) | No download needed; auto-saves; portal validation real-time | Slow on Dec 31; loses data on session timeout | Small SMBs with simple GSTR-9 (turnover <₹2 Cr) |
| Offline utility (JSON upload) | Fill offline; bulk validation; reusable across years | Excel/JSON learning curve; tooling sometimes outdated | SMBs ₹2-15 Cr; CA-led prep |
| API filing (third-party software) | Programmatic; bulk filing for multi-GSTIN entities | Requires software subscription; setup overhead | Large entities, multi-state ops, CA firms with 50+ clients |
For most SMBs in our target band, the offline utility is the right answer. It is more reliable on the deadline day and produces a JSON you can revisit if questions arise.
## When NOT to file yourself today
Two cases where a CA hand-off in the next 24 hours is the better call.
You discover a major mismatch in Table 8 (ITC vs 2B) only now. A >5% mismatch is a risk indicator. Filing under panic without understanding the cause is worse than paying the late fee. Get the CA's call by 6 pm tonight; pay late fee tomorrow if needed.
You realise GSTR-9C is required (turnover >₹5 Cr) and you do not have a CA engaged. GSTR-9C requires CA certification — non-negotiable. Filing GSTR-9 without 9C when 9C is required leaves you in violation. Find a CA today (boutique firms can typically take this on for ₹40-80k); file both within 14 days, accept the modest late fee.
## Real example — a ₹4.6 Cr Pune logistics SMB filing today
Same client we mentioned in earlier posts in this series. ₹4.6 Cr turnover, GSTR-9 mandatory but GSTR-9C optional (under ₹5 Cr threshold).
The 90-minute sprint, run by their finance manager today (Dec 30) with us on call:
- Minutes 0-15: Working papers loaded + offline utility opened. 0 mismatches in Table 4 (outward supplies).
- Minutes 15-40: Tables 6, 7 reviewed. Caught one ₹14k RCM ITC under-claim from August 2024 (Mistake #3 in our list above). Added to Table 6.
- Minutes 40-65: Table 8 reconciliation. ₹3.4 lakh of ITC reclaim from supplier under-filings (we found this in the Dec 16-29 cleanup). Documented + filed.
- Minutes 65-80: Tables 17, 18 — HSN summary in 6-digit format (they were on 4-digit; expanded with reference to invoices).
- Minutes 80-90: JSON generated, uploaded, validated, filed with EVC. ARN saved.
Total time: 92 minutes (2 minutes over budget — caught a typo in Table 17). Result: filed Dec 30, 2:14 pm. Recovered ITC: ₹3.54 lakh net. Late-fee: ₹0.
## A common question from SMBs filing today
"The portal is showing different auto-populated numbers than what we expected. Should we override?"
Sometimes yes, sometimes no. Three scenarios:
-
Auto-populated < expected (you under-claimed ITC during the year): override upward, document in Table 8 with reason. The portal allows reclaim of additional ITC if invoices are valid and not time-barred (typically Nov 2025 cutoff for FY 2024-25 invoices, but check the [most recent CBIC clarification](https://cbic-gst.gov.in/)).
-
Auto-populated > expected (you over-claimed during the year): do NOT override downward. Auto-populated values represent your filed positions. Reversing them in GSTR-9 implies acknowledging excess-ITC claim — you owe back the difference + 24% interest. This needs CA judgment.
-
Auto-populated rate-wise turnover does not match Table 4: investigate. Common cause: rate amendments filed in GSTR-1A not reflected in original return. Resolve before filing.
When in doubt, the safer move is to file as-auto-populated (lower notice risk) and address mismatches via a separate refund/reversal process in the next FY.
## Pre-file checklist (10 items, last 30 minutes)
- Working papers from Dec 16-29 cleanup open and reviewed
- Offline utility v(Dec 2025) downloaded and opened
- Tables 4, 6, 7, 8, 9 cross-checked against Tally annual reports
- Tables 17, 18 use 6-digit HSN (mandatory if turnover >₹5 Cr; recommended otherwise)
- Rule 42/43 ITC reversal computed and entered in Table 7 (if exempt sales exist)
- RCM transactions declared in Table 4(G) and ITC claimed in Table 6
- Advances received vs adjusted reconciled in Table 4(F)
- JSON generated successfully (no offline-utility errors)
- Authorised signatory's mobile available for EVC OTP, OR DSC dongle present
- Save filed-form PDF + ARN in a labelled folder for audit-defensibility
## What happens after filing
1.
ARN issued immediately — save it. It is the only proof of filing.
2.
No revision possible — the form is final. Mistakes carry into the next FY's reconciliation.
3.
Form GSTR-9C (if turnover >₹5 Cr) — file by Dec 31 separately. Same deadline.
4.
Audit trail closed — for FY 2024-25 GST. Any future notices reference the filed GSTR-9 as the baseline.
5.
Books finalised — sign-off from CA on the FY's GST position. Books for FY 2024-25 can now be archived.
The acknowledgement (ARN) is your only proof. Email it to yourself, save it to Drive, print it. We have seen ARNs get lost during firm changes, and the GSTN portal's "search filed returns" function is occasionally slow. Belt and braces.
## FAQ
### What if I cannot file by 11:59 pm Dec 31?
Late fee accrues from Jan 1: ₹200/day capped at 0.5% of turnover. For a ₹2 Cr SMB the cap is ₹1 lakh; for a ₹4 Cr SMB it is ₹2 lakh. File as soon as possible after the deadline; do not delay further. Note: the late fee is in addition to any tax + interest from filing-related corrections.
### Will the deadline be extended at the last minute?
Possibly. The CBIC has extended GSTR-9 deadlines in the past (most recently for FY 2022-23, extended to Feb 28 from Dec 31). As of December 30, 2025, no extension has been notified. [Tax bodies are still pressing for one](https://a2ztaxcorp.net/gstr-9-gstr-9c-filing-tax-bodies-demand-extension-of-december-31-deadline/). Plan for Dec 31; if extension drops, you have a buffer.
### What is the difference between GSTR-9 and GSTR-9C late fees?
GSTR-9 late fee: ₹200/day, capped at 0.5% of turnover. GSTR-9C: as of FY 2024-25 the late fee is ₹200/day (₹100 + ₹100), no cap, but the CA's professional indemnity may also extend. Recent court cases have ruled some 9C late fees as harsh; consult CA before paying.
### Can I file GSTR-9 without filing GSTR-9C if both are due?
Technically the portal allows it (the two forms are separate filings). Practically, the GST officer at audit treats them as a paired filing — non-filing of 9C when required is a violation. If both are due, file both within the same window.
### What about NIL-turnover entities — do they need to file GSTR-9?
Entities with NIL turnover for the entire FY are exempt from filing GSTR-9 (per [CBIC clarification](https://cbic-gst.gov.in/)). However, if you had even one taxable transaction, you must file. When in doubt, file with NIL values — easier than defending non-filing.
### Can the offline utility be used on macOS?
The official utility is Windows-only (Excel macro-based). For macOS users, run a Windows VM (Parallels, UTM) or borrow a colleague's Windows machine for the 10-minute JSON generation step. Online filing is OS-agnostic but slower on Dec 31.
### What is the most common portal error during filing?
"Aggregate turnover mismatch" — when the sum of your monthly GSTR-3B turnovers does not equal Table 4 of GSTR-9. Cause: amendments filed in GSTR-1A. Fix: enter the correct aggregate manually in Table 4; document in working papers; cite GSTR-1A amendments as reason if asked at audit.
## Where this fits in our work
The 90-minute sprint is the culmination of the 14-day cleanup we covered in the
Dec 16 follow-up post and the Dec 13
advance-tax sprint. We build the n8n + Tally + GSTN automation that powers the data-pull side of this work — see our
Nov 8 reconciliation post for the architecture pattern.
This post was written by
Manvi, who handles compliance and QA on our Indian-SMB engagements. For the broader BFCM and Diwali context that explains why this December has been particularly painful for SMBs, see our
Nov 27 Black Friday post and
Diwali post-mortem.
For our broader Indian SMB practice, see our
web development and
AI automation services. For an example of an SMB build where these compliance patterns were embedded into the financial workflow from day one, see
Radiant Finance.
The Reddit thread on [r/IndiaTax](https://www.reddit.com/r/IndiaTax/) where SMB founders and CAs discuss GSTR-9 horror stories is required reading — the same patterns repeat year after year. The fix is usually procedural, not technical.
Need a Same-Week GSTR-9 Audit on Your Filing?
We run a 4-hour audit on your filed GSTR-9 and identify the 4-mistakes pattern (HSN, Rule 42/43, RCM, advances) before any GST notice arrives. ₹14,000 fixed-scope per GSTIN. We turn the audit around within 5 working days. Suitable for SMBs with ₹2-25 Cr turnover, single or multi-state. Includes a working-papers archive set up for audit-defensibility.
Book a Same-Week Audit
Email
contact@softechinfra.com if you want the GSTR-9 working-papers spreadsheet template — we share it with anyone serious about clean filing.