Revenue Intelligence Blog

GST E-Invoicing for SaaS: IRN, QR Codes & 24-Hour Rule

 

GST E-Invoicing Isn't Optional Anymore — Here's What SaaS Companies Need to Know

If your SaaS company crosses the applicable turnover threshold, GST e-invoicing isn't a nice-to-have — it's a legal requirement, and getting it wrong has real financial consequences: rejected input tax credit claims for your customers, compliance penalties, and reconciliation headaches during GSTR-1 filing.

Here's what actually matters, practically, for a SaaS finance team.

What Is an IRN, and Why Does It Matter?

Every e-invoice you generate needs to be reported to the Invoice Registration Portal (IRP), which validates it and returns a unique Invoice Reference Number (IRN) — a cryptographic hash tied to your invoice details. Without a valid IRN, your invoice is not considered a valid tax invoice under GST law, regardless of how correctly everything else on it is formatted.

Along with the IRN, the IRP returns a QR code that must be printed on the invoice itself — this is what allows GST officers and your customers to instantly verify the invoice's authenticity.

The 24-Hour Cancellation Window Nobody Warns You About

Here's the detail that catches most finance teams off guard: once an IRN is generated, you have exactly 24 hours to cancel it if there's an error. After that window closes, cancellation is no longer possible through the IRP.

If you discover a mistake after 24 hours — wrong amount, wrong GSTIN, wrong line items — you cannot simply cancel and reissue. Instead, you need to issue a credit note with its own new IRN to correct the original invoice. This is a fundamentally different correction mechanism, and treating it like a simple cancel-and-redo will create a mismatch in your GST records.

Practical takeaway: build a review step into your invoicing workflow that catches errors before the 24-hour window closes, not after — because the fix afterward is meaningfully more complex.

Common Mistakes We See SaaS Companies Make

1. Treating invoice date and revenue recognition date as the same thing. They're not — GST is triggered by the invoice date; ASC 606 revenue recognition follows the performance obligation timeline. (We cover this in detail in our ASC 606 guide.)

2. Not tracking GSTIN status changes. If a customer's GSTIN is suspended or cancelled after you've already generated invoices against it, that creates a compliance gap that's easy to miss without active monitoring.

3. Manual reconciliation between e-invoices and GSTR-1. Doing this by hand, every filing period, is exactly the kind of repetitive, error-prone task that shouldn't require manual effort every single month.

How This Should Actually Work

A properly automated e-invoicing workflow should:

  • Generate the IRN and QR code automatically at the moment of invoicing, with no manual portal interaction
  • Flag any invoice nearing the 24-hour cancellation window that hasn't been reviewed yet
  • Automatically route corrections past that window into the proper credit-note-with-new-IRN process
  • Keep GSTR-1 data pre-populated and reconciled against your actual invoice records, continuously — not just at filing time

This is exactly the kind of compliance workflow Fincelo automates for India SaaS companies, so your finance team isn't manually shepherding every invoice through the IRP.


GST e-invoice IRP portal IRN QR code generation flow



See how Fincelo handles GST e-invoicing automatically →


Fincelo is an agentic AI-powered SaaS billing and revenue intelligence platform, built for Series A/B India SaaS companies and their CFOs.

ASC 606 Revenue Recognition for India SaaS Companies: 2026 Guide

Why ASC 606 Is Harder for India SaaS Companies Than Anyone Tells You

If you're a finance leader at an India-based SaaS company selling to US or global customers, you've probably heard the same advice everywhere: "just follow the 5-step ASC 606 model." What almost nobody tells you is what happens when that model collides with GST, multi-year contracts billed in INR, and a finance team doing period close in a spreadsheet at 11pm.

This guide covers ASC 606 the way it actually shows up for India SaaS companies — not the textbook version.

What ASC 606 Actually Requires (The 5-Step Model, Briefly)

