Legal Suvidha is a registered trademark. Unauthorized use of our brand name or logo is strictly prohibited. All rights to this trademark are protected under Indian intellectual property laws.
Legal Suvidha
Goods & Service Tax (GST)

Generating IRN for GST : Overview

Generating an IRN under GST in India means preparing the invoice JSON per the IRP schema, submitting it to the Invoice Registration Portal directly or through an ASP-GSP, and receiving a signed JSON with an IRN hash and QR payload. The obligation falls on suppliers crossing the CBIC-notified turnover threshold, applies to B2B, export, SEZ and reverse-charge transactions, and requires reporting within the notified time window, with cancellation possible only within 24 hours of generation.

Mayank WadheraMayank Wadhera
Published: 22 Jun 2023
Updated: 23 May 2026
13 min read
Generating IRN for GST : Overview
1
2
3
4
5
6
7
8
9
10
11
12
13
14

An overview of generating IRN under GST e-invoicing in 2026 — scope, timing, exclusions and controls every Indian business should build into the process.

No Coupler.io data-pipeline skill applies to a content-writing task. Proceeding directly with the regenerated blog post.


Generating IRN for GST : Overview

India's e-invoicing regime makes the Invoice Reference Number (IRN) the legal backbone of every B2B tax invoice. As of FY 2026-27, any registered supplier with an aggregate annual turnover exceeding the CBIC-notified threshold — currently Rs. 5 crore, measured from FY 2017-18 onwards — must generate an IRN before the invoice reaches the buyer. A document without a valid IRN is not a tax invoice in the eyes of the law. The buyer cannot claim Input Tax Credit (ITC) on it, and the supplier exposes the transaction to scrutiny. This guide walks you through every layer of the process: scope, exclusions, the generation flow, timing rules, cancellation discipline, ASP-GSP integration, e-way bill linkage and the internal controls your team should run every month.


Who Must Generate an IRN

The obligation sits with the supplier, applied at PAN level across all GSTINs. If any GSTIN under a PAN crossed the threshold in any financial year from FY 2017-18 onwards, every GSTIN under that PAN is covered going forward — even if a particular GSTIN's own turnover is below the limit.

The current applicable turnover threshold is Rs. 5 crore, effective from 1 August 2023 via CBIC notification. Always verify the latest CBIC notification before onboarding, because the threshold has been reduced five times since October 2020 and a further reduction remains possible.

Practical implication for groups and subsidiaries: A large group may have a wholly-owned subsidiary with a turnover of Rs. 3 crore, but if the holding company's GSTIN is also registered under the same PAN and has crossed Rs. 5 crore, the subsidiary GSTIN is also covered. Map every GSTIN to its PAN and run a one-time confirmation exercise in your master data.


Where IRN Is Mandatory

The IRP mandate applies to the following document types issued by covered suppliers:

  • B2B tax invoices — supplies to registered persons (other than the exclusions below)
  • Exports — goods or services, with or without payment of IGST
  • Supplies to SEZ units and SEZ developers — both taxable and zero-rated
  • Deemed exports — as notified under the CGST Act
  • Credit notes and debit notes linked to any of the above
  • Reverse charge supply invoices where the supplier is issuing the document

A common misconception is that the credit note is exempt from e-invoicing. It is not. Every credit note issued against an IRN-covered invoice must itself carry an IRN, and the original IRN must be referenced in the PrecDocDtls field of the JSON.


Where IRN Is Not Required

The following categories are explicitly outside the IRN mandate under notifications current as of May 2026:

  • B2C invoices — supplies to unregistered persons (though the QR code requirement for B2C invoices above Rs. 2 lakh turnover businesses applies separately)
  • Input Service Distributors (ISD) while acting in ISD capacity
  • Banking companies, Non-Banking Financial Companies (NBFCs) and financial institutions for their own supplies
  • Goods Transport Agencies (GTAs) exercising specific options under the GTA notification
  • Passenger transportation services as notified
  • Non-Resident OIDAR (Online Information and Database Access or Retrieval) service providers
  • Free Trade Warehousing Zones (FTWZs) and certain special economic zone scenarios as notified

Important: this exclusion list is periodically updated. Build a quarterly CBIC notification review into your tax calendar to catch any narrowing of exclusions before you inadvertently skip an IRN on a document that has been brought into scope.


The IRN Generation Process — Step by Step

The IRN is a 64-character SHA-256 hash computed by the Invoice Registration Portal (IRP) from four fields: Supplier GSTIN + Document type code + Document number + Document date. Because these four inputs are deterministic, the same document attempted twice will always produce the same IRN — which is how the IRP detects and rejects duplicates.

