Skip to main content
Adullam Tools

GST compliance

India e-Invoicing, explained

Only the government portal can issue an IRN. This page explains where the JSON draft from our invoice tool goes, how you get an IRN back, and why the process works this way.

Statutory rates as of 30 Aug 2026
e-Invoice JSON draft (INV-01)

Download the invoice you are drafting as a JSON file ready for upload to an IRP. Before you download, we check the things the IRP rejects most often.

GST invoice checker

Getting an IRN — three steps

Adullam Tools only covers step one. Steps two and three happen on the government portal, under your own GSTIN.

  1. Build the JSON draft in Adullam Tools

    Enter the invoice once. Rule 46 particulars and the CGST/SGST vs IGST split are already resolved when you download the INV-01 JSON.

    Everything up to here happens in your browser.

  2. Upload it to an IRP

    Sign in to the NIC e-invoice portal with your GSTIN and use Bulk IRN Generation to upload the JSON, or key the invoice into the GePP tool if you only have a couple.

    Check first that the GSTIN is enabled for e-invoicing on the portal.

  3. Put the IRN and signed QR on the document

    The IRP returns an IRN (a 64-character hash), an acknowledgement number and date, and a digitally signed QR code. Only a document carrying those is a valid tax invoice.

    Generating the IRN also populates GSTR-1 and Part-A of the e-way bill.

India e-invoicing from first principles

1. E-invoicing is not 'electronic invoicing'

The name misleads almost everyone the first time. Indian e-invoicing is not about producing invoices electronically instead of on paper. It is a registration step: the invoice is submitted to a government portal in advance and comes back with a unique identifier.

The mechanics: you create the invoice in your own ERP or accounting system, convert it to the government's standard format (FORM GST INV-01, expressed as JSON), and upload it to an Invoice Registration Portal. The IRP validates it and returns an IRN — a 64-character hash — along with an acknowledgement number, an acknowledgement date and a digitally signed QR code.

In most countries an electronic tax invoice is simply transmitted to the tax authority and the document itself stays as the issuer made it. India is different. Without the IRN and QR that the IRP returned, the document 'shall not be treated as an invoice' (CGST Rule 48(5)). It is not a defective invoice — in law it is not an invoice at all.

In practice that means your Indian customer cannot claim input tax credit on it. They have paid you, their credit is blocked, and they will ask for a reissue immediately. If a financial year closes in the meantime, correcting it becomes considerably harder.

There is an upside. Once an IRN exists, the data flows automatically into the relevant tables of GSTR-1 and into Part-A of the e-way bill. Three separate keyings collapse into one.

2. Are we covered? The ₹5 crore test

The rule is CGST Rule 48(4), and the current threshold comes from Notification 10/2023-Central Tax: aggregate annual turnover above ₹5 crore. It took effect on 2023-08-01 and is unchanged as of August 2026.

The part people get wrong is which year you measure. It is not the previous year alone. If turnover exceeded ₹5 crore in any financial year from 2017-18 onwards, you are covered from the following financial year, and you stay covered even if turnover later falls. Once in, always in.

Aggregate annual turnover is computed on a PAN basis across the whole of India. Several GSTINs across several states still count as one figure. It adds taxable supplies, exempt supplies, exports and inter-state supplies to your own units, and excludes GST itself. It is not the parent company's revenue and not a converted figure in another currency.

The covered documents are B2B supplies (to a registered recipient), supplies to SEZ units, exports, deemed exports, and credit and debit notes against them. B2C invoices are outside e-invoicing. Exports to your own parent company abroad are inside it — that one is missed often.

Some suppliers are exempt by notification: SEZ units (developers are not), insurers, banks and financial institutions including NBFCs, goods transport agencies, passenger transport, admission to cinemas, and government departments and local authorities. Mixed businesses need a professional view.

You will see reports that the threshold is dropping to ₹1 crore. As of August 2026 no such notification has been issued. Until it appears in the gazette, the threshold is ₹5 crore.

3. Why Adullam Tools will not generate an IRN for you

There are two reasons: we cannot, and we must not.

Only an IRP issues an IRN. There are six of them — two operated by NIC and four by private operators — and none of them delegates issuance to arbitrary third-party software.

Direct API access is restricted. It is opened to taxpayers above the threshold acting for their own GSTIN, and to businesses already registered on the e-way bill system. Any other software must go through a GST Suvidha Provider, which involves a commercial contract, security undertakings and infrastructure commitments. Adullam Tools is a free tool with no GSP contract.

The second reason matters more. If we drew something that looked like an IRN, or painted a QR code that resembled the real one, that would be a forged document. The genuine QR carries the IRP's digital signature and can be checked with the official verification app. Producing a lookalike would feel helpful for about a day and then leave the user holding the consequences in an audit. So we do not.

What we can do is well defined: build accurate JSON against the government schema and tell you in advance what the IRP is likely to reject. That is exactly where the time goes in practice.

