Guide | e-Invoicing

e-Invoice IRN Generation: A Complete Guide to India's ₹5 Crore AATO Mandate

6 min read · Updated 23 September 2026

Most e-invoicing guides describe the IRP as a black box you submit JSON to and get a QR code back. That's enough to pass a demo, not enough to run e-invoicing without a finance team chasing exceptions every month-end. This guide covers what an IRN actually certifies, who the mandate applies to, the reporting-window rule that trips up more businesses than the mandate itself, and what changes once an IRN already exists.

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.

No. The IRN requirement is for B2B invoices. B2C invoices instead carry a dynamic QR code for payment, generated separately from IRP registration.
No — cancellation is only available within 24 hours of generation. After that, corrections go through a credit note or debit note issued against the original IRN.
For businesses above ₹10 crore AATO, the IRP rejects registration outright once the window closes — there's no IRN, and the buyer can't claim ITC on that invoice.
Yes — up to 10,000+ IRNs per batch, with live per-row status and automatic retry on transient IRP failures.

See this workflow run on your own GSTINs.

Twenty minutes, your own data, no credit card required for the trial.