Here is the end-to-end flow your team should understand:

  1. Prepare the invoice JSON in the schema published by GSTN for the applicable period. The schema is versioned; confirm your ERP or ASP is on the correct version before a schema upgrade goes live.
  1. Run a pre-validation layer inside your ERP. Before the JSON leaves your system, validate:
  2. Supplier and recipient GSTIN status (Active) against the GSTN API
  3. GSTIN-to-legal name match
  4. HSN/SAC code validity and digit length (6-digit or 8-digit depending on category)
  5. Invoice total arithmetic — a mismatch causes IRP rejection Code 2150
  6. Document date not older than the permitted reporting window (discussed below)
  1. Submit to the IRP — either directly via the NIC IRP (einvoice1.gst.gov.in or the other IRP endpoints) or through your ASP (Application Service Provider) which routes via a GSP (GST Suvidha Provider) to the IRP. The ASP-GSP route is preferred for ERP-integrated businesses because ASPs add retry logic, error translation and bulk-processing capability.
  1. IRP validates the JSON for structure, GSTIN validity, HSN validity, document total consistency and duplicate IRN check. If validation passes, the IRP digitally signs the JSON and returns:
  2. The 64-character IRN
  3. A signed QR code payload (containing key invoice fields and the IRN)
  4. An Acknowledgement Number and Acknowledgement Date
  1. Embed the IRN and QR code on the invoice before it is dispatched to the buyer. The QR must be machine-readable using a standard QR scanner. Printing the IRN as plain text without the QR is non-compliant.
  1. Store the signed JSON in your document management system. CGST Section 35 requires records to be maintained for a minimum of 72 months (6 years) from the due date of the annual return for the relevant year. Losing the signed JSON means you cannot prove the IRN was validly generated.
  1. Auto-population to GSTR-1: The IRP pushes IRN data to GSTN, which auto-populates your GSTR-1 (Table 4A/4B/6A/7A etc., depending on supply type). This auto-population is directional and read-only for the supplier from the IRP side — you can still amend GSTR-1, but amendments must be reconciled back to the original IRN record.

Timing Rules — The 30-Day Window and Its Consequences

CBIC introduced a mandatory reporting window via notification: taxpayers with Aggregate Annual Turnover (AATO) of Rs. 100 crore and above must report invoices to the IRP within 30 days of the invoice date. The IRP system will reject any invoice dated more than 30 days before the upload date.

For taxpayers below Rs. 100 crore AATO, the same 30-day rule has been signalled and may be applied as notified. Build the 30-day discipline into every turnover bracket regardless of current applicability — retrofitting date controls later is expensive.

Why this matters in practice: A supplier who generates a physical invoice on 1 May 2026 but uploads it to the IRP on 5 June 2026 will receive a rejection for a Rs. 100-crore-plus entity. The buyer who has already recorded the transaction against that (invalid) invoice will have no ITC until a fresh, IRN-backed invoice is issued — triggering working-capital complications for both parties.


Worked Example: Cost of a Missing IRN

Scenario: A manufacturer (AATO Rs. 120 crore) supplies industrial components worth Rs. 18,00,000 to a registered dealer. GST at 18% = Rs. 3,24,000. Total invoice value = Rs. 21,24,000. Due to an ERP configuration error, the invoice is issued without an IRN.

Consequence for the buyer: The buyer cannot claim ITC of Rs. 3,24,000 in GSTR-3B for that month. If the error is caught after the GSTR-3B filing due date, the buyer has effectively funded Rs. 3,24,000 in cash tax, which they cannot recover until the supplier issues a fresh, IRN-backed invoice and the auto-populated 2B is updated.

Consequence for the supplier: The invoice is not a valid tax invoice under Section 31 of the CGST Act. The supplier may face disallowance of the supply as a taxable transaction and could receive a GST notice requiring proof of supply. In a worst case, the officer may treat the output tax as not having been properly discharged.

Interest cost at 18% p.a. on Rs. 3,24,000 for a 60-day delay = Rs. 3,24,000 Ɨ 18% Ɨ 60/365 = approximately Rs. 9,600 — a direct cash loss for the buyer that lands on your relationship.

This is not an unlikely scenario. It happens every month in businesses where the ERP e-invoice module has gaps in the GSTIN validation or where the billing team prints invoices before the IRN is returned.


IRN Cancellation — The 24-Hour Rule and What Comes After

An IRN can be cancelled only within 24 hours of generation and only as a whole document. There is no partial cancellation — you cannot cancel a single line item.