4. What the process actually looks like

Prepare first. On the e-invoice master portal, check whether your GSTIN is enabled for e-invoicing. If you are over the threshold but not listed, you can request self-enablement on the portal. Until it is enabled, uploads are blocked.

Step one — draft the invoice in the Adullam Tools GST invoice tool. The Rule 46 particulars and the place of supply are resolved before you download the INV-01 JSON. Read the pre-upload checks before you download.

Step two — sign in to the NIC e-invoice portal. For volume, use e-Invoice → Bulk Upload and submit the JSON file directly. For one or two documents, the GePP tool (a free Excel-based utility) is quicker. Both are linked above under government portals and offline tools.

Step three — the IRP returns the IRN, acknowledgement number, acknowledgement date and signed QR. Record them in your accounting system and put the QR and IRN on the document you give the customer. Only then is it a tax invoice.

If it is rejected, the portal returns an error code and message. Look it up in the rejection table above. Most failures are one of three things: tax totals, tax heads, or HSN digits.

5. Two different deadlines — do not merge them

India has two deadlines here with different purposes, and treating them as one causes real damage.

First, the deadline to issue the invoice (CGST Rule 47). Goods: at the time of removal. Services: within 30 days of supply. Banks, financial institutions and NBFCs: 45 days. This governs when the document must exist.

Second, the deadline to report it to the IRP. Suppliers with aggregate turnover of ₹10 crore and above must report within 30 days of the document date. It took effect on 2025-04-01; before that the threshold was ₹100 crore (GSTN advisory dated 2024-11-05). It applies to invoices, credit notes and debit notes alike.

After 30 days the IRP refuses the document. This is a system block, not a matter of discretion. No IRN means no valid tax invoice, and there is effectively no way back. An invoice dated 1 April 2026 must be reported by 30 April 2026.

Below ₹10 crore there is currently no such window. Even so, the IRN has to exist before the GSTR-1 filing for the period, so batching everything into the last days of the month is risky.

6. After the IRN is issued

Cancellation is possible only on the IRP and only within 24 hours. After that the IRP cannot touch it and the adjustment has to run through a credit note or debit note.

There is no concept of amendment on the IRP. If you got it wrong, cancel within 24 hours and re-report under a new number, or adjust with a note. Do not reuse the cancelled document number — that returns a duplicate IRN error.

If the movement needs an e-way bill, Part-A is populated when the IRN is generated. Part-B (vehicle details) is still entered separately.

The document you hand over should carry the IRN, acknowledgement number, acknowledgement date and the signed QR. The QR is scanned for verification, so print it at a quality that survives scanning.

Retention follows the usual GST rules. The IRP keeps uploaded data for only 24 hours, so if you do not store the IRN response in your own system, you cannot retrieve it later.

7. Mistakes foreign finance teams make

Assuming a home-country e-invoicing system covers this. It does not. A document issued under an Indian GSTIN follows Indian rules.

Measuring turnover wrongly. It is the PAN-level all-India figure, not the parent company's revenue and not one state's GSTIN in isolation.

Leaving exports out. Supplies to your own parent company abroad are covered. Only B2C is outside.

Handing over a PDF with no IRN. The Indian customer loses input tax credit, complains, and the reissue disturbs your number sequence as well.

Confusing the two 30-day rules. The Rule 47 issue deadline for services and the IRP reporting window are separate obligations, and both apply.

Carrying over the head-office numbering scheme. India caps the number at 16 characters with a restricted character set: INV-2026-27-00001 is 17 characters and will be rejected.

Every link below is a government (GSTN / NIC) site. Adullam Tools has no affiliation with any of them.

  • e-Invoice master portal (GSTN)

    https://einvoice.gst.gov.in/

    Lists all six IRPs, lets you check whether a GSTIN is enabled for e-invoicing, handles self-enablement, and carries the advisories and validation notes. Start here.

  • NIC IRP-1 (einvoice1)

    https://einvoice1.gst.gov.in/

    The first registration portal, run by NIC. Web login, bulk upload, API registration, cancellation and the user manuals live here.

  • NIC IRP-2 (einvoice2)

    https://einvoice2.gst.gov.in/

    A second NIC portal with the same functions and the same credentials — useful when the first one is down.

  • Bulk Generation Tools (offline utilities)

    https://einvoice1.gst.gov.in/Others/BulkGenerationTools

    Free Excel-based utilities that turn your data into IRP-ready JSON: the GePP tool for one-off entry, bulk IRN JSON preparation, bulk cancellation and the e-way bill generator. The set and its version numbers change without notice, so check the page for the current release before downloading.

  • e-Invoice API developer portal (sandbox)

    https://einv-apisandbox.nic.in/

    If you are evaluating a direct integration, the schema, error codes and sandbox credentials are here. Production API access is granted separately.

