Disclaimer: Independent educational project. Not affiliated with Finkraft.ai. Built by Kaushal Khodifad. Data from public sources; figures are estimates.return to portfolio
Disclaimer: Independent educational project. Not affiliated with Finkraft.ai.
Tab 1 of 310 sections30-min read

GST 360°. Everything an enterprise tax-tech PM should hold in their head.

Returns ecosystem, ITC mechanics, the IMS state machine, e-invoicing flows, the edge cases that break reconciliation, GSP / ASP plumbing, and the competitive landscape Finkraft.ai sits inside. Diagrams over paragraphs.

Real · runs live
Recon engineBoth benchmarksLLM answersAudit-log writes
Simulated · labelled
Purchase registerGSTR-2BNIC IRPCBIC ingestion

Every product module carries this same green/amber legend - so a “live” pill never over-claims.

Test yourself as you go. Each of the 10 sections ends with a one-tap quick-check. Start the track →
Section 1 · Foundation

GST primer - what's actually being taxed

GST is a destination-based, value-added tax on the supply of goods and services. Every taxable transaction sits in one of four buckets - CGST + SGST when supply happens inside one state, IGST for inter-state, UTGST for union-territory legs. The taxable event is supply (not sale), and valuation follows transaction value with prescribed inclusions/exclusions. Time-of-supply rules decide which return period a transaction falls in; place-of-supply rules decide which government collects it.

  • Intra-state ₹100 + 18% = ₹9 CGST + ₹9 SGST (50/50 split)
  • Inter-state ₹100 + 18% = ₹18 IGST (centre collects, distributes)
  • Threshold of registration: ₹40L goods / ₹20L services in most states
  • Composition scheme for small suppliers - they can't pass on ITC
  • Supply includes goods, services, and a long list of deemed supplies
Operator gotcha
Place-of-supply mistakes are the most expensive recon error in practice - an IGST invoice that should have been CGST+SGST has to be revisited, refunded, and re-claimed. Always validate against state codes in the GSTIN.
INTRA-STATE (KA → KA)CGST 9%SGST 9%Centre 50% · State 50%INTER-STATE (KA → DL)IGST 18%Centre collects · distributes to destination state
CGST + SGST (intra-state) vs IGST (inter-state) - the same 18% lands differently
Quick check
A Karnataka-registered seller invoices a Delhi-registered buyer for software ₹1,00,000 + GST. What's the tax split?
Section 2 · The returns ecosystem

GSTR-1 / 2A / 2B / 3B / 9 / 9C - how the data actually flows

Outward supplies go in GSTR-1 (filed by the 11th of the next month). The GST portal auto-drafts the recipient's view - GSTR-2A is the dynamic mirror, GSTR-2B is the static snapshot generated on the 14th. Recipients summarize their position in GSTR-3B (due 20th, with the tax payment). Annual return GSTR-9 reconciles the year; GSTR-9C is the annual reconciliation statement for entities > ₹5cr turnover, signed off by a CA/CMA. Every modern ITC claim is matched against 2B, not 2A.

  • GSTR-1: outward supplies (filed 11th)
  • GSTR-2A: dynamic, keeps updating as suppliers file
  • GSTR-2B: STATIC, generated 14th - the single source of truth for ITC
  • GSTR-3B: monthly summary + tax payment (due 20th)
  • GSTR-9 (annual) + 9C (reconciliation, > ₹5cr turnover)
High-cost mistake
ITC eligibility is anchored to GSTR-2B (not 2A) since Jan 2022. If your supplier files late and the invoice slides to next month's 2B, you cannot claim ITC this period - you wait. This is the single most common reason for ITC reversal.
GSTR-1Outward · 11thGSTR-2ADynamicGSTR-2BStatic · 14thGSTR-3BMonthly · 20thGSTR-9AnnualGSTR-9C>5cr · CA-signedITC anchor since Jan 2022
Supplier files 1 → recipient's 2A (dynamic) + 2B (static, 14th lock) → 3B summary → 9/9C annual
Quick check
Your supplier files GSTR-1 on the 17th. The invoice was for March. When does it become eligible for your ITC claim?
Section 3 · Input Tax Credit mechanics

ITC eligibility - the rules that strip credit away