After 24 hours, the IRN is permanent. If the invoice has an error — wrong GSTIN, wrong amount, wrong HSN — the correction path is:

  • Issue a credit note (linked to the original IRN in PrecDocDtls) to reverse the original
  • Issue a fresh invoice with a new IRN reflecting the correct values

Both the credit note and the correcting invoice are themselves e-invoiceable documents and must each carry their own IRN.

The duplicate invoice trap: Some billing teams, under pressure to correct a transaction quickly, cancel the original IRN within 24 hours and immediately generate a replacement. This is valid. But if 24 hours has passed and they instead issue a fresh invoice without cancelling, the buyer now sees two open invoices in GSTR-2B. Reconciliation backlogs can persist for quarters and attract notices. Enforce a written SOP: no fresh invoice for a transaction that already has an outstanding IRN.


ASP and GSP Integration — Choosing and Monitoring Your Channel

Most mid-to-large businesses use an ASP (Application Service Provider) — a licensed software vendor integrated with the GSTN ecosystem — which routes API calls through a GSP (GST Suvidha Provider) to the IRP. This layered architecture gives you:

  • Bulk processing: Submit hundreds of invoices in a single API call
  • Error translation: ASPs convert IRP error codes (e.g., 2150, 2180, 2176) into human-readable descriptions
  • Retry logic: Automatic retry on network timeouts without duplicate IRN risk (because the IRP is idempotent for the same document)
  • Dashboard visibility: IRN success rates, failure reason codes, lag reports

Controls to run on your ASP-GSP dashboard monthly:

  1. Success rate by document type — any drop below 95% warrants investigation
  2. Error code frequency — recurring Code 2004 (invalid GSTIN) means your master data cleanse is incomplete
  3. IRN lag report — flag all IRNs generated more than 5 days after invoice date
  4. Cancelled IRN log — cross-check every cancellation against a corresponding credit note or confirmed no-supply scenario

If your ASP changes its API endpoint or schema version, your ERP team must update the integration before the changeover date. The IRP will reject JSON built against a superseded schema.


E-Way Bill and IRN — Keeping the Two Records Consistent

Many e-invoice transactions — particularly goods supplies where the consignment value exceeds Rs. 50,000 — also require an e-way bill (EWB). The IRP allows the e-way bill to be generated simultaneously with the IRN in a single API call by including the EwbDtls block in the JSON. This integrated flow:

  • Avoids re-keying transporter details
  • Links the EWB number to the IRN, so both share the same document reference
  • Reduces mismatches between the e-way bill and invoice data — a common audit trigger

If the vehicle number is not available at the time of IRN generation, you can generate the IRN first and update Part B of the e-way bill separately within the permitted time. But the Part A (document details) of the EWB must be consistent with the IRN.

Monthly reconciliation step: Pull the IRN register and the EWB register from your ASP and match them. Any IRN without a corresponding EWB for a goods supply (above threshold) is a compliance gap. Any EWB without an IRN for a covered supplier is equally problematic.


Special Transactions — IRN Field Requirements by Category

Transaction TypeKey IRN Field RequirementWatch Point
Export with IGST paymentExpDtls.ExpTyp = WPAY, port code, shipping bill details when availableRefund claim links to IRN
Export without IGST paymentExpDtls.ExpTyp = WOPAY, LUT/Bond referenceMissing LUT reference delays refund
SEZ supply (zero-rated)Recipient type = SEZ; SupTyp = SEZWP or SEZWOPVerify SEZ developer/unit status on GSTN
Deemed exportSupTyp = DEXPDownstream refund claim by recipient needs IRN
Reverse charge (Supplier-side document)RevChrg = YBuyer must account for tax; IRN still mandatory
Credit noteDocTyp = CRN; PrecDocDtls must carry original IRNMissing PrecDocDtls causes reconciliation failures in 2B
Debit noteDocTyp = DBN; same linkage required—

Test each category explicitly in your User Acceptance Testing (UAT) environment before go-live and after every schema upgrade. A configuration that works for standard B2B invoices may silently fail for export invoices if the port code field is absent.


Common Mistakes and How to Fix Them

1. GSTIN mismatch in master data. The IRP validates the recipient's GSTIN against the GSTN database in real time. If a buyer has recently changed their trade name or address, your master data may still carry the old legal name, causing a mismatch warning. Fix: run a weekly GSTN API refresh of all active customer and vendor GSTINs.

2. Invoice date beyond the reporting window. For Rs. 100 crore-plus suppliers, submitting an invoice dated more than 30 days ago will result in a hard rejection. Fix: set a system alert in your ERP that flags any invoice not sent to the IRP within 20 days (giving you a 10-day buffer).

