GST e-invoicing, and what it does to your billing software

IRN, QR codes, the IRP and the thirty-day window — what e-invoicing actually requires, who it applies to, and why it is a software problem rather than an accounts problem.

GST e-invoicing, and what it does to your billing software

E-invoicing is one of those compliance changes that sounds like paperwork and turns out to be a software problem. If it applies to you, your billing system cannot simply print an invoice any more. It has to send that invoice to a government portal, get a number and a signed QR code back, and put both on the bill before it leaves your counter.

Here is what that means in practice.

What e-invoicing actually is

It is not "emailing a PDF invoice". Under the GST system, an e-invoice is a B2B invoice that has been reported to an Invoice Registration Portal (IRP) in a prescribed format, and returned to you carrying:

  • an IRN (Invoice Reference Number) — a unique hash identifying that invoice,
  • a signed QR code containing the key invoice details, and
  • a digital signature from the portal.

An invoice in scope that has not been through this process is not a valid tax invoice, and your customer can have trouble claiming input credit against it. That is the part that turns a compliance detail into an angry phone call.

Does it apply to you?

The turnover threshold has been lowered repeatedly since e-invoicing was introduced, and each reduction has pulled a new tier of businesses in. Check the current threshold against your aggregate annual turnover before assuming you are outside it — a good number of businesses we meet crossed it a year ago and have not noticed.

Broadly: it applies to B2B supplies, exports and credit and debit notes. B2C invoices are outside it, though larger businesses have separate QR requirements for those. Some categories are exempt regardless of turnover.

Because thresholds and exemptions move, treat this article as an explanation of the mechanism and your CA as the authority on whether it applies to you this financial year.

The bit that surprises people: the reporting window

You cannot report invoices whenever you like. There is a time limit on how old an invoice can be when you submit it to the IRP, and once it lapses that invoice cannot be registered at all.

The practical consequence is that e-invoicing cannot be a month-end activity. Any process where invoices pile up and someone uploads them later will eventually produce an invoice that can never be made valid. It has to happen at the moment of billing, which is precisely why it is a software problem rather than an accounts one.

What your software has to do

If billing software is going to handle this properly, it needs to:

  1. Build the payload correctly. The prescribed schema is strict about HSN codes, place of supply, tax breakup and party GSTINs. Most rejections are trivial data problems, not conceptual ones.
  2. Talk to the IRP — directly or through a GST Suvidha Provider — and handle the authentication token, which expires and must be refreshed.
  3. Store what comes back. IRN, acknowledgement number and date, and the signed QR payload. These belong in your database, not just on a printout.
  4. Render the QR code on the invoice. Correctly, at a size a phone camera can actually read across a counter.
  5. Handle cancellation. An e-invoice can only be cancelled within a limited window, and after that the correction is a credit note, not a deletion. Your software should refuse to let staff simply delete a registered invoice.
  6. Fail gracefully. The portal has outages. If the IRP is unreachable, the system must queue and retry rather than lose the sale or, worse, silently print an unregistered invoice.

That last point is the one that separates software built for this from software with e-invoicing bolted on. When we built the e-invoicing path into the diamond and jewellery ERP we run, the retry queue and the "this invoice is not yet registered" state took longer to get right than the integration itself — because a jeweller's counter cannot stop while a government portal is having a bad afternoon.

If you are on a standard package

Tally, Zoho, Busy and the rest all support e-invoicing. If your business is standard, use them — this is a solved problem and there is no sense paying to re-solve it.

The businesses that end up needing custom work are the ones whose invoice is not a simple list of items and prices. A jeweller's bill carries making charges, wastage, old-gold exchange and sometimes a scheme adjustment. An agri wholesaler's carries grade, weight, freight apportioned into landed cost, and a customer-tier rate. The e-invoicing payload has to be assembled correctly from all that before it is ever sent, and that assembly is where the trade-specific logic lives.

What to do this week

  1. Confirm with your CA whether e-invoicing applies to you at your current turnover.
  2. If it does, ask your software vendor exactly two questions: what happens when the IRP is down, and what happens when an invoice is cancelled after the window closes.
  3. Check that IRNs are being stored in your database, not merely printed.
  4. Print one invoice and scan the QR with a phone. If it does not read, it does not comply.

Common questions

What is GST e-invoicing?

It is the requirement to report a B2B invoice to a government Invoice Registration Portal at the time of billing, and receive back an IRN, a signed QR code and a digital signature that must appear on the invoice. An invoice in scope without them is not valid.

Who does GST e-invoicing apply to?

It applies to B2B supplies, exports and credit and debit notes above a turnover threshold that has been lowered several times since introduction. Check the current threshold against your aggregate turnover with your CA, because many businesses crossed it without noticing.

What happens if the e-invoice portal is down?

Good billing software queues the invoice and retries rather than losing the sale or printing an unregistered invoice. Because there is a limited window to report an invoice, a system that lets bills pile up for month-end will eventually produce one that can never be registered.

← All articles Start a project
Whirl DesignsTypically replies within a day
Hi! 👋 Tell us a little about you and we'll get right back to you.