Tax and invoicing · IN
GST e-invoicing for software businesses: when it applies and what your system must produce
GST e-invoicing applies to a registered business whose aggregate turnover exceeded ₹5 crore in any financial year from 2017-18 onwards, for its B2B invoices and its export invoices; below that line you issue ordinary GST invoices. Above it, an invoice counts only if its details are registered on an Invoice Registration Portal first: your system sends the invoice as JSON and stores the IRN, acknowledgement number, signed invoice and signed QR code that come back. An IRN can be cancelled only within 24 hours, and since 1 April 2025 businesses at ₹10 crore and above cannot report an invoice more than 30 days old.
- Indian software and services companies approaching ₹5 crore turnover
- Founders building billing, ERP or accounting features for Indian businesses
- Engineers integrating with an Invoice Registration Portal or a GST Suvidha Provider
Not legal advice. This page explains official rules in plain words for people building apps. Rules and store policies change: check the linked primary sources, and ask a qualified lawyer before you act on anything with legal consequences.
The short version
| Who must e-invoice | Aggregate turnover above ₹5 crore in any preceding financial year from 2017-18, from 1 August 2023 source 1source 2 |
|---|---|
| Which invoices | Supplies to registered persons (B2B) and exports source |
| Not covered | SEZ units; insurers, banks and financial institutions; goods transport agencies; passenger transport; multiplex cinema tickets; government departments and local authorities source 1source 2source 3 |
| If you skip it | The document 'shall not be treated as an invoice' (rule 48(5)) source |
| IRN | SHA-256 hash of GSTIN, document number, document type and financial year source |
| Cancellation | Within 24 hours, and not while an active e-way bill exists source |
| 30-day reporting limit | Turnover of ₹10 crore and above, from 1 April 2025 source |
Does e-invoicing apply to my software business?
It depends on turnover, not on what you sell. Notification 13/2020-Central Tax, as amended, requires e-invoices from registered persons whose aggregate turnover in any preceding financial year from 2017-18 onwards exceeds the notified limit, for supplies of goods or services or both to a registered person or for exports. Notification 10/2023 set that limit at ₹5 crore from 1 August 2023, and Notification 70/2020 added exports.
On our reading, a software studio that crossed ₹5 crore in any earlier year must e-invoice its B2B and export invoices, including invoices to overseas clients. Invoices to consumers (B2C) are not sent to the IRP; NIC's API documentation says so in its validations.
source 1source 2source 3Who is exempt from e-invoicing?
Notification 61/2020 exempts Special Economic Zone units and the suppliers referred to in rule 54(2) to (4A): insurers, banking companies and financial institutions including NBFCs (54(2)), goods transport agencies carrying goods by road (54(3)), passenger transport services (54(4)) and cinema admission in multiplex screens (54(4A)). Notification 23/2021 added government departments and local authorities.
source 1source 2source 3What happens if a business that must e-invoice doesn't?
Rule 48(4) of the CGST Rules requires the notified class to prepare invoices with the particulars of FORM GST INV-01 'after obtaining an Invoice Reference Number' by uploading them to the common portal. Rule 48(5) is the consequence: an invoice issued in any other way 'shall not be treated as an invoice'.
sourceWhat does the system send to the IRP, and what comes back?
NIC's Generate IRN API takes the invoice as JSON in schema version 1.1, encrypted with the session key, with seven required sections: Version, TranDtls, DocDtls, SellerDtls, BuyerDtls, ItemList and ValDtls. One request may carry 1 to 1,000 items and may not exceed 2 MB, and totals are checked against the computed values.
On success the IRP returns an acknowledgement number and date, the IRN, the signed invoice and the signed QR code (both signed as JSON Web Signatures), the status (ACT or CNL), and an e-way bill number with its date and validity if one was generated in the same call. The IRN is a SHA-256 hash of the supplier's GSTIN, the document number, the document type and the financial year, so the IRP refuses a second IRN for the same document.
sourceHow do cancellations work?
An IRN 'can be cancelled within 24 hours of IRN generation', with a reason code: 1 duplicate, 2 data entry mistake, 3 order cancelled, 4 others. It cannot be cancelled while a valid e-way bill exists for it, so the e-way bill has to be cancelled first. A cancelled e-invoice cannot get a fresh IRN, which means the same document number cannot be registered again.
source 1source 2Is there a deadline for reporting an invoice to the IRP?
For larger businesses, yes. GSTN's advisory of 5 November 2024 says that from 1 April 2025 taxpayers with aggregate annual turnover of ₹10 crore and above 'would not be allowed to report e-Invoices older than 30 days', for invoices, credit notes and debit notes alike. An invoice dated 1 April 2025 could not be reported after 30 April 2025. The advisory says there is no such restriction below ₹10 crore 'as of now'.
sourceWhat should you do first?
Build the invoice JSON
Map each invoice, credit note or debit note to the e-invoice schema (version 1.1) with its seven required sections. Document numbers may not start with 0, / or -. source
Send it to the IRP's Generate IRN API
Authenticate with your client id, client secret, GSTIN, user name and auth token, and post the encrypted payload. If Status is 0, decode ErrorDetails, fix the data and resend. source
Store what comes back
Save the IRN, acknowledgement number and date, the signed invoice and the signed QR code against the invoice record, and keep the status (ACT or CNL) in sync. source
Add the e-way bill where goods move
Include the e-way bill details in the same request to receive the e-way bill number, date and validity with the IRN. source
Cancel only inside 24 hours
Cancel any active e-way bill first, then cancel the IRN with a reason code. After cancellation the same document cannot be registered again. source
Report within 30 days if you are at ₹10 crore or above
The IRP rejects invoices, credit notes and debit notes older than 30 days for these taxpayers, so queue and retry failures well inside that window. source
What couldn't we confirm?
- Whether any notification after 10/2023 has changed the ₹5 crore limit. We found none on the GST Council notification pages we read, but we did not search every notification.
- How aggregate turnover is added up across several GSTINs under one PAN for this test. We did not read a primary source that states it.
- The provision that requires the QR code to appear on the printed or PDF invoice. We have not read it.
- How to correct an e-invoice after the 24-hour window (for example by a credit note). We did not find this in a primary source we read.
- The current list of authorised Invoice Registration Portals, and the rules on dynamic QR codes for B2C invoices of very large taxpayers.
- NIC's sandbox documentation says only document dates from 1 April 2025 onwards are processed; we could not tell whether that is a sandbox limit or a production rule.
How did this apply in our builds?
Customs broker ERP (discovery, nothing built)
Discovery stage only: no code exists. For a customs broker and freight forwarder's ERP replacement we proposed a GST Suvidha Provider adapter that gets the IRN, QR code and e-way bill for invoices, credit notes and debit notes, logs every call, retries failures and shows its status to staff. Each branch holds its own GSTIN and number series, and accounts stay in Tally, which receives exported XML vouchers instead of a rebuilt ledger.
Pakka bills business customers with monthly GST tax invoices: a daily job drafts each company's invoice from deliveries in the Indian calendar month, and issuing it takes the next gapless serial in the financial-year series and freezes the amounts and both parties' GST details. A shipment can be billed only once, and the books export to Tally. The case study does not describe IRP registration.
Questions people ask
Does a software company under ₹5 crore turnover need GST e-invoicing?
No, not if its aggregate turnover has stayed at or below ₹5 crore in every financial year from 2017-18. The requirement starts once any preceding year exceeded ₹5 crore.
Do export invoices to overseas clients need an IRN?
Yes, for a business above the threshold. Notification 70/2020 added exports to the e-invoicing requirement alongside B2B supplies.
How long is there to cancel an e-invoice after the IRN is generated?
24 hours. After that the IRP will not cancel it, and it will not cancel an IRN while an active e-way bill exists for it.
Can an invoice be reported to the IRP months after its date?
Not if aggregate turnover is ₹10 crore or more: since 1 April 2025 the IRP rejects documents older than 30 days for those taxpayers. GSTN's advisory says smaller taxpayers have no such limit for now.
What does the Invoice Registration Portal return for each invoice?
An acknowledgement number and date, the IRN, a signed invoice, a signed QR code, the status, and an e-way bill number if one was generated in the same request.
Is a B2B invoice valid if the supplier should have e-invoiced but didn't?
No. Rule 48(5) of the CGST Rules says such a document 'shall not be treated as an invoice'.
Primary sources
- Notification 10/2023-Central Tax (₹5 crore from 1 August 2023) — GST Council (checked 20 October 2026)
- Notification 10/2023-Central Tax — GST Council index entry (checked 20 October 2026)
- Notification 70/2020-Central Tax (any preceding year; exports) — GST Council (checked 20 October 2026)
- Notification 61/2020-Central Tax (SEZ units; rule 54 classes) — GST Council (checked 20 October 2026)
- Notification 23/2021-Central Tax (government departments, local authorities) — GST Council index (checked 20 October 2026)
- CGST Rules, rule 48 — CBIC (checked 20 October 2026)
- CGST Rules, rule 54 — CBIC (checked 20 October 2026)
- Generate IRN API — NIC e-invoice API documentation (checked 20 October 2026)
- Cancel IRN API — NIC e-invoice API documentation (checked 20 October 2026)
- GSTN advisory: time limit for reporting e-invoices, 5 November 2024 (checked 20 October 2026)
Changes to this page
- 20 October 2026: First published