3. Wrong HSN digit count. Businesses with turnover above Rs. 5 crore must use 6-digit HSN codes; above Rs. 1.5 crore must use 4-digit; below must use 2-digit (but 6-digit is always acceptable). The IRP enforces the minimum digit rule. Fix: validate HSN digit count in the pre-validation layer before submission.

4. Generating a fresh invoice after a 24-hour lapse without cancellation. As explained above, this creates duplicate entries in GSTR-2B. Fix: enforce a system lock that prevents a new invoice from being generated for the same PO or delivery until the original IRN status is resolved (cancelled or confirmed correct).

5. Not storing the signed JSON. Many businesses store only the IRN number and move on. The signed JSON is the cryptographic proof that the IRP validated the document. Without it, you cannot contest a rejection of ITC by a revenue officer who disputes the IRN's validity. Fix: configure your ASP to return the full signed JSON and archive it in a document management system indexed by IRN.

6. Ignoring IRP rejection codes. A failed IRN attempt often goes unnoticed if the ERP does not surface the failure to the billing team. The invoice is printed and dispatched — without an IRN. Fix: configure ERP workflow so no invoice PDF is released to the printer or email until the IRN field is populated.


Internal Controls Framework — What to Run Every Month

Build these four recurring checks into your monthly compliance calendar:

  1. GSTR-1 vs. IRP register reconciliation. Every IRN should appear in GSTR-1 auto-population. Any IRN in your register that is absent from GSTR-1 indicates a data-push failure at GSTN. Raise with your ASP.
  1. GSTR-2B vs. vendor IRN confirmation. Before releasing ITC on any purchase, confirm the vendor's invoice carries a valid IRN by running the IRN verification API on a sample basis.
  1. Cancelled IRN reconciliation. Every cancelled IRN must map to either a confirmed no-supply event or a credit note with its own IRN. Unexplained cancellations are a red flag in departmental audits.
  1. Record retention audit. Annually, confirm that the signed JSON archive is complete for all IRNs generated in years that fall within the 72-month retention window. A missing JSON file for a FY 2021-22 IRN becomes a problem if an assessment notice arrives in 2026.

Key Takeaways

  • Threshold as of May 2026 is Rs. 5 crore AATO — confirmed against the latest CBIC notification before onboarding every new GSTIN.
  • The obligation is PAN-wide, not GSTIN-specific; one GSTIN crossing the threshold pulls all GSTINs under the PAN into scope.
  • Credit notes and debit notes are e-invoiceable documents — they must carry their own IRN and reference the original IRN in PrecDocDtls.
  • The 24-hour cancellation window is absolute — after that, corrections flow through credit or debit notes, not fresh invoices.
  • 30-day reporting window applies to Rs. 100 crore-plus AATO taxpayers — late submissions are hard-rejected by the IRP.
  • A missing IRN is not a clerical error — it disqualifies the document as a tax invoice, blocking the buyer's ITC and exposing the supplier to a Section 122 penalty.
  • The ASP-GSP dashboard, signed JSON archive and monthly four-way reconciliation (ERP Ɨ IRP Ɨ GSTR-1 Ɨ GSTR-2B) are the minimum controls for a defensible e-invoicing process in FY 2026-27.

Frequently Asked Questions

Who is required to generate an IRN?
Suppliers whose aggregate turnover exceeds the threshold notified by CBIC in any preceding financial year from FY 2017-18 onwards. The obligation applies at PAN level across all GSTINs and covers B2B supplies, exports, SEZ transactions, related credit and debit notes, and specified reverse-charge supplies.
When must the IRN be generated?
Within the time window notified by CBIC for the supplier's turnover bracket. Late generation can disqualify the document as a tax invoice and affect the buyer's input tax credit. Once generated, an IRN can be cancelled only within 24 hours; thereafter, corrections go through credit or debit notes.
Which transactions are outside the IRN scope?
B2C supplies, supplies by non-resident OIDAR providers, certain GTA transport supplies, specified banking and financial services and passenger transportation are typically outside the IRN scope. Always verify against the latest CBIC notification, since the scope is periodically updated as the regime expands.
What evidence should I retain after IRN generation?
Retain the signed JSON returned by the IRP, the IRN hash, the QR payload and the audit log of submission and any cancellation. Keep these for the period required under Section 35 of the CGST Act — at least 72 months from the due date of the relevant annual return.
Mayank Wadhera
Content Reviewed By

CA | CS | CMA | Lawyer | Insolvency Professional | IBBI Valuator

"I help founders increase real business value and achieve stronger valuations | Turning messy workflows into scalable, time-saving systems"

Share this article:

Related Posts

View All