Most e-invoice rejections fall into a few groups: duplicate document numbers, invalid or inactive GSTINs, PIN codes that do not match the state, invalid HSN codes, line or invoice totals that do not add up, wrong tax head for the place of supply, date problems including the 30-day limit, and cancellation blocked by an active e-way bill. Fix the master data, then resubmit.
When the Invoice Registration Portal (IRP) rejects an invoice, it returns an error message rather than an IRN. Until you fix it, that invoice is not valid for a business covered by e-invoicing. The good news is that a small set of causes accounts for most rejections, and almost all of them trace back to master data. This guide groups the common errors, explains what each means and gives a fix for each.
Why do e-invoice errors happen?
The IRP validates every request against the e-invoice schema, the GST registration database, the HSN master and its own records of IRNs already issued. An invoice that looks fine on paper can fail because:
- A field is in the wrong format (dates, numbers, codes).
- A value disagrees with GST records (GSTIN status, state code).
- The arithmetic does not reconcile (lines vs totals).
- The document breaks a business rule (duplicate number, 30-day limit, cancellation window).
Understanding the schema helps you read the messages; see e-invoice JSON schema.
Quick reference: common errors and fixes
| Error type | Typical cause | Fix |
|---|---|---|
| Duplicate IRN / document already registered | Same number resubmitted, often after a timeout | Fetch existing IRN by document details; never resubmit |
| Invalid or inactive GSTIN | Typo, cancelled or suspended registration | Verify GSTIN; correct customer master |
| State code does not match GSTIN | Wrong state chosen for buyer or seller | Set state code to first two digits of GSTIN |
| PIN code invalid for state | Old or wrong PIN, or ship-to in another state | Correct PIN in the address master |
| Invalid HSN code | 4-digit or non-existent code; SAC used for goods | Use a valid 6-digit HSN or SAC from the master |
| Line value mismatch | TotAmt ≠ Qty × Rate, or AssAmt ≠ TotAmt − Discount | Recalculate at line level |
| Tax amount mismatch | Tax rounded differently from rate × value | Calculate tax per line; use round-off field |
| Wrong tax head | IGST used for intra-state, or CGST+SGST for inter-state | Check place of supply against seller state |
| Total invoice value mismatch | Sum of lines ≠ ValDtls total | Recompute totals; include other charges and round-off |
| Document date in future or too old | Wrong date, or beyond 30 days for AATO ₹10 crore+ | Correct the date; report promptly |
| Invoice number format | Over 16 characters or invalid symbols | Use letters, digits, "/" and "-" only |
| Cannot cancel IRN | E-way bill active, or 24 hours passed | Cancel e-way bill first; else credit/debit note |
GSTIN, state and PIN errors
These are the most common rejections for growing businesses.
Invalid or inactive buyer GSTIN
The IRP checks that the buyer's GSTIN exists and is active. A single wrong character, a cancelled registration or a suspended one leads to rejection. Use the GSTIN validator when you create the customer, and recheck old customers periodically. If a buyer's registration has been cancelled, the supply is no longer B2B for e-invoice purposes — take advice on how to bill it.
State code and PIN code mismatches
The first two digits of a GSTIN are the state code. If the buyer's state field says 27 (Maharashtra) but the GSTIN begins 29 (Karnataka), the IRP rejects it. Similarly, the PIN code must belong to the declared state. Buyers with branches in several states are a frequent trap: the GSTIN, state and PIN must all describe the same branch.
HSN code errors
The IRP accepts only valid HSN or SAC codes from its master. Businesses with aggregate turnover above ₹5 crore must use 6-digit HSN codes on invoices. Common problems:
- Using a 4-digit chapter heading when a 6-digit code is expected.
- Using a code that does not exist (often a typo).
- Marking a service line as goods, or using an HSN code where a SAC (starting with 99) is needed.
Clean the item master once, using how to find HSN code and the HSN search on the e-invoice portal, and most of these errors disappear.
Arithmetic and value errors
The IRP recalculates key amounts. Rejections happen when:
- Line total ≠ quantity × unit price. Often caused by rates with many decimals rounded differently.
- Taxable value ≠ line total − discount.
- Tax ≠ taxable value × rate, beyond a small tolerance.
- Invoice totals ≠ sum of lines, plus other charges and round-off.
Worked example: a rounding rejection
A Pune spare-parts dealer bills a registered Satara workshop for three items, all at 18% GST (CGST 9% + SGST 9%):
| Item | Qty | Rate | Line value | CGST 9% | SGST 9% |
|---|---|---|---|---|---|
| Bearings | 37 | ₹212.45 | ₹7,860.65 | ₹707.46 | ₹707.46 |
| Oil seals | 120 | ₹48.30 | ₹5,796.00 | ₹521.64 | ₹521.64 |
| Gaskets | 75 | ₹33.15 | ₹2,486.25 | ₹223.76 | ₹223.76 |
| Totals | ₹16,142.90 | ₹1,452.86 | ₹1,452.86 |
Total invoice value = ₹16,142.90 + ₹1,452.86 + ₹1,452.86 = ₹19,048.62, rounded to ₹19,049 with a round-off of ₹0.38.
The dealer's old template calculated tax only on the invoice total: ₹16,142.90 × 9% = ₹1,452.861, shown as ₹1,452.86 — here it happens to agree. But the template also rounded each line value to whole rupees (₹7,861, ₹5,796, ₹2,486) while sending unrounded rates. The IRP's check of 37 × ₹212.45 = ₹7,860.65 did not match ₹7,861, and the request was rejected.
Fix: send line values exactly as quantity × rate, calculate tax per line to two decimals, and put the final rupee rounding in the round-off field. Use the GST calculator to cross-check.
Tax head and place-of-supply errors
The IRP compares the seller's state with the place of supply:
- Same state: CGST + SGST (or CGST + UTGST).
- Different state, SEZ or export: IGST.
If the wrong head is used, the request fails. This often happens with bill-to/ship-to invoices where the ship-to state differs, or with SEZ buyers located in the seller's own state — SEZ supplies are always treated as inter-state.
Duplicate and timing errors
Duplicate document
The IRN is a hash of supplier GSTIN, financial year, document type and number, so the same number cannot be registered twice — even after cancellation. If your system timed out, fetch the IRN instead of resending. If the old IRN was cancelled, issue the replacement under a new number. See how to generate IRN.
Reporting window
For businesses with AATO of ₹10 crore and above, the IRP blocks invoices, credit notes and debit notes older than 30 days from the reporting date. There is no portal fix for this error; prevention is the only cure. See the 30-day reporting limit.
Cancellation errors
Cancellation fails when more than 24 hours have passed or when an active e-way bill exists. See cancel e-invoice.
Errors specific to credit notes, exports and SEZ invoices
Some errors only appear on special documents.
- Credit/debit notes without a reference. Fill the preceding-document section with the original invoice number and date. Missing references make reconciliation harder for the buyer and can fail validation.
- Credit note for an invoice issued to a different GSTIN. The note must go to the same buyer GSTIN as the original invoice.
- Exports with a buyer GSTIN. Export buyers use "URP" as GSTIN and the "other country" code for state and place of supply; using an Indian state code causes rejection.
- Exports with the wrong supply type. EXPWP (with payment) must carry IGST; EXPWOP (under LUT) must carry zero tax.
- SEZ supplies taxed as CGST + SGST. SEZ supplies are inter-state, so only IGST may appear, or none for supplies without payment.
| Document | Most frequent error | Prevention |
|---|---|---|
| Credit note | No preceding-invoice reference | Create notes from the original invoice in your software |
| Export invoice | State code instead of "other country" | Separate export customer template |
| SEZ invoice | Intra-state tax heads | Flag SEZ customers in the master |
A troubleshooting routine that works
- Read the message and identify the field or section named.
- Classify it: master data, arithmetic, business rule or system issue.
- Fix at source — the customer, item or tax setting — not just this invoice.
- Check for duplicates before resubmitting anything that may have gone through.
- Resubmit and confirm the IRN is stored on the invoice.
- Log the error type weekly; repeated types point to a training or setup gap.
Billing Software by Betterwork validates GSTIN format, state-PIN consistency and line arithmetic before submission, which stops many of these errors before the IRP sees them.
How to triage a batch of rejected invoices
When a bulk upload returns many errors at once, work through them in a fixed order instead of fixing them one at a time as they appear:
- Group by error code. Twenty rejections often share two or three causes, such as one wrong state code or one bad HSN in a product master.
- Fix master data first. Correct the customer, product or tax-rate record that produced the error, so the next invoice does not fail the same way.
- Re-check arithmetic. Taxable value, tax amounts and totals must agree line by line and in the invoice total.
- Resubmit the oldest documents first, especially if your AATO is ₹10 crore or more and the 30-day window applies.
- Record what changed. A one-line note per fix helps when the same error appears next month.
Common mistakes when handling rejections
- Resubmitting blindly after a timeout and creating duplicate errors.
- Editing the total by hand to "make it match", which shifts the error elsewhere.
- Correcting the invoice but not the master, so the error repeats.
- Changing the invoice number to escape a duplicate error when an IRN already exists.
- Leaving rejected invoices for month-end, risking the 30-day limit.
- Printing and dispatching before the IRN is received.
Key takeaways
- Most rejections come from GSTIN, state/PIN, HSN, arithmetic, tax-head, duplicate and date errors.
- Fix errors in master data, not just on the single invoice.
- Never resubmit after a timeout — fetch the IRN by document details.
- Calculate values and tax per line and use the round-off field for final rounding.
- For ₹10 crore+ businesses, unresolved rejections can run into the 30-day reporting limit.
This guide is general information, not tax advice. Rules last checked on 20 October 2026; confirm with your tax professional for your situation.
