Softwaller Technologies

Top 10 E-Invoicing Errors & How to Fix Them

Every GSTN rejection has an error code, a real cause, and a precise fix. We compiled the 10 that account for 80% of IRP failures — written for the accountant who has to fix them, not the developer who built the integration.

If you have ever submitted an invoice to the Invoice Registration Portal and received a four-digit error code with no further explanation, this post is for you. The IRP returns approximately 60 distinct error codes, but in practice 10 of them account for the vast majority of real-world rejections. Knowing what each one means and how to fix it is the difference between a 15% rejection rate (typical for new e-invoicing teams) and the sub-1% rate that mature billing operations achieve.

Below are the 10 errors you will actually see, the reason each happens, and the exact corrective action — without developer-speak.

01

Duplicate IRN 2150

Frequency: Very high · Difficulty: Easy
Why it happensThe same combination of supplier GSTIN + financial year + document type + document number has already been submitted to the IRP. Common causes: the billing system retries a failed POST after the first one actually succeeded, or an accountant manually re-uploads an invoice already pushed.
The fixUse the GET-IRN API (or "Get IRN" button on the portal) with the same key fields to fetch the existing IRN. Do not generate a new document number — that breaks reconciliation with your books. If your software shows duplicate-IRN errors more than once a week, fix the retry logic.
02

Recipient GSTIN is Invalid or Inactive 3028 / 3029

Frequency: Very high · Difficulty: Medium
Why it happensThe buyer's GSTIN is suspended, cancelled, or was wrongly entered. Common causes: 15-character GSTIN typed manually with a transposed digit, buyer's registration cancelled but you still have the old GSTIN in your masters, or buyer migrated to a new GSTIN after restructuring.
The fixVerify the GSTIN on gst.gov.in using the "Search Taxpayer" tool. If the GSTIN is "Active", retype it carefully. If it is "Suspended" or "Cancelled", the buyer must regularise their registration first — the IRP will not accept invoices to inactive GSTINs. Update your customer master with the corrected or new GSTIN.
03

Total Item Value Mismatch 2194

Frequency: High · Difficulty: Medium
Why it happensThe sum of line-item values does not equal the invoice total within Re 1 tolerance. Almost always a rounding issue — your software rounds taxes at the invoice level while the IRP expects line-level rounding, or vice versa.
The fixRecalculate every line: (Quantity × UnitPrice) - Discount = Assessable Value, then Assessable × GstRate% = Tax. Round each line independently, then sum. The total invoice value must match the sum of line totals exactly. Set your billing software to use line-level rounding consistently.
04

CGST/SGST or IGST Amount Mismatch 2234 / 2235

Frequency: High · Difficulty: Medium
Why it happensThe tax amount in your invoice does not match the rate applied to the assessable value. Most common cause: wrong place-of-supply (POS) code, which makes the IRP expect IGST when you sent CGST+SGST (or vice versa). Second most common: HSN-rate mismatch.
The fixCheck the POS field. If supplier state and POS state are the same, expect CGST + SGST. If different, expect IGST. The split must be exact: 18% IGST = 9% CGST + 9% SGST, never 8.5% + 9.5%. Verify the GST rate against the HSN code on the GST portal's HSN search tool.
05

Invoice Date Older Than 30 Days 2240

Frequency: Rising fast · Difficulty: Hard
Why it happensFrom April 2025, businesses with turnover above Rs 10 crore must report e-invoices within 30 days of the invoice date. Beyond 30 days, the IRP refuses IRN generation outright. Common cause: end-of-quarter back-fill of skipped invoices, or a system outage during which invoices were generated offline.
The fixUnfortunately, there is no override. The unreported invoice can never get an IRN. The only legal remedy is: (1) issue a credit note (with IRN) cancelling the original, (2) raise a fresh current-dated invoice (with IRN), and (3) notify the buyer so they can claim ITC on the new invoice number. Set up daily automation to catch unreported invoices within 7 days, not 30.
06

