e-Invoice IRN Generation: A Complete Guide to India's ₹5 Crore AATO Mandate
6 min read · Updated 23 September 2026
What an IRN actually is
An Invoice Reference Number (IRN) is a unique hash generated by the Invoice Registration Portal (IRP) — NIC's infrastructure — from a fixed set of fields on a B2B invoice: seller GSTIN, document type, document number, and financial year. Once the IRP registers an invoice, it returns the IRN, a digitally signed QR code, and an acknowledgement number. From that point, the signed IRP response — not the invoice PDF your billing system produced — is the legally valid version of the invoice for GST purposes.
An invoice that should have been reported to the IRP but wasn't is not a minor paperwork gap. Under the e-invoicing rules, it's treated as if the invoice wasn't issued at all, which puts the buyer's input tax credit on that invoice at risk.
Who the mandate covers
E-invoicing is mandatory for B2B invoices once a business crosses the notified Aggregate Annual Turnover (AATO) threshold in any preceding financial year — currently ₹5 crore. Once a business crosses the threshold, it stays covered by the mandate even in a year its turnover drops back below it. B2C invoices are handled differently: instead of an IRN, they carry a dynamic QR code for UPI and bank-detail payment, generated separately from the IRP flow.
The 30-day reporting window
A separate rule applies above ₹10 crore AATO: invoices must be reported to the IRP within 30 days of the invoice date. Report late, and the IRP rejects the invoice outright — it can't be registered after the window closes, which means no IRN, and the buyer can't claim ITC on it. This is the rule that actually causes most e-invoicing incidents, because it's a hard cutoff with no manual override, not a soft compliance nudge.
The window is why e-invoicing needs to be a tracked queue, not a manual, invoice-by-invoice task — someone has to know which invoices are approaching day 30 before they get there.
Cancellation, amendment, and credit notes
An IRN can be cancelled within 24 hours of generation, with a reason code, and the IRP reflects the cancelled state back through its status APIs. Past 24 hours, cancellation is no longer available — the correction has to go through a credit note or debit note issued against the original IRN instead, which itself gets its own IRN and stays traceable back to the invoice it corrects.
This distinction matters operationally: a 24-hour cancellation is a same-day fix; anything found later is a new, linked document, not an edit to the old one.
Doing this in WhiteBooks
WhiteBooks e-Invoice Software generates IRNs via direct IRP integration, applies the 30-day window automatically based on your AATO and escalates invoices approaching the deadline, and handles cancellation, amendment, and credit/debit note flows as part of the same workflow — not a separate process. Bulk generation supports 10,000+ IRNs per batch for businesses issuing invoices at volume. For teams that want IRN generation running inside their own billing system or ERP instead of a separate screen, the same capability is exposed through the WhiteBooks e-Invoice API.
Frequently asked questions.
See this workflow run on your own GSTINs.
Twenty minutes, your own data, no credit card required for the trial.