Not every tax you pay is claimable. Section 17(5) lists categorically blocked credits - motor vehicles ≤ 13 seats, club/gym memberships, employee perks (rent-a-cab, travel benefits unless statutory), construction of immovable property (except plant & machinery), goods given as samples, personal-consumption goods, anything bought from a composition supplier. Even eligible ITC reverses if you don't pay the supplier within 180 days (Rule 37), if the supply turns out to be exempt, or if you sell the asset before its useful life. Reverse Charge Mechanism (RCM) flips the obligation - you pay the tax on the supplier's behalf and then claim it back as ITC in the next month.

  • Sec 17(5) = blocked credits (memorize the categories)
  • Rule 37: 180-day vendor payment rule - non-payment = ITC reversal
  • RCM: pay tax in cash; claim ITC next period
  • ITC reversal on exempt sales, asset disposal, free samples
  • Composition supplier ITC = ALWAYS blocked
Operator gotcha
RCM trips up finance teams more than anything else - you pay the tax this month in CASH (no ITC set-off), then claim it as ITC next month. If the books don't separate RCM payments from output liabilities, the cash-vs-credit ledgers diverge.
GROSS₹100− 17(5)₹85− Rule 37₹78CLAIMABLE₹72
From gross input tax to claimable ITC - every step is a place credit can leak
Quick check
You buy a 7-seater company car for ₹15L + ₹2.7L GST. Can you claim the ₹2.7L as ITC?
Section 4 · IMS workflow

Invoice Management System - the new ITC gatekeeper

IMS (Invoice Management System) is GSTN's recent addition - every supplier-reported invoice now lands in a recipient's IMS dashboard as 'pending', and the recipient explicitly accepts / rejects it before it flows into GSTR-2B and downstream ITC. If no action is taken by the 14th of the next month, the invoice is deemed accepted - the credit flows whether you wanted it or not. Amended invoices reset the state. Rejected invoices stay in the supplier's GSTR-1 (they aren't unfiled), just not credited to you. At enterprise scale (100K+ invoices), bulk-action UX with dry-run preview is non-negotiable.

  • States: pending · accepted · rejected · deemed
  • Deemed acceptance = no action by 14th of next month
  • Rejection ≠ supplier un-filing - it's a recipient-side decision
  • Amended invoice from supplier resets IMS state
  • Bulk action with dry-run = the right enterprise UX
High-cost mistake
Deemed acceptance is dangerous when a vendor disputes are open. Set a workflow rule: any disputed-amount invoice must be marked 'pending' explicitly before the 11th, so it doesn't get auto-accepted on the 14th.
PENDINGdefaultACCEPTEDITC flowsREJECTEDno ITCDEEMED14th-day lockacceptrejectno action → 14th
Pending → accept / reject; no action by 14th = DEEMED accepted (the trap)
Quick check
It's the 13th of April. A supplier invoice for ₹1L from March is pending in IMS - nobody's touched it. What happens on the 14th?
Section 5 · E-invoicing

IRN / IRP / QR - what really happens in an e-invoice call

E-invoicing is mandatory for B2B invoices when aggregate turnover crosses the CBIC threshold (₹5cr since Aug 2023, down from an original ₹500cr in 2020). The flow: invoice JSON in NIC schema → Invoice Registration Portal (IRP, run by NIC) → IRP returns a 64-character IRN, an ack number, an ack date, and a digitally signed QR-code payload. The signed payload + QR must appear on the invoice. Cancellation has a hard 24-hour window from generation; after that you must issue a credit note. E-way bill (mandatory ≥ ₹50k consignment) can be generated in the same IRP call.

  • Threshold: ₹5cr aggregate turnover (since Aug 2023)
  • IRN = 64-char hash, returned by IRP
  • Signed QR must be printed on the invoice
  • Cancellation: 24-hour window only
  • E-way bill ≥ ₹50k - link via the IRP call
Operator gotcha
Bulk IRN generation for high-volume clients hits rate limits - most GSPs throttle to ~500/min. Architect a queue. Also: if an IRN is generated but GSTR-1 doesn't pick it up, it's an 'orphan' - reconcile IRN feed vs GSTR-1 nightly.
INVOICENIC schema JSONIRPNIC-operatedIRN (64ch)signed QRe-way bill
Invoice JSON → IRP → IRN + signed QR + e-way bill (optional, ≥ ₹50k)
Quick check
You generated an IRN on Monday at 10am. On Wednesday at 11am you realize the amount is wrong. What's your move?
Section 6 · Reconciliation logic

Why naive matching breaks - the 20+ edge cases

A purchase-register invoice 'matches' a GSTR-2B invoice when GSTIN + invoice number + amount line up. In practice they almost never do - leading-zero stripping, FY rollover format changes, special characters in invoice numbers, IGST vs CGST+SGST place-of-supply errors, ₹1 rounding differences, suppliers filing late, suppliers amending after you've accepted, cancelled-but-not-removed invoices, credit notes shown as negative amounts. The right algorithm cascades: exact → normalized (strip special chars, lowercase) → tolerance-banded (±₹X, ±N days) → multi-month lookback → fuzzy GSTIN → human review. Every tier has a confidence score; everything below 60% gets a human.

  • Cascade: exact → normalized → tolerance → multi-month → human
  • Confidence bands: 100 / 95 / 85 / 70 / 60 / human
  • Common breakers: leading zeros, FY format, special chars, rounding
  • Always log the mismatch CATEGORY for analytics + audit
  • Bulk-approve top-tier, sample medium-tier, mandate review for low-tier