ASC 606 — and its international equivalent, IFRS 15 — governs when and how much revenue you're allowed to recognize from a customer contract. The five steps are:

  1. Identify the contract with a customer
  2. Identify the performance obligations — what you're actually promising to deliver
  3. Determine the transaction price — the total amount you expect to be entitled to
  4. Allocate the price across each performance obligation
  5. Recognize revenue as each obligation is satisfied

That's the theory. Here's where it actually gets complicated for a SaaS company billing annually or over multiple years.

The Real Problem: Invoice Date Is Not Recognition Date

The single most common mistake we see in India SaaS finance teams: treating the invoice date as the revenue recognition date.

If a customer signs a 3-year contract and pays ₹36,00,000 upfront, you have not earned ₹36,00,000 of revenue the day that invoice clears. Under ASC 606, that amount needs to be recognized ratably over the 3-year service period — typically month by month, as the service is actually delivered.

This means:

  • The cash hits your bank account on day one
  • The revenue is recognized gradually, over 36 months
  • The difference sits on your balance sheet as deferred revenue — a liability, not income, until it's earned

Get this wrong, and your P&L looks nothing like your actual business performance — which becomes a serious problem the moment an investor, auditor, or board member asks to see your numbers.

Where GST Makes This Even Harder

Here's the part most ASC 606 guides — written for US audiences — never mention: your GST treatment and your revenue recognition schedule are two completely separate calculations, and conflating them is a common, costly mistake.

GST is charged and remitted based on the invoice date and the applicable GST treatment type (registered regular, unregistered, overseas/export, SEZ, and several others — India has roughly 10 distinct GST treatment scenarios that a B2B SaaS company can encounter). Revenue recognition under ASC 606 follows the performance obligation timeline, which has nothing to do with when GST becomes payable.

A finance team that tries to force these two into the same schedule usually ends up with either:

  • GST filings that don't reconcile cleanly with revenue reports, or
  • A revenue recognition schedule that's quietly being distorted to make the accounting "easier" — which is exactly the kind of thing that turns into a real problem at audit time

Multi-Year Contracts: The Escalation Clause Trap

Many India SaaS contracts include built-in price escalation — for example, a 3-year deal where the price increases 10% each renewal year. Under ASC 606, if that escalation is already specified in the original contract, it typically needs to be factored into the total transaction price calculation from day one — not treated as a fresh new sale each year.

This is a detail that's easy to miss manually, and one that compounds — a small error in year one of a 3-year schedule doesn't just misstate one month, it distorts the entire remaining recognition curve.

Period Close: Where This All Comes Together (Or Falls Apart)

At month-end, a finance team needs to answer, for every active contract:

  • How much revenue was actually earned this period?
  • How much remains deferred?
  • Does any backdated entry (a late contract amendment, a correction) need special handling?

Most finance teams handle backdated or unusual entries with what we think of as a materiality-based decision:

  • Small, immaterial adjustments — close automatically, no separate review needed
  • Moderate adjustments — flagged for CFO review before the books close
  • Material adjustments — require both CFO and controller sign-off before anything is finalized

The mistake we see most often isn't getting the accounting theory wrong — it's not having a consistent, repeatable process for making this judgment call every single month, which is exactly when errors creep in.

What This Actually Looks Like When It's Automated

This entire process — invoice-to-recognition separation, GST treatment applied independently of revenue timing, multi-year escalation clauses correctly modeled from contract signing, and a consistent materiality-based period close — is exactly what Fincelo was built to handle automatically for India SaaS companies, without asking your finance team to rebuild the logic in a spreadsheet every month.

If you're currently doing any part of this manually, it's worth seeing what a platform built specifically for this problem looks like.


ASC 606 revenue recognition waterfall chart for a SaaS company
ASC 606 revenue recognition waterfall chart for a SaaS company

Start a 14-day free trial at fincelo.app →



Fincelo is an agentic AI-powered SaaS billing and revenue intelligence platform, built for Series A/B India SaaS companies and their CFOs.

Powered by Blogger.