Portal addresses and tool versions change without notice. If a link does not open, find it again from the master portal.

Why the IRP rejects invoices

These fail at the IRP's validation stage even when the JSON is structurally valid. Our pre-upload checks catch the ones that can be tested mechanically.

Tax totals do not add up
Line tax differs from taxable value times rate, or the document total differs from the sum of the lines. The IRP recomputes every line and allows roughly ±₹1. Applying a discount or rounding only at the document level, never on the lines, fails here.
Wrong tax heads (CGST/SGST vs IGST)
IGST charged when the supplier state and the place of supply are the same, or CGST/SGST when they differ. Exports and SEZ supplies must pair place-of-supply code 96 with IGST.
HSN/SAC digits or validity
Six digits are required above ₹5 crore aggregate turnover in the preceding year, four digits at or below it. Even with the right number of digits, a code absent from the government HSN master is rejected.
Invoice number format
Longer than 16 characters, characters other than letters, digits, hyphen and slash, or a number starting with zero. It must also be unique within the financial year.
Duplicate IRN
The IRN is a hash of supplier GSTIN, document type, document number and financial year. Re-sending the same combination returns 'IRN already generated'. Never reuse a number.
Reporting window missed
Suppliers with aggregate turnover of ₹10 crore and above cannot report a document more than 30 days after its date — the portal simply refuses it (effective 2025-04-01).
GSTIN status
The recipient's GSTIN is cancelled or suspended, or the supplier's GSTIN has not been enabled for e-invoicing on the portal.
Field length or character set
Legal name 100 characters, each address line 100, item description 300, and so on. Non-Latin characters can also fail on encoding.
Date problems
A future date, a date outside the financial year, or a credit/debit note whose original invoice date is later than the note itself.
Inconsistent flags
Tax amounts filled in on a reverse-charge document, or an export flag (with payment / under LUT) that contradicts the IGST amount. Amounts with more than two decimal places are rejected too.

Frequently asked questions

No. Only a government-designated IRP issues an IRN, and direct API access is limited to taxpayers above the threshold acting for their own GSTIN or to registered e-way bill users. Other software must go through an authorised GST Suvidha Provider, and Adullam Tools has no GSP contract. We stop at a schema-correct JSON draft.

Not for a supplier covered by e-invoicing. CGST Rule 48(5) says an invoice required to be issued under Rule 48(4) but issued in any other manner shall not be treated as an invoice. If you are not covered, our PDF is a normal draft tax invoice carrying the Rule 46 particulars.

No such notification has been issued as of August 2026. The threshold remains the ₹5 crore set by Notification 10/2023-Central Tax, in force since 2023-08-01. A reduction has been discussed, but nothing applies until it is gazetted.

Any financial year from 2017-18 onwards. If turnover crossed ₹5 crore in any of them, you are covered from the following year and remain covered even if turnover later falls. The figure is PAN-level across India and excludes GST.

No. E-invoicing covers B2B supplies, SEZ supplies, exports, deemed exports and the credit and debit notes against them. Separately, larger suppliers must print a dynamic QR code on B2C invoices — a different obligation, easily confused with this one.

Yes. Exports are covered, whether made under LUT or bond without payment of tax or with IGST paid and refunded. The place-of-supply code is 96 (other country).

Thirty days from the document date if aggregate turnover is ₹10 crore or above, effective 2025-04-01. Past that the IRP refuses the document and no IRN can be obtained. Below ₹10 crore there is no such restriction today, but the IRN must exist before the GSTR-1 filing.

Within 24 hours, cancel it on the IRP and report again under a new number. After 24 hours cancellation is impossible and you adjust through a credit note or debit note. The IRP has no amendment function.

Usually one of three things: tax totals that do not reconcile line by line, the wrong tax heads for the place of supply, or HSN digits. If none of those, check the invoice number format and whether the number has already been used. Our pre-upload checks test these first.

Six if aggregate turnover in the preceding financial year exceeded ₹5 crore, four otherwise (Notification 78/2020-Central Tax). Correct digit counts still fail if the code is not in the government HSN master. Adullam Tools never derives a tax rate from an HSN code — you choose the rate.

No. A taxpayer above the threshold can use the NIC portal directly through the web interface or the free offline utilities. A GSP or ASP is for automating an ERP through the API, and that is a paid arrangement. At low volumes the portal is enough.

Review it first. The schema and validation rules change three to five times a year, and our checks only cover what can be tested mechanically. Responsibility for what is filed stays with the issuer. Have a local chartered accountant look over your first few submissions.

No. An e-invoice registers the document; an e-way bill authorises the movement of goods. They are linked: generating the IRN populates Part-A of the e-way bill, so only the vehicle details in Part-B remain.

This page is reference material compiled from published law, notifications and government portal guidance. It is not tax or legal advice. Confirm your e-invoicing obligation and your filings with a chartered accountant in India.