HSN Code Invalid or Missing 2172 / 2176

Frequency: Medium · Difficulty: Easy
Why it happensThe HSN/SAC code entered does not exist in the GSTN's master, or you used a 4-digit HSN when the IRP expects 6 digits (mandatory for businesses above Rs 5 crore turnover since April 2021). For services, missing the SAC code or using HSN format instead.
The fixFor goods: use the 6-digit HSN code from the CBIC's HSN directory. For services: use the SAC code (also 6 digits, starting with 99). The IRP validates against the live HSN/SAC master, so always pull the latest list — codes are added and deprecated each year.
07

Invalid Place of Supply 2186

Frequency: Medium · Difficulty: Medium
Why it happensThe two-digit POS state code does not match the recipient's state, or is invalid. Common causes: typing "MH" instead of "27" (POS must be the numeric state code), or sending POS = recipient's billing state when delivery is to a different state.
The fixPOS must always be the two-digit state code (01 to 38). Verify the state code list in the GSTN documentation. For services, POS rules under Section 12 of the IGST Act vary by service type — for goods, POS is the location to which goods are delivered.
08

Document Number Has Special Characters 2156

Frequency: Medium · Difficulty: Easy
Why it happensThe IRP allows only alphanumeric characters, hyphens, and forward slashes in document numbers. Spaces, ampersands, hash signs, or other special characters cause rejection. Maximum length is 16 characters.
The fixStandardise your invoice numbering to a clean format: INV/2026-27/0427 works. Avoid spaces, &, #, *, etc. If your existing numbering uses special characters, sanitise at the API call (replace banned chars with hyphens) without changing your displayed invoice number.
09

Cancelled or Inactive Recipient 2148

Frequency: Medium · Difficulty: Hard
Why it happensThe buyer's GSTIN exists but is in "Cancelled" or "Suspended" status — usually because they failed to file returns for six consecutive months, or the department initiated suo-moto cancellation. You cannot raise an e-invoice to a cancelled GSTIN.
The fixContact the buyer immediately and ask them to either revoke the cancellation (within 30 days, free) or apply for a new registration. In the meantime, you can either (a) hold the supply, or (b) raise a B2C invoice without IRN, but the buyer cannot then claim ITC. The B2B sale path is closed until their GSTIN is restored.
10

Authentication Token Expired 1005 / 1006

Frequency: System-side · Difficulty: Easy
Why it happensThe IRP authentication token expires every 6 hours. If your billing software does not auto-refresh the token, the next API call after expiry fails with this code. Visible to accountants as "Authentication failed — try again", which usually does not recur on retry.
The fixThis is purely a software issue, not a data issue. The billing system should detect expiry and auto-refresh the token in the background. If you are seeing token errors regularly, raise it with your software vendor — it is a one-line fix for them and a daily annoyance for you.

The Pattern Behind the Top 10

If you look at the list, eight of the ten errors fall into one of three buckets:

  1. Master data hygiene — wrong GSTIN, wrong HSN, wrong POS code. Fixed by validating customer and item masters monthly against the GST portal.
  2. Calculation discipline — total mismatches, tax-amount mismatches. Fixed by enforcing line-level rounding and disabling manual override of tax fields.
  3. Process timing — duplicate IRNs from retries, 30-day reporting violations from back-filled invoices. Fixed by submitting invoices to the IRP at creation, not at end-of-month.

This is good news. It means you do not need a 60-page error-handling manual. You need five validations at the billing-screen level, and 80% of IRP rejections never happen in the first place.

The Five Pre-Submission Validations