Worth remembering
Don't auto-resolve below 85% confidence - even if it speeds the recon, the audit-trail cost shows up when a notice arrives. Better to surface ambiguity than hide it.
Exact100% confidenceNormalized95%Tolerance ±₹X / ±days85%Multi-month ±370%Human review<60%
Cascade - exact wins first; every miss drops a tier and a confidence band
Quick check
PR invoice number is 'INV/2024-25/001'. The 2B shows 'inv-2024-25-001'. Naive exact match fails. Which tier resolves this?
Section 7 · The integration layer

GSP / ASP ecosystem - who actually talks to GSTN

GSTN does not expose APIs directly to enterprises. The architecture is three-tier: Enterprise tax/finance team → ASP (Application Service Provider - the UI / business app, e.g. Finkraft, ClearTax, Zoho, TallyPrime) → GSP (GST Suvidha Provider - the authorized routing layer, e.g. Cygnet, IRIS, Masters India, NSDL e-Gov, Taxmann, Karvy) → GSTN. Most serious ASPs integrate with at least two GSPs for redundancy. When evaluating a new GSP partnership, the key questions are: GSTR-2B fetch SLA, IRP/IRN throughput cap, IMS API parity (some lag GSTN by weeks), per-call pricing, and how cleanly their schemas align with the GSTN payload.

  • Enterprises NEVER talk to GSTN directly - always via GSP
  • ASP = the product (Finkraft); GSP = the wire (Cygnet)
  • Multi-GSP redundancy = production-grade pattern
  • Evaluate on: SLA, throughput, IMS parity, pricing, schema fit
  • Finkraft today: Cygnet as primary GSP
Operator gotcha
Schema drift between two GSPs is the silent killer - Cygnet's 'pos_id' might be IRIS's 'place_of_supply'. Build the adapter layer so swap costs are one file, not a refactor.
ENTERPRISE (finance team)Acme Tech · McKinsey · BCGASP - application layer (the product UI)Finkraft · ClearTax · Zoho · TallyPrimeGSP - authorized routing layerCygnet · IRIS · Masters India · NSDL · KarvyGSTN - central tax network
Enterprises never talk to GSTN directly - always via GSP (Cygnet, IRIS, Masters India)
Quick check
Finkraft wants to add IRIS as a backup GSP alongside Cygnet. What's the highest-risk integration concern?
Section 8 · Regulatory cadence

CBIC + GST Council - how rules actually change

The GST Council (Centre + States) meets roughly quarterly and decides material things - rate changes, scheme tweaks, threshold revisions. The Central Board of Indirect Taxes and Customs (CBIC) operationalizes via circulars (interpretive), notifications (legally binding), and instructions (internal). GSTN issues advisories about portal behaviour and API changes. A serious tax-tech PM tracks all three feeds, reviews weekly, and feeds material changes into the roadmap within 48 hours of publication. The last few years have seen: e-invoicing threshold reduction (₹500cr → ₹5cr), GSTR-2B as ITC anchor (Jan 2022), IMS rollout (Oct 2024), QRMP for small filers, simplified returns iterations. 2025 was the heaviest year since 2017: GSTR-3B outward liability hard-locked from the July 2025 tax period (GSTN advisory of 7 June 2025 - corrections must go through GSTR-1A); the three-year bar on filing returns under Sections 37/39/44/52 (Finance Act 2023, Notification 28/2023-Central Tax) enforced on the portal, with the first tranche blocked from 1 August 2025; the 56th GST Council (3 September 2025) collapsing four slabs into 5% and 18% plus a 40% de-merit rate, effective 22 September 2025; and IMS gaining a pending action on credit notes plus a declared ITC-reversal amount from the October 2025 tax period. All positions stated as of September 2026 - GSTN has deferred announced changes before, so check the current advisory before acting.

  • GST Council: quarterly, sets policy direction
  • CBIC: notifications (binding) + circulars (interpretive) + instructions
  • GSTN: portal + API advisories
  • Track all three. Update product within 48h of publication.
  • Recent material moves: e-inv threshold, 2B-anchored ITC, IMS
  • Jun 2025: GSTR-3B outward liability hard-locked (fix via GSTR-1A)
  • Aug 2025: three-year bar on filing returns starts biting
  • 22 Sep 2025: two-rate structure (5% / 18%) + 40% de-merit rate
  • Oct 2025: IMS adds pending on credit notes + declared ITC reversal
