If your business crossed ₹5 crore in aggregate annual turnover in any financial year from 2017-18 onwards, you are legally required to generate a GST e-invoice for every B2B sale, export, and credit/debit note. As of 2026, over 15 lakh taxpayers fall under the e-invoicing mandate — yet GSTN data consistently shows that many IRN-registered businesses routinely upload incorrect JSON schemas, generate IRNs for exempt transactions, or fail to cancel within the 24-hour window when errors are caught late.
This guide walks you through the complete e-invoice and IRN workflow — from who must comply and what triggers the mandate to exactly how to generate, verify, and cancel an Invoice Reference Number — so your business stays compliant and your GSTR-1 auto-populates cleanly.
Who Must Generate e-Invoices
The e-invoicing mandate has been progressively expanded since October 2020:
| Applicability Date | Aggregate Turnover Threshold |
|---|---|
| 1 October 2020 | Above ₹500 crore |
| 1 January 2021 | Above ₹100 crore |
| 1 April 2021 | Above ₹50 crore |
| 1 April 2022 | Above ₹20 crore |
| 1 October 2022 | Above ₹10 crore |
| 1 August 2023 | Above ₹5 crore |
If your business crossed ₹5 crore in turnover in any financial year since 2017-18, the mandate applies from 1 August 2023 onwards — even if your current-year turnover is lower.
Exempted Categories
The following taxpayers are exempt from e-invoicing regardless of turnover:
- Insurance companies, banks, and Non-Banking Financial Companies (NBFCs)
- Goods Transport Agencies (GTAs) supplying GTA services
- Passenger transport service providers
- Suppliers of services through multiplex cinema admissions
- Special Economic Zone (SEZ) units — note that SEZ developers are covered
- Government departments and local authorities
- Input Service Distributors (ISDs)
For B2C transactions (selling directly to end consumers), e-invoices are not mandatory. However, businesses with turnover above ₹500 crore must display a dynamic QR code on B2C invoices as a separate requirement under Notification 14/2020-CT.
What Is an IRN and Why It Matters
The Invoice Reference Number (IRN) is a 64-character alphanumeric hash generated by the Invoice Registration Portal (IRP) operated by GSTN. It is computed as a SHA-256 hash of four parameters: your GSTIN, the document type (INV/CRN/DBN), the financial year, and the invoice number.
Every B2B invoice, credit note, or debit note your business issues must carry a valid IRN before being shared with the buyer. Without a valid IRN:
- Your buyer cannot claim ITC on that purchase — making your invoice commercially worthless to any GST-registered customer
- The invoice will not auto-populate in your GSTR-1 and must be entered manually, creating a reconciliation risk
- You expose yourself to a penalty under Section 122(1) of the CGST Act — ₹10,000 per invoice or the tax amount on the transaction, whichever is higher
Think of the IRN as a government-stamped registration number for each invoice. Once generated, the invoice is permanently logged in GSTN's central system and the buyer can verify it instantly by scanning the QR code.
The IRN Generation Workflow: Step by Step
Step 1: Prepare the Invoice JSON
The IRP accepts e-invoice data in a structured JSON format defined by GSTN's e-invoice schema (version 1.1, currently effective). The JSON has five main sections:
- 1Transaction Details — supply type code (B2B, SEZWP, SEZWOP, EXPWP, EXPWOP, DEXP), document type (INV, CRN, DBN), and your internal document number
- 2Seller Details — your GSTIN, legal name, trade name, full address, state code, PIN code
- 3Buyer Details — buyer's GSTIN (mandatory for all B2B supplies), legal name, billing address, state code
- 4Item List — for each line: HSN/SAC code, item description, quantity, unit of measurement, unit price, discount, taxable value, GST rate, and CGST/SGST/IGST split amounts
- 5Value Details — total invoice value, total taxable value, total tax amount, round-off amount
Your accounting software or ERP should generate this JSON automatically. If you are working manually, GSTN's e-invoice portal (einvoice1.gst.gov.in) provides a web-based form and an Excel template for bulk uploads.
A critical check before submission: verify the buyer's GSTIN on the GST portal before generating the IRN. An inactive, cancelled, or non-existent GSTIN will cause the IRP to reject the request with an error code — and the IRN cannot be generated until the GSTIN issue is resolved with the buyer.
Step 2: Submit to the Invoice Registration Portal
There are three routes to submit your JSON to the IRP:
Route 1: Direct API Integration
Your accounting software connects directly to the IRP via GSTN's e-invoice API. When you confirm or save an invoice in the software, the JSON is pushed automatically and the IRN is returned within seconds. This is the most efficient method for businesses issuing more than 50 invoices per day and is what cloud accounting platforms like corpus support natively.
Route 2: GST Suvidha Provider (GSP) or e-Invoice Service Provider (EISP)
Third-party GSPs act as API intermediaries between your system and the IRP. Useful if your legacy ERP cannot connect directly to the IRP. GSTN maintains a list of approved GSPs and EISPs — always verify any provider is on that list before signing up.
Route 3: Portal Upload (Manual or Bulk)
Log in directly to einvoice1.gst.gov.in and upload invoices one at a time or via the bulk JSON/Excel upload tool. Practical for very low-volume businesses but becomes unsustainable above 20–30 invoices per day.
GSTN operates five IRP portals (NIC-1, NIC-2, Cleartax, IRIS, and Cygnet). All portals generate the same IRN — there is no functional difference between them.
Step 3: Receive the Signed Response
Within seconds of a valid submission, the IRP returns a digitally signed JSON containing:
- IRN — the 64-character hash that uniquely identifies this invoice
- Acknowledgement Number — a 15-digit reference number for your records
- Acknowledgement Date and Time — this is the timestamp from which the 24-hour cancellation window begins
- Signed JSON — the complete invoice data signed with GSTN's NIC digital certificate, confirming authenticity
- QR Code String — a base64-encoded string that your software renders into a scannable QR image
The QR code encodes: the IRN, seller GSTIN, buyer GSTIN, invoice date, invoice number, invoice value, and total line item count. Your software must extract this and embed it on the invoice before printing or emailing to the buyer.
Step 4: Share the e-Invoice with the Buyer
The invoice you share — printed copy or PDF — must display the IRN, the QR code, and the acknowledgement number with date. No specific invoice template is prescribed; your standard format works with a small acknowledgement block added at the top or bottom showing these elements.
For high-volume businesses, most integrated ERP and accounting platforms generate a combined invoice-cum-acknowledgement PDF automatically once the IRN is returned — your team never manually pastes the IRN or QR code.
Cancellation Rules: What You Need to Know
If you discover an error after generating the IRN — wrong buyer GSTIN, incorrect invoice amount, wrong supply type — your options depend on timing.
Within 24 hours of IRN generation: Cancel the IRN on the IRP portal or via API. You must provide a reason code: 1 (Duplicate), 2 (Data entry mistake), 3 (Order cancelled), or 4 (Other). After cancellation, issue a fresh invoice with a new document number and generate a new IRN. If an e-way bill was already generated against the cancelled IRN, cancel the e-way bill first — the IRP will not accept the IRN cancellation while a live e-way bill references it.
After 24 hours: The IRP will not accept a cancellation request. Your only remedy is to issue a Credit Note (document type CDN) against the original invoice. The CDN itself gets a new IRN through the same workflow. Both the original invoice and the CDN appear in your GSTR-1 — the CDN offsets the original in the buyer's GSTR-2B.
A practical example: you issue Invoice INV-2026/001 to XYZ Pvt Ltd for ₹12,40,000 (taxable ₹10,50,000 + GST at 18% = ₹1,89,000 + rounding). You realise 30 hours later that the correct taxable value was ₹10,00,000. Since 24 hours have elapsed, you issue Credit Note CDN-2026/001 for the difference of ₹50,000 taxable + ₹9,000 GST = ₹59,000 total. Both documents auto-populate in GSTR-1 and the buyer's GSTR-2B shows the net ITC correctly.
How e-Invoices Auto-Populate GSTR-1
Every IRN-validated invoice auto-populates in GSTR-1 within 24–48 hours of IRN generation, in the relevant table:
- Table 4A — B2B taxable outward supplies to registered persons
- Table 6A — Exports with or without payment of tax
- Table 9B — Credit notes and debit notes issued to registered persons
You cannot manually edit auto-populated e-invoice data in GSTR-1. If the data is wrong and the 24-hour cancellation window has passed, only a CDN or debit note can correct the record. This is important to communicate to your accounts team: the IRP-signed invoice data is final for GSTR-1 purposes.
The practical benefit is significant. A business issuing 300 B2B invoices per month has its entire GSTR-1 Table 4 pre-filled automatically. Your CA reviews the auto-populated data, adds B2C, nil-rated, and exempt supply figures, and files — cutting return preparation time by 60–70% compared to manual entry and virtually eliminating transcription errors.
Common Mistakes and How to Avoid Them
Generating an IRN for a B2C transaction — B2C invoices do not require IRNs. Accidentally generating one registers a spurious record in GSTN's database and cannot easily be reversed. Configure your accounting software to block IRN generation for consumer-category customers.
Using the wrong financial year in the document series — The IRP uses the financial year embedded in your document number to compute the IRN hash. When your invoice series resets on 1 April each year (e.g., from INV/2025-26/300 to INV/2026-27/001), the financial year parameter in your JSON must also update. A mismatch triggers an error code and the IRN is not issued.
Treating the QR code as optional — The QR code on every e-invoice is a mandatory compliance element under Rule 48(4) of the CGST Rules. Businesses that generate IRNs but email buyers PDFs without the QR code embedded are technically non-compliant and can face scrutiny during a GST audit.
Not training accounts staff on the 24-hour cancellation rule — Most cancellation failures occur because the error is discovered on Day 2 when the buyer calls. A simple internal control — accounts team reviews every new invoice the same business day before the day ends — prevents 90% of post-24-hour correction headaches.
Relying on an unapproved EISP — Only use GSTN-approved EISPs. Unapproved third-party tools may generate IRN-like strings that are not registered in GSTN's system, causing ITC disputes for your buyers and creating a compliance liability for your business.
Not cancelling the e-way bill before the IRN — Attempting to cancel an IRN when a live e-way bill references it returns an error. Always cancel the e-way bill first, then cancel the IRN on the IRP portal.
Key Takeaways
- E-invoicing is mandatory for any business with aggregate annual turnover above ₹5 crore in any financial year from 2017-18 — the current year's revenue is irrelevant if you crossed the threshold in a prior year.
- Every B2B invoice, credit note, and debit note must carry a valid IRN before reaching the buyer. No IRN means no ITC for your customer — a commercial and compliance failure.
- The IRN flow: prepare compliant JSON → submit to IRP → receive signed response with IRN + QR code → embed QR on invoice → share with buyer.
- Cancellations are only possible within 24 hours of IRN generation. After that, issue a Credit Note with its own IRN.
- IRN-validated invoices auto-populate GSTR-1 automatically — cutting return preparation time and building an audit-ready paper trail.
- The penalty for failing to generate a required e-invoice: ₹10,000 per invoice or the tax amount, whichever is higher, under Section 122(1) CGST Act.
How corpus Helps
corpus has native e-invoice integration built directly into its invoicing module. When you create a B2B invoice in corpus, the system automatically validates the buyer's GSTIN, builds the compliant JSON payload per the current GSTN schema, and pushes it to the IRP via the registered API — all in the background while you confirm the invoice. The signed IRN, QR code, and acknowledgement details are returned and embedded in your invoice PDF in a single step with no manual intervention.
For cancellations, corpus displays a live 24-hour countdown timer alongside every e-invoice, so your team can act before the window closes. Cancelled IRNs are flagged in the ledger and a credit note workflow is triggered automatically. Because corpus reconciles all IRP-validated invoices with your GSTR-1 data continuously, any mismatch is surfaced before your CA files the return — not after the tax department sends a notice.
Start your corpus trial today and make e-invoice compliance the easiest part of your GST workflow.
Elanora Group covers Indian accounting compliance, GST, TDS, payroll, and financial reporting for Chartered Accountants and growing businesses.
Automate your compliance with corpus
AI-powered cloud accounting built for Indian professionals. GST, TDS, payroll, bank reconciliation — all automated. Join the waitlist.
Join the Waitlist