Build (or insist your billing software builds) the following five checks before the API call to the IRP:

  1. GSTIN format and active-status check on every B2B invoice — match against the GSTN's online verification API at customer onboarding and refresh every 90 days.
  2. Tax auto-calculation from GST rate and assessable value — disable manual tax field overrides except for clearly defined edge cases.
  3. Sum of items = invoice total within Re 1 — block save until reconciled.
  4. Duplicate document number prevention — uniqueness check within the financial year per supplier GSTIN per document type.
  5. Invoice date freshness — block submission if the invoice date is older than 25 days (5-day buffer before the 30-day cap).
The best e-invoicing implementation is the one where the accountant never sees an IRP error code, because the billing software caught the issue before it ever left the building.

What to Do When an Error Slips Through

Even with strong pre-submission validation, some errors will reach the IRP — usually because of buyer-side data changes you could not have known about (a GSTIN cancelled yesterday, an HSN deprecated last week). When that happens:

  1. Read the error message, not just the code. The IRP returns a human-readable description with most rejections.
  2. Fix at source. Update the customer master, the item master, or the calculation logic — not just this one invoice.
  3. Resubmit immediately. The 30-day clock keeps ticking. A rejected invoice that sits unresolved for two weeks is one bad day away from becoming a 30-day-rule problem.
  4. Log the cause. Track every rejection by error code in a monthly report. If 30% of your rejections are 3028 (invalid GSTIN), the fix is not better error handling — it is a customer-master cleanup project.

Beyond Error Handling

Most accounting teams treat IRP rejections as a daily firefight. The teams that scale treat them as a process metric — rejection rate, average time-to-fix, top-3 error codes by month — and run the same five preventive controls described above. The result is the difference between half a person spending three hours a day chasing IRP rejections and an automated billing flow where rejections are a once-a-week curiosity.

The Rs 5 crore threshold will keep dropping. The 30-day rule will extend down. The cost of poor error handling compounds with each new business covered by the mandate. Building rejection-prevention into the billing flow now is the cheapest hour of work you will ever spend on GST compliance.

Frequently Asked Questions

Quick answers to the most common questions about this topic.

What is error code 2150 in e-invoicing?
Error 2150 means duplicate IRN. The same combination of supplier GSTIN, financial year, document type, and document number was already submitted to the IRP. Either fetch the existing IRN using the GET-IRN API, or change the document number and resubmit.
How do I fix GSTIN error 3028 in e-invoicing?
Error 3028 means the recipient GSTIN is invalid or inactive. Verify the GSTIN on the GST portal (gst.gov.in) using the search-by-GSTIN tool. If the GSTIN is suspended or cancelled, the buyer must regularise their registration before you can issue an e-invoice to them.
Why does the IRP reject invoices for total value mismatch (error 2194)?
Error 2194 occurs when the sum of line item values does not equal the invoice total within Re 1 tolerance. This is almost always a rounding issue in the billing software — fix it by recalculating taxes per line item with consistent rounding rules (typically round-half-to-even at the line level, then sum).
How do I avoid e-invoicing errors before they happen?
Build five validations at the billing-screen level: (1) verify recipient GSTIN format and active status before save, (2) auto-calculate taxes from rate and assessable value, (3) cross-check sum of line items vs invoice total, (4) prevent duplicate document numbers within a financial year, and (5) check invoice date is within the 30-day reporting window. These five checks eliminate ~80% of IRP rejections.

Catch Errors Before They Reach the IRP

Our GST billing platform runs all five pre-submission validations automatically. GSTIN status, HSN check, tax recalculation, duplicate prevention, 30-day window — every check runs before the IRP API call. Sub-1% rejection rate, guaranteed.

Explore GST Billing Software    Book a Compliance Audit

Related Articles

IRN Generation Step-by-Step: Complete Guide

JSON schema, three integration paths, the 30-day rule, and rejection codes.

E-Invoicing Penalties India 2026: Fines & How to Avoid Them

Section 122 fines, the 30-day rule, ITC loss to buyers, and a six-control playbook.

Enjoyed this article?
Get practical business software insights delivered to your inbox every week.
Subscribed! Check your inbox.
No spam. Unsubscribe anytime.