Worth remembering
A circular is interpretive guidance, not binding law - courts can override it. Notifications under the CGST Act are binding. When in doubt, ask: is it a notification or a circular?
Q1CouncilQ2CouncilQ3CouncilQ4CouncilCBIC notifications + circulars · weeklyGSTN portal advisories · ad-hocPM reviews all three weekly · product changes within 48h
The cadence - GST Council quarterly, CBIC notifications + circulars, GSTN advisories
Quick check
A CBIC circular re-interprets ITC eligibility for a specific transaction type. A court later disagrees with the circular. What governs?
Section 9 · Audit & litigation

When a notice arrives - what the finance team needs

Common notices: ASMT-10 (scrutiny - discrepancy in returns flagged), DRC-01 (demand of tax / interest / penalty - the big one), GSTR-3A (failure to furnish returns), REG-17 (proposed cancellation of registration). Response windows are typically 15-30 days. For each notice, the finance team needs to reconstruct: which invoices are implicated, what matching attempt was made on each, what IMS action was taken, what the operator decided, when, and why. If your product writes immutable audit logs at every decision point, an audit-pack export is one button. If it doesn't, the team spends two weeks digging through spreadsheets.

  • ASMT-10: scrutiny / discrepancy
  • DRC-01: demand of tax + interest + penalty
  • GSTR-3A: non-filing notice
  • REG-17: proposed cancellation
  • Audit-pack export = the single most valuable feature when a notice arrives
High-cost mistake
Audit response windows are short. If your audit log lives in application memory or rotates monthly, you're already late. Persist every decision, every rule that fired, every operator action - forever. Storage is cheap; audit defense without a trail isn't.
ASMT-10scrutinyDRC-01tax demandGSTR-3Anon-filingREG-17cancelAUDIT PACKinvoicesrecon decisionsIMS + operatorreply15-30d
Notice arrives → reconstruct invoices + recon + IMS + operator decisions → respond in 15-30 days
Quick check
Finkraft receives an ASMT-10 for FY 2024-25 in Jan 2026 - discrepancy of ₹12L in ITC for July 2024. What's the FIRST thing the finance team needs?
Section 10 · Competitive landscape

Where Finkraft sits - and what the others actually do well

ClearTax: broadest mid-market reach, decent recon, strong on filing UX, weaker on enterprise-scale IMS. IRIS GST: deep enterprise IMS + advanced recon, GSP heritage gives them the cleanest GSTN integration. Zoho Books: best for SMBs that want accounting + GST in one stack; light on enterprise recon. TallyPrime: massive installed base in Indian SMBs (millions of users), GST module is competent but not best-of-breed. KDK Spectrum: traditional CA-firm tooling, strong on filing workflows. Cygnet: primarily a GSP, but they have a productized recon layer too. Finkraft's wedge: T&E-specific GST recovery (airlines, hotels), 1,250+ enterprise clients, claim recovery of ₹300cr+ - vertical depth where horizontal players go wide.

  • ClearTax - broadest reach, mid-market sweet spot
  • IRIS - enterprise IMS + cleanest GSTN integration (GSP heritage)
  • Zoho - SMB accounting-first
  • TallyPrime - massive installed base, competent GST
  • Finkraft wedge - T&E GST recovery for enterprise (airlines/hotels)
Worth remembering
Competitive intelligence isn't about feature-checklists - it's about which customer pain each player owns. Finkraft owns T&E GST recovery for enterprise finance; that's the moat. Recon is table-stakes on top of it.
ENTERPRISE READINESS →VERTICAL DEPTH →Finkraft (T&E)IRIS GSTClearTaxZoho BooksTallyPrimeKDK SpectrumCygnet (GSP)
Vertical depth × enterprise readiness - Finkraft owns T&E recovery; ClearTax owns breadth
Quick check
A Finkraft sales call: a prospect says 'we already use IRIS for GST filing - why switch?' What's the strongest reframe?
You're done · what next

Head to PRD to read the four-part product spec, or jump straight into Product to see the recon engine, IMS workspace, and AI knowledge base actually running on seeded synthetic data.

↑ Independent educational project by Kaushal Khodifad. Finkraft.ai is a real company in the enterprise GST compliance and reconciliation space; this design and the underlying prototype were built by Kaushal as a portfolio study. Not affiliated with, endorsed by, or representative of Finkraft.ai's actual product. Data is from public sources. Figures are estimates.

Return to portfolioOpen the live demo