Skip to content
All writing

GST e-invoicing for manufacturers: a practical checklist

What actually has to be true before you generate your first IRN, the fields manufacturers get wrong most often, and how the e-way bill fits around it.

Compliance · 30 Jul 2026 · 12 min read

E-invoicing is not difficult. It is fiddly, and the fiddliness is concentrated in about eight fields that manufacturers get wrong more often than anyone else, largely because manufacturing invoices carry quantities, job-work movements and multiple HSN codes that a services invoice does not.

This is the checklist we work through with a unit before their first IRN. It assumes you already have a GST registration and are already invoicing — the question is only how to make the portal accept it, first time, every time.

1. Establish that it applies to you, and from when

E-invoicing applicability is based on aggregate annual turnover in any financial year since 2017–18 — not on your current year alone. This catches people out. A unit that crossed the threshold three years ago and has since shrunk is still covered.

  • Aggregate turnover is PAN-level, not GSTIN-level. Two units under one PAN are added together.
  • It includes exempt supplies, exports and inter-state stock transfers — not just taxable sales.
  • Once you are in, you stay in. There is no exit if turnover later falls.
  • B2B, exports and SEZ supplies need an IRN. B2C invoices do not, though a self-generated dynamic QR may apply separately.
  • Delivery challans, job-work challans and bills of supply are outside e-invoicing — but the job-work challan still needs an e-way bill where the value threshold is crossed.

Confirm your specific date of applicability with your CA and get it in writing. The penalty for an invoice that should have carried an IRN and did not is that it is not treated as a valid invoice at all, which means your buyer cannot claim input credit on it — and that is a conversation you do not want to have.

2. Clean your masters before you touch the portal

Most first-attempt failures are master data problems, not integration problems. Fix these before you generate anything.

HSN codes

Every line item needs a valid HSN, at the digit length your turnover requires — six digits for most manufacturers, eight for exports. “Fabric” is not an HSN. Woven fabric of synthetic filament yarn sits under 5407, and the sub-heading depends on composition and weight, which means someone who knows the product has to do this once, properly.

Buyer GSTINs

Validate every buyer GSTIN against the portal before your first run, not during it. Check that the state code in the first two digits matches the address you have on file — a mismatch here is what produces the CGST/SGST versus IGST error later. Cancelled and suspended GSTINs will be rejected outright.

Units of measure

The IRP accepts a fixed list of UQC codes. Metres is MTR, pieces is PCS, kilograms is KGS. Your internal “mtr”, “Mtrs” and “M” all have to map to MTR before submission, and if you have been letting people type the unit freehand you will find a dozen variants.

3. The eight fields manufacturers get wrong

Common e-invoice field errors in manufacturing
FieldThe mistakeWhat it should be
Place of supplySet from the buyer’s billing addressSet from where the goods actually go — the ship-to state
Tax splitCGST and SGST used for an out-of-state buyerIGST whenever place of supply differs from your state
Ship-to partyOmitted when goods go direct to the buyer’s customerPopulated separately from bill-to for a bill-to/ship-to sale
RoundingLine totals rounded, then summedSum first, round the invoice total, keep the difference under ₹1
DiscountNetted off the rate silentlyDeclared at line level so taxable value is auditable
Freight and packingAdded as a non-taxable footer lineTreated as part of the composite supply and taxed at the principal rate
Export invoicesMarked as regular B2BMarked EXPWP or EXPWOP, with port code and shipping bill where known
Invoice numberReused across a financial year or a unitUnique per GSTIN per financial year, 16 characters, no leading zero issues

4. Know what comes back, and store all of it

On success the IRP returns the IRN, an acknowledgement number and date, the signed invoice JSON and the signed QR code. If you asked for it in the same call, it also returns the e-way bill number and its validity.

IRP response — success
{
  "AckNo": 172310000481234,
  "AckDt": "2026-08-02 18:41:00",
  "Irn": "a4f81c9e07b2f3d5c8a1904e6b7f2c3d9e5a8b1c4d7f0a2e6b9c3d5f8a1e4d31f6a",
  "SignedInvoice": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjE0…",
  "SignedQRCode": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjE0…",
  "Status": "ACT",
  "EwbNo": 391044728815,
  "EwbDt": "2026-08-02 18:41:00",
  "EwbValidTill": "2026-08-04 23:59:00"
}

Store all of it, not just the IRN. The signed QR is what has to be printed on the invoice, and the signed invoice payload is your evidence of what was actually registered — which matters if your own copy and the portal ever disagree.

Failures come back as a list of codes, and usually more than one at a time.

IRP response — failure
{
  "Success": "N",
  "ErrorDetails": [
    {
      "error_cd": "2172",
      "message": "For inter-state supply, IGST must be charged. CGST and SGST are not applicable."
    },
    {
      "error_cd": "2189",
      "message": "Invalid HSN code for the given item."
    }
  ]
}

Build the retry path before you go live. A failed IRN means the goods cannot legally move, and if that discovery happens at 7pm with a truck waiting, somebody will improvise something you will regret at audit.

5. Decide how the e-way bill fits

You can generate the e-way bill in the same call as the IRN, or separately. For most manufacturers the combined call is right, with one important exception: you need the vehicle number for Part-B, and at invoicing time you often do not have it yet.

  1. Generate the IRN with Part-A only at the point of invoicing — the consignor, consignee, goods and value are all known.
  2. Update Part-B at the gate, when the vehicle is actually loaded and the number is known. This is a separate call and can be done from a phone.
  3. Watch the validity clock. It runs from the time Part-B is completed, not from invoicing — one day per 200 km for regular cargo.
  4. Handle the transhipment case. If the vehicle changes en route, Part-B has to be updated again, and your transporter needs to know that this is their job.

6. Understand the 24-hour rule before you need it

An IRN can be cancelled within 24 hours of generation, and only in full — there is no partial cancellation and no amendment. After 24 hours the only route is a credit note or a debit note, which is a separate document with its own IRN.

Additionally, an IRN cannot be cancelled at all if an active e-way bill exists against it. So the order is: cancel the e-way bill first, then the IRN. Units that learn this at 11pm on a rejection tend to learn it the expensive way.

The checklist, condensed

  • Applicability date confirmed in writing by your CA, based on PAN-level turnover in any year since 2017–18.
  • Every item has a valid HSN at the correct digit length, assigned by someone who knows the product.
  • Every buyer GSTIN validated, with state code matching the address on file.
  • All units of measure mapped to valid UQC codes, with freehand entry removed.
  • Place of supply derived from ship-to, and the CGST/SGST versus IGST decision automated from it.
  • Invoice numbering unique per GSTIN per financial year, 16 characters, generated by the system rather than by a person.
  • Signed QR and signed invoice payload stored against the order, not just the IRN.
  • Retry path built and tested for IRP failures, with someone owning it after hours.
  • E-way bill Part-A at invoicing, Part-B at the gate, with the transporter briefed.
  • Cancellation sequence documented: e-way bill first, then IRN, both within 24 hours.
  • Reporting happening within the 30-day window, ideally at dispatch rather than in a month-end batch.

If you are doing this by hand today, the honest summary is that it is survivable at low volume and becomes a full-time job somewhere around forty consignments a month. Easarc Flow generates the IRN, the QR and the e-way bill from the order that is already in the system, which removes the retyping and most of the failure modes above — here is how that works.

Get started

This is the problem we build for

Easarc Flow, Vision, Deploy and Desk exist because of the things described above. Put one of them in front of a single product line and judge it on what changes.

14-day free trial, no card required. GST extra at 18%.